@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large, .checkout-shipping-method button.reveal.continue, .checkout-container button.reveal.checkout {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  margin: 0;
  padding: 0;
  background: #F1F4f6;
  font-family: "ITCFranklinGothic", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

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

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

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 79.5rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 1rem;
      padding-left: 1rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 1rem;
        padding-left: 1rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x, footer .footer-navigation-wrapper, footer .footer-navigation-wrapper .accordion-menu, .footer-customer-club .newsletter form.subscribe {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell, footer .footer-navigation-wrapper .footer-navigation,
footer .footer-navigation-wrapper .footer-contact-info, .footer-customer-club .actions .subscribe {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto, footer .footer-navigation-wrapper .auto.footer-navigation,
  footer .footer-navigation-wrapper .auto.footer-contact-info, .footer-customer-club .actions .subscribe {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink, footer .footer-navigation-wrapper .shrink.footer-navigation,
  footer .footer-navigation-wrapper .shrink.footer-contact-info, .footer-customer-club .actions .shrink.subscribe {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto, footer .footer-navigation-wrapper > .auto, footer .footer-navigation-wrapper .accordion-menu > .auto, .footer-customer-club .newsletter form.subscribe > .auto, .footer-customer-club .actions .grid-x > .subscribe, footer .footer-customer-club .actions .footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .footer-navigation-wrapper > .subscribe, footer .footer-navigation-wrapper .footer-customer-club .actions .accordion-menu > .subscribe, .footer-customer-club .actions footer .footer-navigation-wrapper .accordion-menu > .subscribe, .footer-customer-club .newsletter .actions form.subscribe > .subscribe, .footer-customer-club .actions .newsletter form.subscribe > .subscribe {
  width: auto; }

.grid-x > .shrink, footer .footer-navigation-wrapper > .shrink, footer .footer-navigation-wrapper .accordion-menu > .shrink, .footer-customer-club .newsletter form.subscribe > .shrink {
  width: auto; }

.grid-x > .small-shrink, footer .footer-navigation-wrapper > .small-shrink, footer .footer-navigation-wrapper .accordion-menu > .small-shrink, .footer-customer-club .newsletter form.subscribe > .small-shrink, .grid-x > .small-full, footer .footer-navigation-wrapper > .small-full, footer .footer-navigation-wrapper .accordion-menu > .small-full, .footer-customer-club .newsletter form.subscribe > .small-full, .grid-x > .small-1, footer .footer-navigation-wrapper > .small-1, footer .footer-navigation-wrapper .accordion-menu > .small-1, .footer-customer-club .newsletter form.subscribe > .small-1, .grid-x > .small-2, footer .footer-navigation-wrapper > .small-2, footer .footer-navigation-wrapper .accordion-menu > .small-2, .footer-customer-club .newsletter form.subscribe > .small-2, .grid-x > .small-3, footer .footer-navigation-wrapper > .small-3, footer .footer-navigation-wrapper .accordion-menu > .small-3, .footer-customer-club .newsletter form.subscribe > .small-3, .grid-x > .small-4, footer .footer-navigation-wrapper > .small-4, footer .footer-navigation-wrapper .accordion-menu > .small-4, .footer-customer-club .newsletter form.subscribe > .small-4, .grid-x > .small-5, footer .footer-navigation-wrapper > .small-5, footer .footer-navigation-wrapper .accordion-menu > .small-5, .footer-customer-club .newsletter form.subscribe > .small-5, .grid-x > .small-6, footer .footer-navigation-wrapper > .small-6, footer .footer-navigation-wrapper .accordion-menu > .small-6, .footer-customer-club .newsletter form.subscribe > .small-6, .grid-x > .small-7, footer .footer-navigation-wrapper > .small-7, footer .footer-navigation-wrapper .accordion-menu > .small-7, .footer-customer-club .newsletter form.subscribe > .small-7, .grid-x > .small-8, footer .footer-navigation-wrapper > .small-8, footer .footer-navigation-wrapper .accordion-menu > .small-8, .footer-customer-club .newsletter form.subscribe > .small-8, .grid-x > .small-9, footer .footer-navigation-wrapper > .small-9, footer .footer-navigation-wrapper .accordion-menu > .small-9, .footer-customer-club .newsletter form.subscribe > .small-9, .grid-x > .small-10, footer .footer-navigation-wrapper > .small-10, footer .footer-navigation-wrapper .accordion-menu > .small-10, .footer-customer-club .newsletter form.subscribe > .small-10, .grid-x > .small-11, footer .footer-navigation-wrapper > .small-11, footer .footer-navigation-wrapper .accordion-menu > .small-11, .footer-customer-club .newsletter form.subscribe > .small-11, .grid-x > .small-12, footer .footer-navigation-wrapper > .small-12, footer .footer-navigation-wrapper .accordion-menu > .small-12, .footer-customer-club .newsletter form.subscribe > .small-12, footer .footer-navigation-wrapper .grid-x > .footer-navigation, footer .footer-navigation-wrapper > .footer-navigation, footer .footer-navigation-wrapper .accordion-menu > .footer-navigation, .footer-customer-club .newsletter footer .footer-navigation-wrapper form.subscribe > .footer-navigation, footer .footer-navigation-wrapper .footer-customer-club .newsletter form.subscribe > .footer-navigation,
footer .footer-navigation-wrapper .grid-x > .footer-contact-info,
footer .footer-navigation-wrapper > .footer-contact-info,
footer .footer-navigation-wrapper .accordion-menu > .footer-contact-info,
.footer-customer-club .newsletter footer .footer-navigation-wrapper form.subscribe > .footer-contact-info, footer .footer-navigation-wrapper .footer-customer-club .newsletter form.subscribe > .footer-contact-info {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, footer .footer-navigation-wrapper > .medium-shrink, footer .footer-navigation-wrapper .accordion-menu > .medium-shrink, .footer-customer-club .newsletter form.subscribe > .medium-shrink, .grid-x > .medium-full, footer .footer-navigation-wrapper > .medium-full, footer .footer-navigation-wrapper .accordion-menu > .medium-full, .footer-customer-club .newsletter form.subscribe > .medium-full, .grid-x > .medium-1, footer .footer-navigation-wrapper > .medium-1, footer .footer-navigation-wrapper .accordion-menu > .medium-1, .footer-customer-club .newsletter form.subscribe > .medium-1, .grid-x > .medium-2, footer .footer-navigation-wrapper > .medium-2, footer .footer-navigation-wrapper .accordion-menu > .medium-2, .footer-customer-club .newsletter form.subscribe > .medium-2, .grid-x > .medium-3, footer .footer-navigation-wrapper > .medium-3, footer .footer-navigation-wrapper .accordion-menu > .medium-3, .footer-customer-club .newsletter form.subscribe > .medium-3, .grid-x > .medium-4, footer .footer-navigation-wrapper > .medium-4, footer .footer-navigation-wrapper .accordion-menu > .medium-4, .footer-customer-club .newsletter form.subscribe > .medium-4, footer .footer-navigation-wrapper .accordion-menu .grid-x > li, footer .footer-navigation-wrapper .accordion-menu .footer-navigation-wrapper > li, footer .footer-navigation-wrapper .accordion-menu > li, .footer-customer-club .newsletter footer .footer-navigation-wrapper .accordion-menu form.subscribe > li, footer .footer-navigation-wrapper .accordion-menu .footer-customer-club .newsletter form.subscribe > li, .grid-x > .medium-5, footer .footer-navigation-wrapper > .medium-5, footer .footer-navigation-wrapper .accordion-menu > .medium-5, .footer-customer-club .newsletter form.subscribe > .medium-5, .grid-x > .medium-6, footer .footer-navigation-wrapper > .medium-6, footer .footer-navigation-wrapper .accordion-menu > .medium-6, .footer-customer-club .newsletter form.subscribe > .medium-6, footer .footer-navigation-wrapper .grid-x > .footer-navigation, footer .footer-navigation-wrapper > .footer-navigation, footer .footer-navigation-wrapper .accordion-menu > .footer-navigation, .footer-customer-club .newsletter footer .footer-navigation-wrapper form.subscribe > .footer-navigation, footer .footer-navigation-wrapper .footer-customer-club .newsletter form.subscribe > .footer-navigation,
  footer .footer-navigation-wrapper .grid-x > .footer-contact-info,
  footer .footer-navigation-wrapper > .footer-contact-info,
  footer .footer-navigation-wrapper .accordion-menu > .footer-contact-info,
  .footer-customer-club .newsletter footer .footer-navigation-wrapper form.subscribe > .footer-contact-info, footer .footer-navigation-wrapper .footer-customer-club .newsletter form.subscribe > .footer-contact-info, .grid-x > .medium-7, footer .footer-navigation-wrapper > .medium-7, footer .footer-navigation-wrapper .accordion-menu > .medium-7, .footer-customer-club .newsletter form.subscribe > .medium-7, .grid-x > .medium-8, footer .footer-navigation-wrapper > .medium-8, footer .footer-navigation-wrapper .accordion-menu > .medium-8, .footer-customer-club .newsletter form.subscribe > .medium-8, .grid-x > .medium-9, footer .footer-navigation-wrapper > .medium-9, footer .footer-navigation-wrapper .accordion-menu > .medium-9, .footer-customer-club .newsletter form.subscribe > .medium-9, .footer-customer-club .grid-x > .field.newsletter, footer .footer-customer-club .footer-navigation-wrapper > .field.newsletter, .footer-customer-club footer .footer-navigation-wrapper > .field.newsletter, footer .footer-navigation-wrapper .footer-customer-club .accordion-menu > .field.newsletter, .footer-customer-club footer .footer-navigation-wrapper .accordion-menu > .field.newsletter, .footer-customer-club .newsletter form.subscribe > .field.newsletter, .grid-x > .medium-10, footer .footer-navigation-wrapper > .medium-10, footer .footer-navigation-wrapper .accordion-menu > .medium-10, .footer-customer-club .newsletter form.subscribe > .medium-10, .grid-x > .medium-11, footer .footer-navigation-wrapper > .medium-11, footer .footer-navigation-wrapper .accordion-menu > .medium-11, .footer-customer-club .newsletter form.subscribe > .medium-11, .grid-x > .medium-12, footer .footer-navigation-wrapper > .medium-12, footer .footer-navigation-wrapper .accordion-menu > .medium-12, .footer-customer-club .newsletter form.subscribe > .medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, footer .footer-navigation-wrapper > .large-shrink, footer .footer-navigation-wrapper .accordion-menu > .large-shrink, .footer-customer-club .newsletter form.subscribe > .large-shrink, .grid-x > .large-full, footer .footer-navigation-wrapper > .large-full, footer .footer-navigation-wrapper .accordion-menu > .large-full, .footer-customer-club .newsletter form.subscribe > .large-full, .grid-x > .large-1, footer .footer-navigation-wrapper > .large-1, footer .footer-navigation-wrapper .accordion-menu > .large-1, .footer-customer-club .newsletter form.subscribe > .large-1, .grid-x > .large-2, footer .footer-navigation-wrapper > .large-2, footer .footer-navigation-wrapper .accordion-menu > .large-2, .footer-customer-club .newsletter form.subscribe > .large-2, .grid-x > .large-3, footer .footer-navigation-wrapper > .large-3, footer .footer-navigation-wrapper .accordion-menu > .large-3, .footer-customer-club .newsletter form.subscribe > .large-3, .grid-x > .large-4, footer .footer-navigation-wrapper > .large-4, footer .footer-navigation-wrapper .accordion-menu > .large-4, .footer-customer-club .newsletter form.subscribe > .large-4, .grid-x > .large-5, footer .footer-navigation-wrapper > .large-5, footer .footer-navigation-wrapper .accordion-menu > .large-5, .footer-customer-club .newsletter form.subscribe > .large-5, .grid-x > .large-6, footer .footer-navigation-wrapper > .large-6, footer .footer-navigation-wrapper .accordion-menu > .large-6, .footer-customer-club .newsletter form.subscribe > .large-6, .grid-x > .large-7, footer .footer-navigation-wrapper > .large-7, footer .footer-navigation-wrapper .accordion-menu > .large-7, .footer-customer-club .newsletter form.subscribe > .large-7, .grid-x > .large-8, footer .footer-navigation-wrapper > .large-8, footer .footer-navigation-wrapper .accordion-menu > .large-8, .footer-customer-club .newsletter form.subscribe > .large-8, .grid-x > .large-9, footer .footer-navigation-wrapper > .large-9, footer .footer-navigation-wrapper .accordion-menu > .large-9, .footer-customer-club .newsletter form.subscribe > .large-9, .grid-x > .large-10, footer .footer-navigation-wrapper > .large-10, footer .footer-navigation-wrapper .accordion-menu > .large-10, .footer-customer-club .newsletter form.subscribe > .large-10, .grid-x > .large-11, footer .footer-navigation-wrapper > .large-11, footer .footer-navigation-wrapper .accordion-menu > .large-11, .footer-customer-club .newsletter form.subscribe > .large-11, .grid-x > .large-12, footer .footer-navigation-wrapper > .large-12, footer .footer-navigation-wrapper .accordion-menu > .large-12, .footer-customer-club .newsletter form.subscribe > .large-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

.grid-x > .small-1, footer .footer-navigation-wrapper > .small-1, footer .footer-navigation-wrapper .accordion-menu > .small-1, .footer-customer-club .newsletter form.subscribe > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2, footer .footer-navigation-wrapper > .small-2, footer .footer-navigation-wrapper .accordion-menu > .small-2, .footer-customer-club .newsletter form.subscribe > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3, footer .footer-navigation-wrapper > .small-3, footer .footer-navigation-wrapper .accordion-menu > .small-3, .footer-customer-club .newsletter form.subscribe > .small-3 {
  width: 25%; }

.grid-x > .small-4, footer .footer-navigation-wrapper > .small-4, footer .footer-navigation-wrapper .accordion-menu > .small-4, .footer-customer-club .newsletter form.subscribe > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5, footer .footer-navigation-wrapper > .small-5, footer .footer-navigation-wrapper .accordion-menu > .small-5, .footer-customer-club .newsletter form.subscribe > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6, footer .footer-navigation-wrapper > .small-6, footer .footer-navigation-wrapper .accordion-menu > .small-6, .footer-customer-club .newsletter form.subscribe > .small-6 {
  width: 50%; }

.grid-x > .small-7, footer .footer-navigation-wrapper > .small-7, footer .footer-navigation-wrapper .accordion-menu > .small-7, .footer-customer-club .newsletter form.subscribe > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8, footer .footer-navigation-wrapper > .small-8, footer .footer-navigation-wrapper .accordion-menu > .small-8, .footer-customer-club .newsletter form.subscribe > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9, footer .footer-navigation-wrapper > .small-9, footer .footer-navigation-wrapper .accordion-menu > .small-9, .footer-customer-club .newsletter form.subscribe > .small-9 {
  width: 75%; }

.grid-x > .small-10, footer .footer-navigation-wrapper > .small-10, footer .footer-navigation-wrapper .accordion-menu > .small-10, .footer-customer-club .newsletter form.subscribe > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11, footer .footer-navigation-wrapper > .small-11, footer .footer-navigation-wrapper .accordion-menu > .small-11, .footer-customer-club .newsletter form.subscribe > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12, footer .footer-navigation-wrapper > .small-12, footer .footer-navigation-wrapper .accordion-menu > .small-12, .footer-customer-club .newsletter form.subscribe > .small-12, footer .footer-navigation-wrapper .grid-x > .footer-navigation, footer .footer-navigation-wrapper > .footer-navigation, footer .footer-navigation-wrapper .accordion-menu > .footer-navigation, .footer-customer-club .newsletter footer .footer-navigation-wrapper form.subscribe > .footer-navigation, footer .footer-navigation-wrapper .footer-customer-club .newsletter form.subscribe > .footer-navigation,
footer .footer-navigation-wrapper .grid-x > .footer-contact-info,
footer .footer-navigation-wrapper > .footer-contact-info,
footer .footer-navigation-wrapper .accordion-menu > .footer-contact-info,
.footer-customer-club .newsletter footer .footer-navigation-wrapper form.subscribe > .footer-contact-info, footer .footer-navigation-wrapper .footer-customer-club .newsletter form.subscribe > .footer-contact-info {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto, footer .footer-navigation-wrapper > .medium-auto, footer .footer-navigation-wrapper .accordion-menu > .medium-auto, .footer-customer-club .newsletter form.subscribe > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink, footer .footer-navigation-wrapper > .medium-shrink, footer .footer-navigation-wrapper .accordion-menu > .medium-shrink, .footer-customer-club .newsletter form.subscribe > .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1, footer .footer-navigation-wrapper > .medium-1, footer .footer-navigation-wrapper .accordion-menu > .medium-1, .footer-customer-club .newsletter form.subscribe > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2, footer .footer-navigation-wrapper > .medium-2, footer .footer-navigation-wrapper .accordion-menu > .medium-2, .footer-customer-club .newsletter form.subscribe > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3, footer .footer-navigation-wrapper > .medium-3, footer .footer-navigation-wrapper .accordion-menu > .medium-3, .footer-customer-club .newsletter form.subscribe > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4, footer .footer-navigation-wrapper > .medium-4, footer .footer-navigation-wrapper .accordion-menu > .medium-4, .footer-customer-club .newsletter form.subscribe > .medium-4, footer .footer-navigation-wrapper .accordion-menu .grid-x > li, footer .footer-navigation-wrapper .accordion-menu .footer-navigation-wrapper > li, footer .footer-navigation-wrapper .accordion-menu > li, .footer-customer-club .newsletter footer .footer-navigation-wrapper .accordion-menu form.subscribe > li, footer .footer-navigation-wrapper .accordion-menu .footer-customer-club .newsletter form.subscribe > li {
    width: 33.33333%; }
  .grid-x > .medium-5, footer .footer-navigation-wrapper > .medium-5, footer .footer-navigation-wrapper .accordion-menu > .medium-5, .footer-customer-club .newsletter form.subscribe > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6, footer .footer-navigation-wrapper > .medium-6, footer .footer-navigation-wrapper .accordion-menu > .medium-6, .footer-customer-club .newsletter form.subscribe > .medium-6, footer .footer-navigation-wrapper .grid-x > .footer-navigation, footer .footer-navigation-wrapper > .footer-navigation, footer .footer-navigation-wrapper .accordion-menu > .footer-navigation, .footer-customer-club .newsletter footer .footer-navigation-wrapper form.subscribe > .footer-navigation, footer .footer-navigation-wrapper .footer-customer-club .newsletter form.subscribe > .footer-navigation,
  footer .footer-navigation-wrapper .grid-x > .footer-contact-info,
  footer .footer-navigation-wrapper > .footer-contact-info,
  footer .footer-navigation-wrapper .accordion-menu > .footer-contact-info,
  .footer-customer-club .newsletter footer .footer-navigation-wrapper form.subscribe > .footer-contact-info, footer .footer-navigation-wrapper .footer-customer-club .newsletter form.subscribe > .footer-contact-info {
    width: 50%; }
  .grid-x > .medium-7, footer .footer-navigation-wrapper > .medium-7, footer .footer-navigation-wrapper .accordion-menu > .medium-7, .footer-customer-club .newsletter form.subscribe > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8, footer .footer-navigation-wrapper > .medium-8, footer .footer-navigation-wrapper .accordion-menu > .medium-8, .footer-customer-club .newsletter form.subscribe > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9, footer .footer-navigation-wrapper > .medium-9, footer .footer-navigation-wrapper .accordion-menu > .medium-9, .footer-customer-club .newsletter form.subscribe > .medium-9, .footer-customer-club .grid-x > .field.newsletter, footer .footer-customer-club .footer-navigation-wrapper > .field.newsletter, .footer-customer-club footer .footer-navigation-wrapper > .field.newsletter, footer .footer-navigation-wrapper .footer-customer-club .accordion-menu > .field.newsletter, .footer-customer-club footer .footer-navigation-wrapper .accordion-menu > .field.newsletter, .footer-customer-club .newsletter form.subscribe > .field.newsletter {
    width: 75%; }
  .grid-x > .medium-10, footer .footer-navigation-wrapper > .medium-10, footer .footer-navigation-wrapper .accordion-menu > .medium-10, .footer-customer-club .newsletter form.subscribe > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11, footer .footer-navigation-wrapper > .medium-11, footer .footer-navigation-wrapper .accordion-menu > .medium-11, .footer-customer-club .newsletter form.subscribe > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12, footer .footer-navigation-wrapper > .medium-12, footer .footer-navigation-wrapper .accordion-menu > .medium-12, .footer-customer-club .newsletter form.subscribe > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto, footer .footer-navigation-wrapper > .large-auto, footer .footer-navigation-wrapper .accordion-menu > .large-auto, .footer-customer-club .newsletter form.subscribe > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink, footer .footer-navigation-wrapper > .large-shrink, footer .footer-navigation-wrapper .accordion-menu > .large-shrink, .footer-customer-club .newsletter form.subscribe > .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1, footer .footer-navigation-wrapper > .large-1, footer .footer-navigation-wrapper .accordion-menu > .large-1, .footer-customer-club .newsletter form.subscribe > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2, footer .footer-navigation-wrapper > .large-2, footer .footer-navigation-wrapper .accordion-menu > .large-2, .footer-customer-club .newsletter form.subscribe > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3, footer .footer-navigation-wrapper > .large-3, footer .footer-navigation-wrapper .accordion-menu > .large-3, .footer-customer-club .newsletter form.subscribe > .large-3 {
    width: 25%; }
  .grid-x > .large-4, footer .footer-navigation-wrapper > .large-4, footer .footer-navigation-wrapper .accordion-menu > .large-4, .footer-customer-club .newsletter form.subscribe > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5, footer .footer-navigation-wrapper > .large-5, footer .footer-navigation-wrapper .accordion-menu > .large-5, .footer-customer-club .newsletter form.subscribe > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6, footer .footer-navigation-wrapper > .large-6, footer .footer-navigation-wrapper .accordion-menu > .large-6, .footer-customer-club .newsletter form.subscribe > .large-6 {
    width: 50%; }
  .grid-x > .large-7, footer .footer-navigation-wrapper > .large-7, footer .footer-navigation-wrapper .accordion-menu > .large-7, .footer-customer-club .newsletter form.subscribe > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8, footer .footer-navigation-wrapper > .large-8, footer .footer-navigation-wrapper .accordion-menu > .large-8, .footer-customer-club .newsletter form.subscribe > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9, footer .footer-navigation-wrapper > .large-9, footer .footer-navigation-wrapper .accordion-menu > .large-9, .footer-customer-club .newsletter form.subscribe > .large-9 {
    width: 75%; }
  .grid-x > .large-10, footer .footer-navigation-wrapper > .large-10, footer .footer-navigation-wrapper .accordion-menu > .large-10, .footer-customer-club .newsletter form.subscribe > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11, footer .footer-navigation-wrapper > .large-11, footer .footer-navigation-wrapper .accordion-menu > .large-11, .footer-customer-club .newsletter form.subscribe > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12, footer .footer-navigation-wrapper > .large-12, footer .footer-navigation-wrapper .accordion-menu > .large-12, .footer-customer-club .newsletter form.subscribe > .large-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell, footer .footer-navigation-wrapper:not(.grid-x) > .cell, footer .footer-navigation-wrapper .grid-margin-x:not(.grid-x) > .footer-navigation, footer .footer-navigation-wrapper:not(.grid-x) > .footer-navigation,
footer .footer-navigation-wrapper .grid-margin-x:not(.grid-x) > .footer-contact-info,
footer .footer-navigation-wrapper:not(.grid-x) > .footer-contact-info, .footer-customer-club .actions .grid-margin-x:not(.grid-x) > .subscribe, footer .footer-customer-club .actions .footer-navigation-wrapper:not(.grid-x) > .subscribe, .footer-customer-club .actions footer .footer-navigation-wrapper:not(.grid-x) > .subscribe {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell, footer .footer-navigation-wrapper .grid-margin-y:not(.grid-y) > .footer-navigation,
footer .footer-navigation-wrapper .grid-margin-y:not(.grid-y) > .footer-contact-info, .footer-customer-club .actions .grid-margin-y:not(.grid-y) > .subscribe {
  height: auto; }

.grid-margin-x, footer .footer-navigation-wrapper {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x, footer .footer-navigation-wrapper {
      margin-left: -1rem;
      margin-right: -1rem; } }
  .grid-margin-x > .cell, footer .footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x > .footer-navigation, footer .footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x > .footer-contact-info,
  footer .footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x > .subscribe, footer .footer-customer-club .actions .footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .footer-navigation-wrapper > .subscribe {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell, footer .footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x > .footer-navigation, footer .footer-navigation-wrapper > .footer-navigation,
    footer .footer-navigation-wrapper .grid-margin-x > .footer-contact-info,
    footer .footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x > .subscribe, footer .footer-customer-club .actions .footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .footer-navigation-wrapper > .subscribe {
      width: calc(100% - 2rem);
      margin-left: 1rem;
      margin-right: 1rem; } }
  .grid-margin-x > .auto, footer .footer-navigation-wrapper > .auto, .footer-customer-club .actions .grid-margin-x > .subscribe, footer .footer-customer-club .actions .footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .footer-navigation-wrapper > .subscribe {
    width: auto; }
  .grid-margin-x > .shrink, footer .footer-navigation-wrapper > .shrink {
    width: auto; }
  .grid-margin-x > .small-1, footer .footer-navigation-wrapper > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2, footer .footer-navigation-wrapper > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3, footer .footer-navigation-wrapper > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4, footer .footer-navigation-wrapper > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5, footer .footer-navigation-wrapper > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6, footer .footer-navigation-wrapper > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7, footer .footer-navigation-wrapper > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8, footer .footer-navigation-wrapper > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9, footer .footer-navigation-wrapper > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10, footer .footer-navigation-wrapper > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11, footer .footer-navigation-wrapper > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12, footer .footer-navigation-wrapper > .small-12, footer .footer-navigation-wrapper .grid-margin-x > .footer-navigation, footer .footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x > .footer-contact-info,
  footer .footer-navigation-wrapper > .footer-contact-info {
    width: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto, footer .footer-navigation-wrapper > .auto, .footer-customer-club .actions .grid-margin-x > .subscribe, footer .footer-customer-club .actions .footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .footer-navigation-wrapper > .subscribe {
      width: auto; }
    .grid-margin-x > .shrink, footer .footer-navigation-wrapper > .shrink {
      width: auto; }
    .grid-margin-x > .small-1, footer .footer-navigation-wrapper > .small-1 {
      width: calc(8.33333% - 2rem); }
    .grid-margin-x > .small-2, footer .footer-navigation-wrapper > .small-2 {
      width: calc(16.66667% - 2rem); }
    .grid-margin-x > .small-3, footer .footer-navigation-wrapper > .small-3 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .small-4, footer .footer-navigation-wrapper > .small-4 {
      width: calc(33.33333% - 2rem); }
    .grid-margin-x > .small-5, footer .footer-navigation-wrapper > .small-5 {
      width: calc(41.66667% - 2rem); }
    .grid-margin-x > .small-6, footer .footer-navigation-wrapper > .small-6 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .small-7, footer .footer-navigation-wrapper > .small-7 {
      width: calc(58.33333% - 2rem); }
    .grid-margin-x > .small-8, footer .footer-navigation-wrapper > .small-8 {
      width: calc(66.66667% - 2rem); }
    .grid-margin-x > .small-9, footer .footer-navigation-wrapper > .small-9 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .small-10, footer .footer-navigation-wrapper > .small-10 {
      width: calc(83.33333% - 2rem); }
    .grid-margin-x > .small-11, footer .footer-navigation-wrapper > .small-11 {
      width: calc(91.66667% - 2rem); }
    .grid-margin-x > .small-12, footer .footer-navigation-wrapper > .small-12, footer .footer-navigation-wrapper .grid-margin-x > .footer-navigation, footer .footer-navigation-wrapper > .footer-navigation,
    footer .footer-navigation-wrapper .grid-margin-x > .footer-contact-info,
    footer .footer-navigation-wrapper > .footer-contact-info {
      width: calc(100% - 2rem); }
    .grid-margin-x > .medium-auto, footer .footer-navigation-wrapper > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink, footer .footer-navigation-wrapper > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1, footer .footer-navigation-wrapper > .medium-1 {
      width: calc(8.33333% - 2rem); }
    .grid-margin-x > .medium-2, footer .footer-navigation-wrapper > .medium-2 {
      width: calc(16.66667% - 2rem); }
    .grid-margin-x > .medium-3, footer .footer-navigation-wrapper > .medium-3 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .medium-4, footer .footer-navigation-wrapper > .medium-4, footer .footer-navigation-wrapper .accordion-menu .grid-margin-x > li, footer .footer-navigation-wrapper .accordion-menu .footer-navigation-wrapper > li {
      width: calc(33.33333% - 2rem); }
    .grid-margin-x > .medium-5, footer .footer-navigation-wrapper > .medium-5 {
      width: calc(41.66667% - 2rem); }
    .grid-margin-x > .medium-6, footer .footer-navigation-wrapper > .medium-6, footer .footer-navigation-wrapper .grid-margin-x > .footer-navigation, footer .footer-navigation-wrapper > .footer-navigation,
    footer .footer-navigation-wrapper .grid-margin-x > .footer-contact-info,
    footer .footer-navigation-wrapper > .footer-contact-info {
      width: calc(50% - 2rem); }
    .grid-margin-x > .medium-7, footer .footer-navigation-wrapper > .medium-7 {
      width: calc(58.33333% - 2rem); }
    .grid-margin-x > .medium-8, footer .footer-navigation-wrapper > .medium-8 {
      width: calc(66.66667% - 2rem); }
    .grid-margin-x > .medium-9, footer .footer-navigation-wrapper > .medium-9, .footer-customer-club .grid-margin-x > .field.newsletter, footer .footer-customer-club .footer-navigation-wrapper > .field.newsletter, .footer-customer-club footer .footer-navigation-wrapper > .field.newsletter {
      width: calc(75% - 2rem); }
    .grid-margin-x > .medium-10, footer .footer-navigation-wrapper > .medium-10 {
      width: calc(83.33333% - 2rem); }
    .grid-margin-x > .medium-11, footer .footer-navigation-wrapper > .medium-11 {
      width: calc(91.66667% - 2rem); }
    .grid-margin-x > .medium-12, footer .footer-navigation-wrapper > .medium-12 {
      width: calc(100% - 2rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto, footer .footer-navigation-wrapper > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink, footer .footer-navigation-wrapper > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1, footer .footer-navigation-wrapper > .large-1 {
      width: calc(8.33333% - 2rem); }
    .grid-margin-x > .large-2, footer .footer-navigation-wrapper > .large-2 {
      width: calc(16.66667% - 2rem); }
    .grid-margin-x > .large-3, footer .footer-navigation-wrapper > .large-3 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .large-4, footer .footer-navigation-wrapper > .large-4 {
      width: calc(33.33333% - 2rem); }
    .grid-margin-x > .large-5, footer .footer-navigation-wrapper > .large-5 {
      width: calc(41.66667% - 2rem); }
    .grid-margin-x > .large-6, footer .footer-navigation-wrapper > .large-6 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .large-7, footer .footer-navigation-wrapper > .large-7 {
      width: calc(58.33333% - 2rem); }
    .grid-margin-x > .large-8, footer .footer-navigation-wrapper > .large-8 {
      width: calc(66.66667% - 2rem); }
    .grid-margin-x > .large-9, footer .footer-navigation-wrapper > .large-9 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .large-10, footer .footer-navigation-wrapper > .large-10 {
      width: calc(83.33333% - 2rem); }
    .grid-margin-x > .large-11, footer .footer-navigation-wrapper > .large-11 {
      width: calc(91.66667% - 2rem); }
    .grid-margin-x > .large-12, footer .footer-navigation-wrapper > .large-12 {
      width: calc(100% - 2rem); } }

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

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -1rem;
      margin-left: -1rem; } }

.grid-padding-x > .cell, footer .footer-navigation-wrapper .grid-padding-x > .footer-navigation,
footer .footer-navigation-wrapper .grid-padding-x > .footer-contact-info, .footer-customer-club .actions .grid-padding-x > .subscribe {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell, footer .footer-navigation-wrapper .grid-padding-x > .footer-navigation,
    footer .footer-navigation-wrapper .grid-padding-x > .footer-contact-info, .footer-customer-club .actions .grid-padding-x > .subscribe {
      padding-right: 1rem;
      padding-left: 1rem; } }

.small-up-1 > .cell, footer .footer-navigation-wrapper .small-up-1 > .footer-navigation,
footer .footer-navigation-wrapper .small-up-1 > .footer-contact-info, .footer-customer-club .actions .small-up-1 > .subscribe {
  width: 100%; }

.small-up-2 > .cell, footer .footer-navigation-wrapper .small-up-2 > .footer-navigation,
footer .footer-navigation-wrapper .small-up-2 > .footer-contact-info, .footer-customer-club .actions .small-up-2 > .subscribe {
  width: 50%; }

.small-up-3 > .cell, footer .footer-navigation-wrapper .small-up-3 > .footer-navigation,
footer .footer-navigation-wrapper .small-up-3 > .footer-contact-info, .footer-customer-club .actions .small-up-3 > .subscribe {
  width: 33.33333%; }

.small-up-4 > .cell, footer .footer-navigation-wrapper .small-up-4 > .footer-navigation,
footer .footer-navigation-wrapper .small-up-4 > .footer-contact-info, .footer-customer-club .actions .small-up-4 > .subscribe {
  width: 25%; }

.small-up-5 > .cell, footer .footer-navigation-wrapper .small-up-5 > .footer-navigation,
footer .footer-navigation-wrapper .small-up-5 > .footer-contact-info, .footer-customer-club .actions .small-up-5 > .subscribe {
  width: 20%; }

.small-up-6 > .cell, footer .footer-navigation-wrapper .small-up-6 > .footer-navigation,
footer .footer-navigation-wrapper .small-up-6 > .footer-contact-info, .footer-customer-club .actions .small-up-6 > .subscribe {
  width: 16.66667%; }

.small-up-7 > .cell, footer .footer-navigation-wrapper .small-up-7 > .footer-navigation,
footer .footer-navigation-wrapper .small-up-7 > .footer-contact-info, .footer-customer-club .actions .small-up-7 > .subscribe {
  width: 14.28571%; }

.small-up-8 > .cell, footer .footer-navigation-wrapper .small-up-8 > .footer-navigation,
footer .footer-navigation-wrapper .small-up-8 > .footer-contact-info, .footer-customer-club .actions .small-up-8 > .subscribe {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell, footer .footer-navigation-wrapper .medium-up-1 > .footer-navigation,
  footer .footer-navigation-wrapper .medium-up-1 > .footer-contact-info, .footer-customer-club .actions .medium-up-1 > .subscribe {
    width: 100%; }
  .medium-up-2 > .cell, footer .footer-navigation-wrapper .medium-up-2 > .footer-navigation,
  footer .footer-navigation-wrapper .medium-up-2 > .footer-contact-info, .footer-customer-club .actions .medium-up-2 > .subscribe {
    width: 50%; }
  .medium-up-3 > .cell, footer .footer-navigation-wrapper .medium-up-3 > .footer-navigation,
  footer .footer-navigation-wrapper .medium-up-3 > .footer-contact-info, .footer-customer-club .actions .medium-up-3 > .subscribe {
    width: 33.33333%; }
  .medium-up-4 > .cell, footer .footer-navigation-wrapper .medium-up-4 > .footer-navigation,
  footer .footer-navigation-wrapper .medium-up-4 > .footer-contact-info, .footer-customer-club .actions .medium-up-4 > .subscribe {
    width: 25%; }
  .medium-up-5 > .cell, footer .footer-navigation-wrapper .medium-up-5 > .footer-navigation,
  footer .footer-navigation-wrapper .medium-up-5 > .footer-contact-info, .footer-customer-club .actions .medium-up-5 > .subscribe {
    width: 20%; }
  .medium-up-6 > .cell, footer .footer-navigation-wrapper .medium-up-6 > .footer-navigation,
  footer .footer-navigation-wrapper .medium-up-6 > .footer-contact-info, .footer-customer-club .actions .medium-up-6 > .subscribe {
    width: 16.66667%; }
  .medium-up-7 > .cell, footer .footer-navigation-wrapper .medium-up-7 > .footer-navigation,
  footer .footer-navigation-wrapper .medium-up-7 > .footer-contact-info, .footer-customer-club .actions .medium-up-7 > .subscribe {
    width: 14.28571%; }
  .medium-up-8 > .cell, footer .footer-navigation-wrapper .medium-up-8 > .footer-navigation,
  footer .footer-navigation-wrapper .medium-up-8 > .footer-contact-info, .footer-customer-club .actions .medium-up-8 > .subscribe {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell, footer .footer-navigation-wrapper .large-up-1 > .footer-navigation,
  footer .footer-navigation-wrapper .large-up-1 > .footer-contact-info, .footer-customer-club .actions .large-up-1 > .subscribe {
    width: 100%; }
  .large-up-2 > .cell, footer .footer-navigation-wrapper .large-up-2 > .footer-navigation,
  footer .footer-navigation-wrapper .large-up-2 > .footer-contact-info, .footer-customer-club .actions .large-up-2 > .subscribe {
    width: 50%; }
  .large-up-3 > .cell, footer .footer-navigation-wrapper .large-up-3 > .footer-navigation,
  footer .footer-navigation-wrapper .large-up-3 > .footer-contact-info, .footer-customer-club .actions .large-up-3 > .subscribe {
    width: 33.33333%; }
  .large-up-4 > .cell, footer .footer-navigation-wrapper .large-up-4 > .footer-navigation,
  footer .footer-navigation-wrapper .large-up-4 > .footer-contact-info, .footer-customer-club .actions .large-up-4 > .subscribe {
    width: 25%; }
  .large-up-5 > .cell, footer .footer-navigation-wrapper .large-up-5 > .footer-navigation,
  footer .footer-navigation-wrapper .large-up-5 > .footer-contact-info, .footer-customer-club .actions .large-up-5 > .subscribe {
    width: 20%; }
  .large-up-6 > .cell, footer .footer-navigation-wrapper .large-up-6 > .footer-navigation,
  footer .footer-navigation-wrapper .large-up-6 > .footer-contact-info, .footer-customer-club .actions .large-up-6 > .subscribe {
    width: 16.66667%; }
  .large-up-7 > .cell, footer .footer-navigation-wrapper .large-up-7 > .footer-navigation,
  footer .footer-navigation-wrapper .large-up-7 > .footer-contact-info, .footer-customer-club .actions .large-up-7 > .subscribe {
    width: 14.28571%; }
  .large-up-8 > .cell, footer .footer-navigation-wrapper .large-up-8 > .footer-navigation,
  footer .footer-navigation-wrapper .large-up-8 > .footer-contact-info, .footer-customer-club .actions .large-up-8 > .subscribe {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell, footer .small-up-1.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-1 > .footer-navigation, footer .small-up-1.footer-navigation-wrapper > .footer-navigation,
footer .footer-navigation-wrapper .grid-margin-x.small-up-1 > .footer-contact-info,
footer .small-up-1.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-1 > .subscribe, footer .footer-customer-club .actions .small-up-1.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-1.footer-navigation-wrapper > .subscribe {
  width: calc(100% - 1.25rem); }

.grid-margin-x.small-up-2 > .cell, footer .small-up-2.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-2 > .footer-navigation, footer .small-up-2.footer-navigation-wrapper > .footer-navigation,
footer .footer-navigation-wrapper .grid-margin-x.small-up-2 > .footer-contact-info,
footer .small-up-2.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-2 > .subscribe, footer .footer-customer-club .actions .small-up-2.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-2.footer-navigation-wrapper > .subscribe {
  width: calc(50% - 1.25rem); }

.grid-margin-x.small-up-3 > .cell, footer .small-up-3.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-3 > .footer-navigation, footer .small-up-3.footer-navigation-wrapper > .footer-navigation,
footer .footer-navigation-wrapper .grid-margin-x.small-up-3 > .footer-contact-info,
footer .small-up-3.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-3 > .subscribe, footer .footer-customer-club .actions .small-up-3.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-3.footer-navigation-wrapper > .subscribe {
  width: calc(33.33333% - 1.25rem); }

.grid-margin-x.small-up-4 > .cell, footer .small-up-4.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-4 > .footer-navigation, footer .small-up-4.footer-navigation-wrapper > .footer-navigation,
footer .footer-navigation-wrapper .grid-margin-x.small-up-4 > .footer-contact-info,
footer .small-up-4.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-4 > .subscribe, footer .footer-customer-club .actions .small-up-4.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-4.footer-navigation-wrapper > .subscribe {
  width: calc(25% - 1.25rem); }

.grid-margin-x.small-up-5 > .cell, footer .small-up-5.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-5 > .footer-navigation, footer .small-up-5.footer-navigation-wrapper > .footer-navigation,
footer .footer-navigation-wrapper .grid-margin-x.small-up-5 > .footer-contact-info,
footer .small-up-5.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-5 > .subscribe, footer .footer-customer-club .actions .small-up-5.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-5.footer-navigation-wrapper > .subscribe {
  width: calc(20% - 1.25rem); }

.grid-margin-x.small-up-6 > .cell, footer .small-up-6.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-6 > .footer-navigation, footer .small-up-6.footer-navigation-wrapper > .footer-navigation,
footer .footer-navigation-wrapper .grid-margin-x.small-up-6 > .footer-contact-info,
footer .small-up-6.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-6 > .subscribe, footer .footer-customer-club .actions .small-up-6.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-6.footer-navigation-wrapper > .subscribe {
  width: calc(16.66667% - 1.25rem); }

.grid-margin-x.small-up-7 > .cell, footer .small-up-7.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-7 > .footer-navigation, footer .small-up-7.footer-navigation-wrapper > .footer-navigation,
footer .footer-navigation-wrapper .grid-margin-x.small-up-7 > .footer-contact-info,
footer .small-up-7.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-7 > .subscribe, footer .footer-customer-club .actions .small-up-7.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-7.footer-navigation-wrapper > .subscribe {
  width: calc(14.28571% - 1.25rem); }

.grid-margin-x.small-up-8 > .cell, footer .small-up-8.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-8 > .footer-navigation, footer .small-up-8.footer-navigation-wrapper > .footer-navigation,
footer .footer-navigation-wrapper .grid-margin-x.small-up-8 > .footer-contact-info,
footer .small-up-8.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-8 > .subscribe, footer .footer-customer-club .actions .small-up-8.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-8.footer-navigation-wrapper > .subscribe {
  width: calc(12.5% - 1.25rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell, footer .small-up-1.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-1 > .footer-navigation, footer .small-up-1.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.small-up-1 > .footer-contact-info,
  footer .small-up-1.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-1 > .subscribe, footer .footer-customer-club .actions .small-up-1.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-1.footer-navigation-wrapper > .subscribe {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell, footer .small-up-2.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-2 > .footer-navigation, footer .small-up-2.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.small-up-2 > .footer-contact-info,
  footer .small-up-2.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-2 > .subscribe, footer .footer-customer-club .actions .small-up-2.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-2.footer-navigation-wrapper > .subscribe {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell, footer .small-up-3.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-3 > .footer-navigation, footer .small-up-3.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.small-up-3 > .footer-contact-info,
  footer .small-up-3.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-3 > .subscribe, footer .footer-customer-club .actions .small-up-3.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-3.footer-navigation-wrapper > .subscribe {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell, footer .small-up-4.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-4 > .footer-navigation, footer .small-up-4.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.small-up-4 > .footer-contact-info,
  footer .small-up-4.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-4 > .subscribe, footer .footer-customer-club .actions .small-up-4.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-4.footer-navigation-wrapper > .subscribe {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell, footer .small-up-5.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-5 > .footer-navigation, footer .small-up-5.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.small-up-5 > .footer-contact-info,
  footer .small-up-5.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-5 > .subscribe, footer .footer-customer-club .actions .small-up-5.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-5.footer-navigation-wrapper > .subscribe {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell, footer .small-up-6.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-6 > .footer-navigation, footer .small-up-6.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.small-up-6 > .footer-contact-info,
  footer .small-up-6.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-6 > .subscribe, footer .footer-customer-club .actions .small-up-6.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-6.footer-navigation-wrapper > .subscribe {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell, footer .small-up-7.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-7 > .footer-navigation, footer .small-up-7.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.small-up-7 > .footer-contact-info,
  footer .small-up-7.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-7 > .subscribe, footer .footer-customer-club .actions .small-up-7.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-7.footer-navigation-wrapper > .subscribe {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell, footer .small-up-8.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.small-up-8 > .footer-navigation, footer .small-up-8.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.small-up-8 > .footer-contact-info,
  footer .small-up-8.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.small-up-8 > .subscribe, footer .footer-customer-club .actions .small-up-8.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .small-up-8.footer-navigation-wrapper > .subscribe {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell, footer .medium-up-1.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.medium-up-1 > .footer-navigation, footer .medium-up-1.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.medium-up-1 > .footer-contact-info,
  footer .medium-up-1.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.medium-up-1 > .subscribe, footer .footer-customer-club .actions .medium-up-1.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .medium-up-1.footer-navigation-wrapper > .subscribe {
    width: calc(100% - 2rem); }
  .grid-margin-x.medium-up-2 > .cell, footer .medium-up-2.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.medium-up-2 > .footer-navigation, footer .medium-up-2.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.medium-up-2 > .footer-contact-info,
  footer .medium-up-2.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.medium-up-2 > .subscribe, footer .footer-customer-club .actions .medium-up-2.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .medium-up-2.footer-navigation-wrapper > .subscribe {
    width: calc(50% - 2rem); }
  .grid-margin-x.medium-up-3 > .cell, footer .medium-up-3.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.medium-up-3 > .footer-navigation, footer .medium-up-3.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.medium-up-3 > .footer-contact-info,
  footer .medium-up-3.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.medium-up-3 > .subscribe, footer .footer-customer-club .actions .medium-up-3.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .medium-up-3.footer-navigation-wrapper > .subscribe {
    width: calc(33.33333% - 2rem); }
  .grid-margin-x.medium-up-4 > .cell, footer .medium-up-4.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.medium-up-4 > .footer-navigation, footer .medium-up-4.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.medium-up-4 > .footer-contact-info,
  footer .medium-up-4.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.medium-up-4 > .subscribe, footer .footer-customer-club .actions .medium-up-4.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .medium-up-4.footer-navigation-wrapper > .subscribe {
    width: calc(25% - 2rem); }
  .grid-margin-x.medium-up-5 > .cell, footer .medium-up-5.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.medium-up-5 > .footer-navigation, footer .medium-up-5.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.medium-up-5 > .footer-contact-info,
  footer .medium-up-5.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.medium-up-5 > .subscribe, footer .footer-customer-club .actions .medium-up-5.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .medium-up-5.footer-navigation-wrapper > .subscribe {
    width: calc(20% - 2rem); }
  .grid-margin-x.medium-up-6 > .cell, footer .medium-up-6.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.medium-up-6 > .footer-navigation, footer .medium-up-6.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.medium-up-6 > .footer-contact-info,
  footer .medium-up-6.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.medium-up-6 > .subscribe, footer .footer-customer-club .actions .medium-up-6.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .medium-up-6.footer-navigation-wrapper > .subscribe {
    width: calc(16.66667% - 2rem); }
  .grid-margin-x.medium-up-7 > .cell, footer .medium-up-7.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.medium-up-7 > .footer-navigation, footer .medium-up-7.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.medium-up-7 > .footer-contact-info,
  footer .medium-up-7.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.medium-up-7 > .subscribe, footer .footer-customer-club .actions .medium-up-7.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .medium-up-7.footer-navigation-wrapper > .subscribe {
    width: calc(14.28571% - 2rem); }
  .grid-margin-x.medium-up-8 > .cell, footer .medium-up-8.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.medium-up-8 > .footer-navigation, footer .medium-up-8.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.medium-up-8 > .footer-contact-info,
  footer .medium-up-8.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.medium-up-8 > .subscribe, footer .footer-customer-club .actions .medium-up-8.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .medium-up-8.footer-navigation-wrapper > .subscribe {
    width: calc(12.5% - 2rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell, footer .large-up-1.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.large-up-1 > .footer-navigation, footer .large-up-1.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.large-up-1 > .footer-contact-info,
  footer .large-up-1.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.large-up-1 > .subscribe, footer .footer-customer-club .actions .large-up-1.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .large-up-1.footer-navigation-wrapper > .subscribe {
    width: calc(100% - 2rem); }
  .grid-margin-x.large-up-2 > .cell, footer .large-up-2.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.large-up-2 > .footer-navigation, footer .large-up-2.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.large-up-2 > .footer-contact-info,
  footer .large-up-2.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.large-up-2 > .subscribe, footer .footer-customer-club .actions .large-up-2.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .large-up-2.footer-navigation-wrapper > .subscribe {
    width: calc(50% - 2rem); }
  .grid-margin-x.large-up-3 > .cell, footer .large-up-3.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.large-up-3 > .footer-navigation, footer .large-up-3.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.large-up-3 > .footer-contact-info,
  footer .large-up-3.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.large-up-3 > .subscribe, footer .footer-customer-club .actions .large-up-3.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .large-up-3.footer-navigation-wrapper > .subscribe {
    width: calc(33.33333% - 2rem); }
  .grid-margin-x.large-up-4 > .cell, footer .large-up-4.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.large-up-4 > .footer-navigation, footer .large-up-4.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.large-up-4 > .footer-contact-info,
  footer .large-up-4.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.large-up-4 > .subscribe, footer .footer-customer-club .actions .large-up-4.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .large-up-4.footer-navigation-wrapper > .subscribe {
    width: calc(25% - 2rem); }
  .grid-margin-x.large-up-5 > .cell, footer .large-up-5.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.large-up-5 > .footer-navigation, footer .large-up-5.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.large-up-5 > .footer-contact-info,
  footer .large-up-5.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.large-up-5 > .subscribe, footer .footer-customer-club .actions .large-up-5.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .large-up-5.footer-navigation-wrapper > .subscribe {
    width: calc(20% - 2rem); }
  .grid-margin-x.large-up-6 > .cell, footer .large-up-6.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.large-up-6 > .footer-navigation, footer .large-up-6.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.large-up-6 > .footer-contact-info,
  footer .large-up-6.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.large-up-6 > .subscribe, footer .footer-customer-club .actions .large-up-6.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .large-up-6.footer-navigation-wrapper > .subscribe {
    width: calc(16.66667% - 2rem); }
  .grid-margin-x.large-up-7 > .cell, footer .large-up-7.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.large-up-7 > .footer-navigation, footer .large-up-7.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.large-up-7 > .footer-contact-info,
  footer .large-up-7.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.large-up-7 > .subscribe, footer .footer-customer-club .actions .large-up-7.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .large-up-7.footer-navigation-wrapper > .subscribe {
    width: calc(14.28571% - 2rem); }
  .grid-margin-x.large-up-8 > .cell, footer .large-up-8.footer-navigation-wrapper > .cell, footer .footer-navigation-wrapper .grid-margin-x.large-up-8 > .footer-navigation, footer .large-up-8.footer-navigation-wrapper > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-x.large-up-8 > .footer-contact-info,
  footer .large-up-8.footer-navigation-wrapper > .footer-contact-info, .footer-customer-club .actions .grid-margin-x.large-up-8 > .subscribe, footer .footer-customer-club .actions .large-up-8.footer-navigation-wrapper > .subscribe, .footer-customer-club .actions footer .large-up-8.footer-navigation-wrapper > .subscribe {
    width: calc(12.5% - 2rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell, footer .footer-navigation-wrapper .small-margin-collapse > .footer-navigation,
  footer .footer-navigation-wrapper .small-margin-collapse > .footer-contact-info, .footer-customer-club .actions .small-margin-collapse > .subscribe {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12, footer .footer-navigation-wrapper .small-margin-collapse > .footer-navigation,
  footer .footer-navigation-wrapper .small-margin-collapse > .footer-contact-info {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4, footer .footer-navigation-wrapper .accordion-menu .small-margin-collapse > li {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6, footer .footer-navigation-wrapper .small-margin-collapse > .footer-navigation,
    footer .footer-navigation-wrapper .small-margin-collapse > .footer-contact-info {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9, .footer-customer-club .small-margin-collapse > .field.newsletter {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell, footer .footer-navigation-wrapper .small-padding-collapse > .footer-navigation,
  footer .footer-navigation-wrapper .small-padding-collapse > .footer-contact-info, .footer-customer-club .actions .small-padding-collapse > .subscribe {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell, footer .footer-navigation-wrapper .medium-margin-collapse > .footer-navigation,
    footer .footer-navigation-wrapper .medium-margin-collapse > .footer-contact-info, .footer-customer-club .actions .medium-margin-collapse > .subscribe {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12, footer .footer-navigation-wrapper .medium-margin-collapse > .footer-navigation,
  footer .footer-navigation-wrapper .medium-margin-collapse > .footer-contact-info {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4, footer .footer-navigation-wrapper .accordion-menu .medium-margin-collapse > li {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6, footer .footer-navigation-wrapper .medium-margin-collapse > .footer-navigation,
  footer .footer-navigation-wrapper .medium-margin-collapse > .footer-contact-info {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9, .footer-customer-club .medium-margin-collapse > .field.newsletter {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell, footer .footer-navigation-wrapper .medium-padding-collapse > .footer-navigation,
    footer .footer-navigation-wrapper .medium-padding-collapse > .footer-contact-info, .footer-customer-club .actions .medium-padding-collapse > .subscribe {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell, footer .footer-navigation-wrapper .large-margin-collapse > .footer-navigation,
    footer .footer-navigation-wrapper .large-margin-collapse > .footer-contact-info, .footer-customer-club .actions .large-margin-collapse > .subscribe {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12, footer .footer-navigation-wrapper .large-margin-collapse > .footer-navigation,
  footer .footer-navigation-wrapper .large-margin-collapse > .footer-contact-info {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4, footer .footer-navigation-wrapper .accordion-menu .large-margin-collapse > li {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6, footer .footer-navigation-wrapper .large-margin-collapse > .footer-navigation,
  footer .footer-navigation-wrapper .large-margin-collapse > .footer-contact-info {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9, .footer-customer-club .large-margin-collapse > .field.newsletter {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell, footer .footer-navigation-wrapper .large-padding-collapse > .footer-navigation,
    footer .footer-navigation-wrapper .large-padding-collapse > .footer-contact-info, .footer-customer-club .actions .large-padding-collapse > .subscribe {
      padding-right: 0;
      padding-left: 0; } }

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

.grid-margin-x > .small-offset-0, footer .footer-navigation-wrapper > .small-offset-0 {
  margin-left: calc(0% + 0.625rem); }

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

.grid-margin-x > .small-offset-1, footer .footer-navigation-wrapper > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-2, footer .footer-navigation-wrapper > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-3, footer .footer-navigation-wrapper > .small-offset-3 {
  margin-left: calc(25% + 0.625rem); }

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

.grid-margin-x > .small-offset-4, footer .footer-navigation-wrapper > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-5, footer .footer-navigation-wrapper > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-6, footer .footer-navigation-wrapper > .small-offset-6 {
  margin-left: calc(50% + 0.625rem); }

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

.grid-margin-x > .small-offset-7, footer .footer-navigation-wrapper > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-8, footer .footer-navigation-wrapper > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-9, footer .footer-navigation-wrapper > .small-offset-9 {
  margin-left: calc(75% + 0.625rem); }

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

.grid-margin-x > .small-offset-10, footer .footer-navigation-wrapper > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-11, footer .footer-navigation-wrapper > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem); }

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

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

.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell, footer .footer-navigation-wrapper .grid-y > .footer-navigation,
  footer .footer-navigation-wrapper .grid-y > .footer-contact-info, .footer-customer-club .actions .grid-y > .subscribe {
    width: auto; }
  .grid-y > .auto, .footer-customer-club .actions .grid-y > .subscribe {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12, footer .footer-navigation-wrapper .grid-y > .footer-navigation,
  footer .footer-navigation-wrapper .grid-y > .footer-contact-info {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, footer .footer-navigation-wrapper .accordion-menu .grid-y > li, .grid-y > .medium-5, .grid-y > .medium-6, footer .footer-navigation-wrapper .grid-y > .footer-navigation,
    footer .footer-navigation-wrapper .grid-y > .footer-contact-info, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .footer-customer-club .grid-y > .field.newsletter, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12, footer .footer-navigation-wrapper .grid-y > .footer-navigation,
  footer .footer-navigation-wrapper .grid-y > .footer-contact-info {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4, footer .footer-navigation-wrapper .accordion-menu .grid-y > li {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6, footer .footer-navigation-wrapper .grid-y > .footer-navigation,
    footer .footer-navigation-wrapper .grid-y > .footer-contact-info {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9, .footer-customer-club .grid-y > .field.newsletter {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

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

.grid-padding-y > .cell, footer .footer-navigation-wrapper .grid-padding-y > .footer-navigation,
footer .footer-navigation-wrapper .grid-padding-y > .footer-contact-info, .footer-customer-club .actions .grid-padding-y > .subscribe {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell, footer .footer-navigation-wrapper .grid-padding-y > .footer-navigation,
    footer .footer-navigation-wrapper .grid-padding-y > .footer-contact-info, .footer-customer-club .actions .grid-padding-y > .subscribe {
      padding-top: 1rem;
      padding-bottom: 1rem; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -1rem;
      margin-bottom: -1rem; } }
  .grid-margin-y > .cell, footer .footer-navigation-wrapper .grid-margin-y > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-y > .footer-contact-info, .footer-customer-club .actions .grid-margin-y > .subscribe {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell, footer .footer-navigation-wrapper .grid-margin-y > .footer-navigation,
    footer .footer-navigation-wrapper .grid-margin-y > .footer-contact-info, .footer-customer-club .actions .grid-margin-y > .subscribe {
      height: calc(100% - 2rem);
      margin-top: 1rem;
      margin-bottom: 1rem; } }
  .grid-margin-y > .auto, .footer-customer-club .actions .grid-margin-y > .subscribe {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12, footer .footer-navigation-wrapper .grid-margin-y > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-y > .footer-contact-info {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto, .footer-customer-club .actions .grid-margin-y > .subscribe {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .small-12, footer .footer-navigation-wrapper .grid-margin-y > .footer-navigation,
    footer .footer-navigation-wrapper .grid-margin-y > .footer-contact-info {
      height: calc(100% - 2rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .medium-4, footer .footer-navigation-wrapper .accordion-menu .grid-margin-y > li {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .medium-6, footer .footer-navigation-wrapper .grid-margin-y > .footer-navigation,
    footer .footer-navigation-wrapper .grid-margin-y > .footer-contact-info {
      height: calc(50% - 2rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .medium-9, .footer-customer-club .grid-margin-y > .field.newsletter {
      height: calc(75% - 2rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame, footer .footer-navigation-wrapper .footer-navigation .grid-frame, footer .footer-navigation-wrapper .footer-contact-info .grid-frame, .footer-customer-club .actions .subscribe .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x, footer .cell-block-container > .footer-navigation-wrapper, footer .footer-navigation-wrapper .cell-block-container > .accordion-menu, .footer-customer-club .newsletter .cell-block-container > form.subscribe {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame, footer .footer-navigation-wrapper .footer-navigation .medium-grid-frame, footer .footer-navigation-wrapper .footer-contact-info .medium-grid-frame, .footer-customer-club .actions .subscribe .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x, footer .medium-cell-block-container > .footer-navigation-wrapper, footer .footer-navigation-wrapper .medium-cell-block-container > .accordion-menu, .footer-customer-club .newsletter .medium-cell-block-container > form.subscribe {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame, footer .footer-navigation-wrapper .footer-navigation .large-grid-frame, footer .footer-navigation-wrapper .footer-contact-info .large-grid-frame, .footer-customer-club .actions .subscribe .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x, footer .large-cell-block-container > .footer-navigation-wrapper, footer .footer-navigation-wrapper .large-cell-block-container > .accordion-menu, .footer-customer-club .newsletter .large-cell-block-container > form.subscribe {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame, footer .footer-navigation-wrapper .footer-navigation .grid-y.grid-frame, footer .footer-navigation-wrapper .footer-contact-info .grid-y.grid-frame, .footer-customer-club .actions .subscribe .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame, footer .footer-navigation-wrapper .footer-navigation .grid-y.medium-grid-frame, footer .footer-navigation-wrapper .footer-contact-info .grid-y.medium-grid-frame, .footer-customer-club .actions .subscribe .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame, footer .footer-navigation-wrapper .footer-navigation .grid-y.large-grid-frame, footer .footer-navigation-wrapper .footer-contact-info .grid-y.large-grid-frame, .footer-customer-club .actions .subscribe .grid-y.large-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -1rem;
      margin-bottom: -1rem; } }
  .grid-margin-y > .cell, footer .footer-navigation-wrapper .grid-margin-y > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-y > .footer-contact-info, .footer-customer-club .actions .grid-margin-y > .subscribe {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell, footer .footer-navigation-wrapper .grid-margin-y > .footer-navigation,
    footer .footer-navigation-wrapper .grid-margin-y > .footer-contact-info, .footer-customer-club .actions .grid-margin-y > .subscribe {
      height: calc(100% - 2rem);
      margin-top: 1rem;
      margin-bottom: 1rem; } }
  .grid-margin-y > .auto, .footer-customer-club .actions .grid-margin-y > .subscribe {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12, footer .footer-navigation-wrapper .grid-margin-y > .footer-navigation,
  footer .footer-navigation-wrapper .grid-margin-y > .footer-contact-info {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto, .footer-customer-club .actions .grid-margin-y > .subscribe {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .small-12, footer .footer-navigation-wrapper .grid-margin-y > .footer-navigation,
    footer .footer-navigation-wrapper .grid-margin-y > .footer-contact-info {
      height: calc(100% - 2rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .medium-4, footer .footer-navigation-wrapper .accordion-menu .grid-margin-y > li {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .medium-6, footer .footer-navigation-wrapper .grid-margin-y > .footer-navigation,
    footer .footer-navigation-wrapper .grid-margin-y > .footer-contact-info {
      height: calc(50% - 2rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .medium-9, .footer-customer-club .grid-margin-y > .field.newsletter {
      height: calc(75% - 2rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 2rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 2rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 2rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 2rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 2rem); } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
.product-view-extend .description .type,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4,
.product-view-extend .description .type, .h4, .checkout-index-index .step-title, .card-divider,
h5, .h5,
h6, .h6 {
  font-family: "ITCFranklinGothic", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  color: #000000;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small,
  .product-view-extend .description .type small, .h4 small, .checkout-index-index .step-title small, .card-divider small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #8A8D96; }

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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

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


h4,
.product-view-extend .description .type, .h4, .checkout-index-index .step-title, .card-divider {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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

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

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 2rem; }
  h2, .h2 {
    font-size: 1.75rem; }
  h3, .h3 {
    font-size: 1.5rem; }
  
  h4,
  .product-view-extend .description .type, .h4, .checkout-index-index .step-title, .card-divider {
    font-size: 1.375rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0 3.75rem;
  border-left: 1px solid #9FA6AD; }
  blockquote, blockquote p {
    line-height: 1.618;
    color: #000000; }

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

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

figure {
  margin: 0; }

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

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

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.4;
  color: #8A8D96; }

.lead {
  font-size: 112.5%;
  line-height: 1.618; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

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

.text-center, .page-header header .logo {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  .medium-text-left, .page-header header .logo {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

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

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.9375rem 1rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: all 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #003660;
  color: #FFFFFF; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #003660;
    color: #FFFFFF; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large, .checkout-shipping-method button.button.continue, .checkout-container button.button.checkout {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #003660;
    color: #FFFFFF; }
    .button.primary:hover, .button.primary:focus {
      background-color: #004d89;
      color: #FFFFFF; }
  .button.primaryDark {
    background-color: #002E52;
    color: #FFFFFF; }
    .button.primaryDark:hover, .button.primaryDark:focus {
      background-color: #00467d;
      color: #FFFFFF; }
  .button.secondary {
    background-color: #e95f13;
    color: #000000; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #ed6e28;
      color: #000000; }
  .button.cta, .checkout-shipping-method button.button.continue, .checkout-container button.button.checkout {
    background-color: #043A63;
    color: #FFFFFF; }
    .button.cta:hover, .checkout-shipping-method button.button.continue:hover, .checkout-container button.button.checkout:hover, .button.cta:focus, .checkout-shipping-method button.button.continue:focus, .checkout-container button.button.checkout:focus {
      background-color: #06518a;
      color: #FFFFFF; }
  .button.stone {
    background-color: #363A43;
    color: #FFFFFF; }
    .button.stone:hover, .button.stone:focus {
      background-color: #474d59;
      color: #FFFFFF; }
  .button.success {
    background-color: #008040;
    color: #FFFFFF; }
    .button.success:hover, .button.success:focus {
      background-color: #00a653;
      color: #FFFFFF; }
  .button.warning {
    background-color: #FFC800;
    color: #000000; }
    .button.warning:hover, .button.warning:focus {
      background-color: #ffce1a;
      color: #000000; }
  .button.alert {
    background-color: #EF5959;
    color: #000000; }
    .button.alert:hover, .button.alert:focus {
      background-color: #f16a6a;
      color: #000000; }
  .button.white {
    background-color: #FFFFFF;
    color: #000000; }
    .button.white:hover, .button.white:focus {
      background-color: white;
      color: #000000; }
  .button.black {
    background-color: #000000;
    color: #FFFFFF; }
    .button.black:hover, .button.black:focus {
      background-color: #1a1a1a;
      color: #FFFFFF; }
  .button.pink {
    background-color: #E3B9D3;
    color: #000000; }
    .button.pink:hover, .button.pink:focus {
      background-color: #e6c0d7;
      color: #000000; }
  .button.red {
    background-color: #ff1500;
    color: #000000; }
    .button.red:hover, .button.red:focus {
      background-color: #ff2c1a;
      color: #000000; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #003660;
      color: #FFFFFF; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #003660;
        color: #FFFFFF; }
    .button.disabled.primaryDark, .button[disabled].primaryDark {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primaryDark, .button.disabled.primaryDark:hover, .button.disabled.primaryDark:focus, .button[disabled].primaryDark, .button[disabled].primaryDark:hover, .button[disabled].primaryDark:focus {
        background-color: #002E52;
        color: #FFFFFF; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #e95f13;
        color: #000000; }
    .button.disabled.cta, .checkout-shipping-method button.button.disabled.continue, .checkout-container button.button.disabled.checkout, .button[disabled].cta, .checkout-shipping-method button.button.continue[disabled], .checkout-container button.button.checkout[disabled] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.cta, .checkout-shipping-method button.button.disabled.continue, .checkout-container button.button.disabled.checkout, .button.disabled.cta:hover, .checkout-shipping-method button.button.disabled.continue:hover, .checkout-container button.button.disabled.checkout:hover, .button.disabled.cta:focus, .checkout-shipping-method button.button.disabled.continue:focus, .checkout-container button.button.disabled.checkout:focus, .button[disabled].cta, .checkout-shipping-method button.button.continue[disabled], .checkout-container button.button.checkout[disabled], .button[disabled].cta:hover, .checkout-shipping-method button.button.continue[disabled]:hover, .checkout-container button.button.checkout[disabled]:hover, .button[disabled].cta:focus, .checkout-shipping-method button.button.continue[disabled]:focus, .checkout-container button.button.checkout[disabled]:focus {
        background-color: #043A63;
        color: #FFFFFF; }
    .button.disabled.stone, .button[disabled].stone {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.stone, .button.disabled.stone:hover, .button.disabled.stone:focus, .button[disabled].stone, .button[disabled].stone:hover, .button[disabled].stone:focus {
        background-color: #363A43;
        color: #FFFFFF; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #008040;
        color: #FFFFFF; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #FFC800;
        color: #000000; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #EF5959;
        color: #000000; }
    .button.disabled.white, .button[disabled].white {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.white, .button.disabled.white:hover, .button.disabled.white:focus, .button[disabled].white, .button[disabled].white:hover, .button[disabled].white:focus {
        background-color: #FFFFFF;
        color: #000000; }
    .button.disabled.black, .button[disabled].black {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.black, .button.disabled.black:hover, .button.disabled.black:focus, .button[disabled].black, .button[disabled].black:hover, .button[disabled].black:focus {
        background-color: #000000;
        color: #FFFFFF; }
    .button.disabled.pink, .button[disabled].pink {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.pink, .button.disabled.pink:hover, .button.disabled.pink:focus, .button[disabled].pink, .button[disabled].pink:hover, .button[disabled].pink:focus {
        background-color: #E3B9D3;
        color: #000000; }
    .button.disabled.red, .button[disabled].red {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.red, .button.disabled.red:hover, .button.disabled.red:focus, .button[disabled].red, .button[disabled].red:hover, .button[disabled].red:focus {
        background-color: #ff1500;
        color: #000000; }
  .button.hollow {
    border: 2px solid #003660;
    color: #003660; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #003660;
      color: #003660; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 2px solid #003660;
        color: #003660; }
    .button.hollow.primary {
      border: 2px solid #003660;
      color: #003660; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #003660;
        color: #003660; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 2px solid #003660;
          color: #003660; }
    .button.hollow.primaryDark {
      border: 2px solid #002E52;
      color: #002E52; }
      .button.hollow.primaryDark:hover, .button.hollow.primaryDark:focus {
        border-color: #002e52;
        color: #002e52; }
        .button.hollow.primaryDark:hover.disabled, .button.hollow.primaryDark:hover[disabled], .button.hollow.primaryDark:focus.disabled, .button.hollow.primaryDark:focus[disabled] {
          border: 2px solid #002E52;
          color: #002E52; }
    .button.hollow.secondary {
      border: 2px solid #e95f13;
      color: #e95f13; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #e95f13;
        color: #e95f13; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 2px solid #e95f13;
          color: #e95f13; }
    .button.hollow.cta, .checkout-shipping-method button.button.hollow.continue, .checkout-container button.button.hollow.checkout {
      border: 2px solid #043A63;
      color: #043A63; }
      .button.hollow.cta:hover, .checkout-shipping-method button.button.hollow.continue:hover, .checkout-container button.button.hollow.checkout:hover, .button.hollow.cta:focus, .checkout-shipping-method button.button.hollow.continue:focus, .checkout-container button.button.hollow.checkout:focus {
        border-color: #043a63;
        color: #043a63; }
        .button.hollow.cta:hover.disabled, .checkout-shipping-method button.button.hollow.continue:hover.disabled, .checkout-container button.button.hollow.checkout:hover.disabled, .button.hollow.cta:hover[disabled], .checkout-shipping-method button.button.hollow.continue:hover[disabled], .checkout-container button.button.hollow.checkout:hover[disabled], .button.hollow.cta:focus.disabled, .checkout-shipping-method button.button.hollow.continue:focus.disabled, .checkout-container button.button.hollow.checkout:focus.disabled, .button.hollow.cta:focus[disabled], .checkout-shipping-method button.button.hollow.continue:focus[disabled], .checkout-container button.button.hollow.checkout:focus[disabled] {
          border: 2px solid #043A63;
          color: #043A63; }
    .button.hollow.stone {
      border: 2px solid #363A43;
      color: #363A43; }
      .button.hollow.stone:hover, .button.hollow.stone:focus {
        border-color: #363a43;
        color: #363a43; }
        .button.hollow.stone:hover.disabled, .button.hollow.stone:hover[disabled], .button.hollow.stone:focus.disabled, .button.hollow.stone:focus[disabled] {
          border: 2px solid #363A43;
          color: #363A43; }
    .button.hollow.success {
      border: 2px solid #008040;
      color: #008040; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #008040;
        color: #008040; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 2px solid #008040;
          color: #008040; }
    .button.hollow.warning {
      border: 2px solid #FFC800;
      color: #FFC800; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #ffc800;
        color: #ffc800; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 2px solid #FFC800;
          color: #FFC800; }
    .button.hollow.alert {
      border: 2px solid #EF5959;
      color: #EF5959; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #ef5959;
        color: #ef5959; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 2px solid #EF5959;
          color: #EF5959; }
    .button.hollow.white {
      border: 2px solid #FFFFFF;
      color: #FFFFFF; }
      .button.hollow.white:hover, .button.hollow.white:focus {
        border-color: white;
        color: white; }
        .button.hollow.white:hover.disabled, .button.hollow.white:hover[disabled], .button.hollow.white:focus.disabled, .button.hollow.white:focus[disabled] {
          border: 2px solid #FFFFFF;
          color: #FFFFFF; }
    .button.hollow.black {
      border: 2px solid #000000;
      color: #000000; }
      .button.hollow.black:hover, .button.hollow.black:focus {
        border-color: black;
        color: black; }
        .button.hollow.black:hover.disabled, .button.hollow.black:hover[disabled], .button.hollow.black:focus.disabled, .button.hollow.black:focus[disabled] {
          border: 2px solid #000000;
          color: #000000; }
    .button.hollow.pink {
      border: 2px solid #E3B9D3;
      color: #E3B9D3; }
      .button.hollow.pink:hover, .button.hollow.pink:focus {
        border-color: #e3b9d3;
        color: #e3b9d3; }
        .button.hollow.pink:hover.disabled, .button.hollow.pink:hover[disabled], .button.hollow.pink:focus.disabled, .button.hollow.pink:focus[disabled] {
          border: 2px solid #E3B9D3;
          color: #E3B9D3; }
    .button.hollow.red {
      border: 2px solid #ff1500;
      color: #ff1500; }
      .button.hollow.red:hover, .button.hollow.red:focus {
        border-color: #ff1500;
        color: #ff1500; }
        .button.hollow.red:hover.disabled, .button.hollow.red:hover[disabled], .button.hollow.red:focus.disabled, .button.hollow.red:focus[disabled] {
          border: 2px solid #ff1500;
          color: #ff1500; }
  .button.clear {
    border: 2px solid #003660;
    color: #003660; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #003660;
      color: #003660; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 2px solid #003660;
        color: #003660; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 2px solid #003660;
      color: #003660; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #003660;
        color: #003660; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 2px solid #003660;
          color: #003660; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.primaryDark {
      border: 2px solid #002E52;
      color: #002E52; }
      .button.clear.primaryDark:hover, .button.clear.primaryDark:focus {
        border-color: #002e52;
        color: #002e52; }
        .button.clear.primaryDark:hover.disabled, .button.clear.primaryDark:hover[disabled], .button.clear.primaryDark:focus.disabled, .button.clear.primaryDark:focus[disabled] {
          border: 2px solid #002E52;
          color: #002E52; }
      .button.clear.primaryDark, .button.clear.primaryDark.disabled, .button.clear.primaryDark[disabled], .button.clear.primaryDark:hover, .button.clear.primaryDark:hover.disabled, .button.clear.primaryDark:hover[disabled], .button.clear.primaryDark:focus, .button.clear.primaryDark:focus.disabled, .button.clear.primaryDark:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 2px solid #e95f13;
      color: #e95f13; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #e95f13;
        color: #e95f13; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 2px solid #e95f13;
          color: #e95f13; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.cta, .checkout-shipping-method button.button.clear.continue, .checkout-container button.button.clear.checkout {
      border: 2px solid #043A63;
      color: #043A63; }
      .button.clear.cta:hover, .checkout-shipping-method button.button.clear.continue:hover, .checkout-container button.button.clear.checkout:hover, .button.clear.cta:focus, .checkout-shipping-method button.button.clear.continue:focus, .checkout-container button.button.clear.checkout:focus {
        border-color: #043a63;
        color: #043a63; }
        .button.clear.cta:hover.disabled, .checkout-shipping-method button.button.clear.continue:hover.disabled, .checkout-container button.button.clear.checkout:hover.disabled, .button.clear.cta:hover[disabled], .checkout-shipping-method button.button.clear.continue:hover[disabled], .checkout-container button.button.clear.checkout:hover[disabled], .button.clear.cta:focus.disabled, .checkout-shipping-method button.button.clear.continue:focus.disabled, .checkout-container button.button.clear.checkout:focus.disabled, .button.clear.cta:focus[disabled], .checkout-shipping-method button.button.clear.continue:focus[disabled], .checkout-container button.button.clear.checkout:focus[disabled] {
          border: 2px solid #043A63;
          color: #043A63; }
      .button.clear.cta, .checkout-shipping-method button.button.clear.continue, .checkout-container button.button.clear.checkout, .button.clear.cta.disabled, .checkout-shipping-method button.button.clear.disabled.continue, .checkout-container button.button.clear.disabled.checkout, .button.clear.cta[disabled], .checkout-shipping-method button.button.clear.continue[disabled], .checkout-container button.button.clear.checkout[disabled], .button.clear.cta:hover, .checkout-shipping-method button.button.clear.continue:hover, .checkout-container button.button.clear.checkout:hover, .button.clear.cta:hover.disabled, .checkout-shipping-method button.button.clear.continue:hover.disabled, .checkout-container button.button.clear.checkout:hover.disabled, .button.clear.cta:hover[disabled], .checkout-shipping-method button.button.clear.continue:hover[disabled], .checkout-container button.button.clear.checkout:hover[disabled], .button.clear.cta:focus, .checkout-shipping-method button.button.clear.continue:focus, .checkout-container button.button.clear.checkout:focus, .button.clear.cta:focus.disabled, .checkout-shipping-method button.button.clear.continue:focus.disabled, .checkout-container button.button.clear.checkout:focus.disabled, .button.clear.cta:focus[disabled], .checkout-shipping-method button.button.clear.continue:focus[disabled], .checkout-container button.button.clear.checkout:focus[disabled] {
        border-color: transparent; }
    .button.clear.stone {
      border: 2px solid #363A43;
      color: #363A43; }
      .button.clear.stone:hover, .button.clear.stone:focus {
        border-color: #363a43;
        color: #363a43; }
        .button.clear.stone:hover.disabled, .button.clear.stone:hover[disabled], .button.clear.stone:focus.disabled, .button.clear.stone:focus[disabled] {
          border: 2px solid #363A43;
          color: #363A43; }
      .button.clear.stone, .button.clear.stone.disabled, .button.clear.stone[disabled], .button.clear.stone:hover, .button.clear.stone:hover.disabled, .button.clear.stone:hover[disabled], .button.clear.stone:focus, .button.clear.stone:focus.disabled, .button.clear.stone:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 2px solid #008040;
      color: #008040; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #008040;
        color: #008040; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 2px solid #008040;
          color: #008040; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 2px solid #FFC800;
      color: #FFC800; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #ffc800;
        color: #ffc800; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 2px solid #FFC800;
          color: #FFC800; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 2px solid #EF5959;
      color: #EF5959; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #ef5959;
        color: #ef5959; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 2px solid #EF5959;
          color: #EF5959; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
    .button.clear.white {
      border: 2px solid #FFFFFF;
      color: #FFFFFF; }
      .button.clear.white:hover, .button.clear.white:focus {
        border-color: white;
        color: white; }
        .button.clear.white:hover.disabled, .button.clear.white:hover[disabled], .button.clear.white:focus.disabled, .button.clear.white:focus[disabled] {
          border: 2px solid #FFFFFF;
          color: #FFFFFF; }
      .button.clear.white, .button.clear.white.disabled, .button.clear.white[disabled], .button.clear.white:hover, .button.clear.white:hover.disabled, .button.clear.white:hover[disabled], .button.clear.white:focus, .button.clear.white:focus.disabled, .button.clear.white:focus[disabled] {
        border-color: transparent; }
    .button.clear.black {
      border: 2px solid #000000;
      color: #000000; }
      .button.clear.black:hover, .button.clear.black:focus {
        border-color: black;
        color: black; }
        .button.clear.black:hover.disabled, .button.clear.black:hover[disabled], .button.clear.black:focus.disabled, .button.clear.black:focus[disabled] {
          border: 2px solid #000000;
          color: #000000; }
      .button.clear.black, .button.clear.black.disabled, .button.clear.black[disabled], .button.clear.black:hover, .button.clear.black:hover.disabled, .button.clear.black:hover[disabled], .button.clear.black:focus, .button.clear.black:focus.disabled, .button.clear.black:focus[disabled] {
        border-color: transparent; }
    .button.clear.pink {
      border: 2px solid #E3B9D3;
      color: #E3B9D3; }
      .button.clear.pink:hover, .button.clear.pink:focus {
        border-color: #e3b9d3;
        color: #e3b9d3; }
        .button.clear.pink:hover.disabled, .button.clear.pink:hover[disabled], .button.clear.pink:focus.disabled, .button.clear.pink:focus[disabled] {
          border: 2px solid #E3B9D3;
          color: #E3B9D3; }
      .button.clear.pink, .button.clear.pink.disabled, .button.clear.pink[disabled], .button.clear.pink:hover, .button.clear.pink:hover.disabled, .button.clear.pink:hover[disabled], .button.clear.pink:focus, .button.clear.pink:focus.disabled, .button.clear.pink:focus[disabled] {
        border-color: transparent; }
    .button.clear.red {
      border: 2px solid #ff1500;
      color: #ff1500; }
      .button.clear.red:hover, .button.clear.red:focus {
        border-color: #ff1500;
        color: #ff1500; }
        .button.clear.red:hover.disabled, .button.clear.red:hover[disabled], .button.clear.red:focus.disabled, .button.clear.red:focus[disabled] {
          border: 2px solid #ff1500;
          color: #ff1500; }
      .button.clear.red, .button.clear.red.disabled, .button.clear.red[disabled], .button.clear.red:hover, .button.clear.red:hover.disabled, .button.clear.red:hover[disabled], .button.clear.red:focus, .button.clear.red:focus.disabled, .button.clear.red:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #FFFFFF transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1rem; }
  .button.dropdown.hollow::after {
    border-top-color: #003660; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #003660; }
  .button.dropdown.hollow.primaryDark::after {
    border-top-color: #002E52; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #e95f13; }
  .button.dropdown.hollow.cta::after, .checkout-shipping-method button.button.dropdown.hollow.continue::after, .checkout-container button.button.dropdown.hollow.checkout::after {
    border-top-color: #043A63; }
  .button.dropdown.hollow.stone::after {
    border-top-color: #363A43; }
  .button.dropdown.hollow.success::after {
    border-top-color: #008040; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #FFC800; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #EF5959; }
  .button.dropdown.hollow.white::after {
    border-top-color: #FFFFFF; }
  .button.dropdown.hollow.black::after {
    border-top-color: #000000; }
  .button.dropdown.hollow.pink::after {
    border-top-color: #E3B9D3; }
  .button.dropdown.hollow.red::after {
    border-top-color: #ff1500; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 3.125rem;
  margin: 0 0 1rem;
  padding: 0.875rem 1rem 0.8125rem;
  border: 2px solid #d6dbe0;
  border-radius: 0;
  background-color: #FFFFFF;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 2px solid #d6dbe0;
    background-color: #FFFFFF;
    box-shadow: 0 0 5px #9FA6AD;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

input::placeholder,
textarea::placeholder {
  color: #8A8D96; }

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

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

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

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: normal;
  line-height: 2;
  color: #000000; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.625rem 0; }

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

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

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

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

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

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

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

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

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

select {
  height: 3.125rem;
  margin: 0 0 1rem;
  padding: 0.875rem 1rem 0.8125rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 2px solid #d6dbe0;
  border-radius: 0;
  background-color: #FFFFFF;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  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, 141, 150%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 2px solid #d6dbe0;
    background-color: #FFFFFF;
    box-shadow: 0 0 5px #9FA6AD;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #F3F4F6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #EF5959;
  background-color: #fdeeee; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #EF5959; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #EF5959; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #EF5959; }

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

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

input[type="range"] {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  line-height: 1;
  cursor: pointer;
  border-radius: 12px; }
  input[type="range"]:focus {
    outline: 0; }
  input[type="range"][disabled] {
    opacity: 0.25; }
  input[type="range"]::-webkit-slider-runnable-track {
    height: 0.313rem;
    background: #d6dbe0; }
  input[type="range"]::-webkit-slider-handle {
    width: 1.313rem;
    height: 1.313rem;
    margin-top: -0.5rem;
    -webkit-appearance: none;
    background: #FFFFFF;
    border-radius: 12px; }
  input[type="range"]::-moz-range-track {
    height: 0.313rem;
    -moz-appearance: none;
    background: #d6dbe0; }
  input[type="range"]::-moz-range-thumb {
    width: 1.313rem;
    height: 1.313rem;
    margin-top: -0.5rem;
    -moz-appearance: none;
    background: #FFFFFF;
    border-radius: 12px; }
  input[type="range"]::-ms-track {
    height: 0.313rem;
    border: 0;
    border-top: 0.5rem solid #F1F4f6;
    border-bottom: 0.5rem solid #F1F4f6;
    background: #d6dbe0;
    overflow: visible;
    color: transparent; }
  input[type="range"]::-ms-thumb {
    width: 1.313rem;
    height: 1.313rem;
    border: 0;
    background: #FFFFFF;
    border-radius: 12px; }
  input[type="range"]::-ms-fill-lower {
    background: #002E52; }
  input[type="range"]::-ms-fill-upper {
    background: #d6dbe0; }
  output {
    vertical-align: middle;
    margin-left: 0.5em;
    line-height: 1.313rem; }

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

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 0.75rem 0;
  border: 0;
  border-bottom: 0;
  font-size: 0.9375rem;
  line-height: 1;
  color: #031321; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 0;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: transparent; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 0 0 0;
  border: 0;
  border-bottom: 0;
  background-color: #F7FAFD;
  color: #000000; }
  :last-child > .accordion-content:last-child {
    border-bottom: 0; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0 0.625rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0 0.625rem; }

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

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #FFFFFF transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -2.5px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

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

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #FFFFFF transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

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

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

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 1rem;
    color: #031321;
    cursor: default; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.5rem;
      opacity: 1;
      content: "→";
      color: #9FA6AD; }
  .breadcrumbs a {
    color: #031321; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #d6dbe0;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 1.125rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button, .checkout-shipping-method button.button-group.continue .button, .checkout-container button.button-group.checkout .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #003660;
    color: #FFFFFF; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #004d89;
      color: #FFFFFF; }
  .button-group.primaryDark .button {
    background-color: #002E52;
    color: #FFFFFF; }
    .button-group.primaryDark .button:hover, .button-group.primaryDark .button:focus {
      background-color: #00467d;
      color: #FFFFFF; }
  .button-group.secondary .button {
    background-color: #e95f13;
    color: #000000; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #ed6e28;
      color: #000000; }
  .button-group.cta .button, .checkout-shipping-method button.button-group.continue .button, .checkout-container button.button-group.checkout .button {
    background-color: #043A63;
    color: #FFFFFF; }
    .button-group.cta .button:hover, .checkout-shipping-method button.button-group.continue .button:hover, .checkout-container button.button-group.checkout .button:hover, .button-group.cta .button:focus, .checkout-shipping-method button.button-group.continue .button:focus, .checkout-container button.button-group.checkout .button:focus {
      background-color: #06518a;
      color: #FFFFFF; }
  .button-group.stone .button {
    background-color: #363A43;
    color: #FFFFFF; }
    .button-group.stone .button:hover, .button-group.stone .button:focus {
      background-color: #474d59;
      color: #FFFFFF; }
  .button-group.success .button {
    background-color: #008040;
    color: #FFFFFF; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #00a653;
      color: #FFFFFF; }
  .button-group.warning .button {
    background-color: #FFC800;
    color: #000000; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #ffce1a;
      color: #000000; }
  .button-group.alert .button {
    background-color: #EF5959;
    color: #000000; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #f16a6a;
      color: #000000; }
  .button-group.white .button {
    background-color: #FFFFFF;
    color: #000000; }
    .button-group.white .button:hover, .button-group.white .button:focus {
      background-color: white;
      color: #000000; }
  .button-group.black .button {
    background-color: #000000;
    color: #FFFFFF; }
    .button-group.black .button:hover, .button-group.black .button:focus {
      background-color: #1a1a1a;
      color: #FFFFFF; }
  .button-group.pink .button {
    background-color: #E3B9D3;
    color: #000000; }
    .button-group.pink .button:hover, .button-group.pink .button:focus {
      background-color: #e6c0d7;
      color: #000000; }
  .button-group.red .button {
    background-color: #ff1500;
    color: #000000; }
    .button-group.red .button:hover, .button-group.red .button:focus {
      background-color: #ff2c1a;
      color: #000000; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 2.5rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
  background-color: white;
  color: #000000; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #003660;
    color: #F1F4f6; }
  .callout.primaryDark {
    background-color: #002e52;
    color: #F1F4f6; }
  .callout.secondary {
    background-color: #e95f13;
    color: #000000; }
  .callout.cta, .checkout-shipping-method button.callout.continue, .checkout-container button.callout.checkout {
    background-color: #043a63;
    color: #F1F4f6; }
  .callout.stone {
    background-color: #363a43;
    color: #F1F4f6; }
  .callout.success {
    background-color: #008040;
    color: #F1F4f6; }
  .callout.warning {
    background-color: #ffc800;
    color: #000000; }
  .callout.alert {
    background-color: #ef5959;
    color: #000000; }
  .callout.white {
    background-color: white;
    color: #000000; }
  .callout.black {
    background-color: black;
    color: #F1F4f6; }
  .callout.pink {
    background-color: #e3b9d3;
    color: #000000; }
  .callout.red {
    background-color: #ff1500;
    color: #000000; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large, .checkout-shipping-method button.callout.continue, .checkout-container button.callout.checkout {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card, .firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items .shipping-address-item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #d6dbe0;
  border-radius: 0;
  background: #FFFFFF;
  box-shadow: none;
  overflow: hidden;
  color: #000000; }
  .card > :last-child, .firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items .shipping-address-item > :last-child {
    margin-bottom: 0; }

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

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

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

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

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0 0.625rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #003660;
    color: #0E558D; }
  .menu .active > a {
    background: #003660;
    color: #0E558D; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0 0.625rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

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

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

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

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

.drilldown a {
  padding: 0 0.625rem;
  background: #FFFFFF; }

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

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

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

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

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

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

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

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

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

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

.dropdown-pane.large, .checkout-shipping-method button.dropdown-pane.continue, .checkout-container button.dropdown-pane.checkout {
  width: 400px; }

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

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

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

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

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

.dropdown.menu .is-active > a {
  background: transparent;
  color: #003660; }

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

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

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

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

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

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

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

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

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

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

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

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

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

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 2px;
  font-size: 0.688rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #003660;
  color: #FFFFFF; }
  .label.primary {
    background: #003660;
    color: #FFFFFF; }
  .label.primaryDark {
    background: #002E52;
    color: #FFFFFF; }
  .label.secondary {
    background: #e95f13;
    color: #000000; }
  .label.cta, .checkout-shipping-method button.label.continue, .checkout-container button.label.checkout {
    background: #043A63;
    color: #FFFFFF; }
  .label.stone {
    background: #363A43;
    color: #FFFFFF; }
  .label.success {
    background: #008040;
    color: #FFFFFF; }
  .label.warning {
    background: #FFC800;
    color: #000000; }
  .label.alert {
    background: #EF5959;
    color: #000000; }
  .label.white {
    background: #FFFFFF;
    color: #000000; }
  .label.black {
    background: #000000;
    color: #FFFFFF; }
  .label.pink {
    background: #E3B9D3;
    color: #000000; }
  .label.red {
    background: #ff1500;
    color: #000000; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

.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: #FFFFFF; }
  [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;
    border-radius: 50%;
    background-color: #9FA6AD; }
    .orbit-bullets button:hover {
      background-color: #8A8D96; }
    .orbit-bullets button.is-active {
      background-color: #8A8D96; }

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

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

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

.progress {
  height: 0.313rem;
  margin-bottom: 1rem;
  border-radius: 10px;
  background-color: #d6dbe0; }
  .progress.primary .progress-meter {
    background-color: #003660; }
  .progress.primaryDark .progress-meter {
    background-color: #002E52; }
  .progress.secondary .progress-meter {
    background-color: #e95f13; }
  .progress.cta .progress-meter, .checkout-shipping-method button.progress.continue .progress-meter, .checkout-container button.progress.checkout .progress-meter {
    background-color: #043A63; }
  .progress.stone .progress-meter {
    background-color: #363A43; }
  .progress.success .progress-meter {
    background-color: #008040; }
  .progress.warning .progress-meter {
    background-color: #FFC800; }
  .progress.alert .progress-meter {
    background-color: #EF5959; }
  .progress.white .progress-meter {
    background-color: #FFFFFF; }
  .progress.black .progress-meter {
    background-color: #000000; }
  .progress.pink .progress-meter {
    background-color: #E3B9D3; }
  .progress.red .progress-meter {
    background-color: #ff1500; }

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

.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: #FFFFFF;
  white-space: nowrap;
  border-radius: 10px; }

.slider {
  position: relative;
  height: 0.313rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #d6dbe0;
  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.313rem;
  background-color: #002E52;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

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

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

.slider.vertical {
  display: inline-block;
  width: 0.313rem;
  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.313rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.313rem;
    height: 1.313rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

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

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

.switch-paddle {
  position: relative;
  display: block;
  width: 3.75rem;
  height: 1.875rem;
  border-radius: 50px;
  background: #d6dbe0;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.125rem;
    left: 0.125rem;
    display: block;
    width: 1.625rem;
    height: 1.625rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 50px;
    background: #FFFFFF;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #008040; }
    input:checked ~ .switch-paddle::after {
      left: 2rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

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

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

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

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.125rem;
    left: 0.125rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.625rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.125rem;
    left: 0.125rem;
    width: 1.5rem;
    height: 1.5rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 1.875rem; }

.switch.large, .checkout-shipping-method button.switch.continue, .checkout-container button.switch.checkout {
  height: 2.5rem; }
  .switch.large .switch-paddle, .checkout-shipping-method button.switch.continue .switch-paddle, .checkout-container button.switch.checkout .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after, .checkout-shipping-method button.switch.continue .switch-paddle::after, .checkout-container button.switch.checkout .switch-paddle::after {
    top: 0.125rem;
    left: 0.125rem;
    width: 2.25rem;
    height: 2.25rem; }
  .switch.large input:checked ~ .switch-paddle::after, .checkout-shipping-method button.switch.continue input:checked ~ .switch-paddle::after, .checkout-container button.switch.checkout input:checked ~ .switch-paddle::after {
    left: 2.625rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #d6dbe0;
    background-color: #FFFFFF; }
  caption {
    padding: 1.25rem 0.625rem 1.3125rem;
    font-weight: 500; }
  thead {
    background: #f9f9f9;
    color: #000000; }
  tfoot {
    background: #f2f2f2;
    color: #000000; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 1.25rem 0.625rem 1.3125rem;
    font-weight: 500;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 1.25rem 0.625rem 1.3125rem; }
  tbody tr {
    border-bottom: 0;
    border-bottom: 1px solid #d6dbe0;
    background-color: #FFFFFF; }
  table.striped tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #fcfcfc; }

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

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

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

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

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

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

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

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

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

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

.tabs.primary {
  background: #003660; }
  .tabs.primary > li > a {
    color: #FFFFFF; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #004275; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 0 1.25rem 1rem;
    font-size: 1rem;
    line-height: 1;
    color: #000000; }
    .tabs-title > a:hover {
      background: transparent;
      color: black; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: transparent;
      color: #000000; }

.tabs-content {
  border: 1px solid none;
  border-top: 0;
  background: transparent;
  color: #000000;
  transition: all 0.5s ease; }

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

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

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

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

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

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

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

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

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

.tooltip {
  position: absolute;
  top: calc(100% + 0.1875rem);
  z-index: 1200;
  max-width: 12rem;
  padding: 0.5rem;
  border-radius: 2px;
  background-color: rgba(38, 39, 40, 0.9);
  font-size: 80%;
  color: #FFFFFF; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.375rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent rgba(38, 39, 40, 0.9);
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.375rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: rgba(38, 39, 40, 0.9) transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.375rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent rgba(38, 39, 40, 0.9);
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.375rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent rgba(38, 39, 40, 0.9) transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.align-right.vertical.menu > li > a {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

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

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

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

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

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

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

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

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

.align-center-middle {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

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

.flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.bg-orange {
  background: #e95f13; }

.bg-green {
  background: #41a62a; }

.bg-red {
  background: #EF5959; }

.bg-lightgray,
.bg-lightgrey {
  background: #d6dbe0; }

.color-red {
  color: #EF5959; }

.font-bold {
  font-weight: bold; }

.white-space,
.space-top {
  margin-top: 0.5rem; }
  @media print, screen and (min-width: 40em) {
    .white-space,
    .space-top {
      margin-top: 20px; } }
  @media print, screen and (min-width: 64em) {
    .white-space,
    .space-top {
      margin-top: 2.5rem; } }

.space-bottom {
  margin-bottom: 0.5rem; }
  @media print, screen and (min-width: 40em) {
    .space-bottom {
      margin-bottom: 20px; } }
  @media print, screen and (min-width: 64em) {
    .space-bottom {
      margin-bottom: 2.5rem; } }
  .space-bottom img {
    width: 100%; }

/**
* CSS based chevron (arrow)
* TODO Support all directions (transform, switch properties)
* TODO Shorten arguments list through $mixin-default-variables
* TODO Refactor this with @mixin `arrow-down`
***/
._hidden {
  display: none !important; }

@font-face {
  font-family: 'ITCFranklinGothic';
  src: url("../fonts/itcfranklingothic/ITCFranklinGothicBook.ttf") format("truetype"), url("../fonts/itcfranklingothic/ITCFranklinGothicBook.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'ITCFranklinGothic-Cd';
  src: url("../fonts/itcfranklingothic/ITCFranklinGothicBookCondensed.ttf") format("truetype"), url("../fonts/itcfranklingothic/ITCFranklinGothicBookCondensed.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'ITCFranklinGothic';
  src: url("../fonts/itcfranklingothic/ITCFranklinGothicMedium.ttf") format("truetype"), url("../fonts/itcfranklingothic/ITCFranklinGothicMedium.woff") format("woff");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'ITCFranklinGothic-Cd';
  src: url("../fonts/itcfranklingothic/ITCFranklinGothicMediumCondensed.ttf") format("truetype"), url("../fonts/itcfranklingothic/ITCFranklinGothicMediumCondensed.woff") format("woff");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'scout';
  src: url("../fonts/scout/scout.ttf?wssagm") format("truetype"), url("../fonts/scout/scout.woff?wssagm") format("woff"), url("../fonts/scout/scout.svg?wssagm#scout") format("svg");
  font-weight: normal;
  font-style: normal; }

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

.icon-caret-down:before {
  content: ""; }

.icon-caret-left:before {
  content: ""; }

.icon-caret-right:before {
  content: ""; }

.icon-caret-up:before {
  content: ""; }

.icon-close:before {
  content: ""; }

.icon-bag-yellow {
  position: relative; }
  .icon-bag-yellow .path1:before {
    content: "";
    color: #fac241; }
  .icon-bag-yellow .path2:before {
    bottom: 0;
    content: "";
    left: 0;
    position: absolute; }
  .icon-bag-yellow .path3:before {
    content: "";
    color: #fac241;
    left: 0;
    position: absolute;
    top: 0; }

.icon-bag {
  position: relative; }
  .icon-bag .path1:before {
    content: "";
    color: #FFFFFF; }
  .icon-bag .path2:before {
    bottom: 0;
    content: "";
    color: #000000;
    left: 0;
    position: absolute; }
  .icon-bag .path3:before {
    content: "";
    color: #FFFFFF;
    left: 0;
    position: absolute;
    top: 0; }

.icon-heart:before {
  content: ""; }

.icon-user:before {
  content: ""; }

.icon-trash:before {
  content: ""; }

.icon-search:before {
  content: ""; }

.icon-edit:before {
  content: ""; }

.icon-ruler:before {
  content: ""; }

.icon-tag:before {
  content: ""; }

.icon-leaf:before {
  content: ""; }

.icon-check:before {
  content: ""; }

.icon-truck:before {
  content: ""; }

.icon-star:before {
  content: ""; }

.icon-chat:before {
  content: ""; }

.icon-chevron-left:before {
  content: ""; }

.icon-chevron-up:before {
  content: ""; }

.icon-chevron-down:before {
  content: ""; }

.icon-chevron-right:before {
  content: ""; }

.icon-eco:before {
  content: ""; }

.icon-donation:before {
  content: ""; }

.icon-arrow-right:before {
  content: "→"; }

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga'; }

button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.9375rem 1rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: all 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #003660;
  color: #FFFFFF;
  border-radius: 7px;
  margin-bottom: 0; }
  [data-whatinput='mouse'] button {
    outline: 0; }
  button:hover, button:focus {
    background-color: #005393;
    color: #FFFFFF; }
  button:not(.close-button):not(.action-close) {
    font-weight: 500; }
  button:hover {
    box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
  button:disabled {
    background: #d6dbe0;
    cursor: not-allowed; }
  button:disabled:hover {
    box-shadow: none; }

.out-of-stock-btn {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.9375rem 1rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: all 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #e95f13;
  color: #000000;
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  border-radius: 7px;
  margin-bottom: 0; }
  [data-whatinput='mouse'] .out-of-stock-btn {
    outline: 0; }
  .out-of-stock-btn:hover, .out-of-stock-btn:focus {
    background-color: #ef7e40;
    color: #000000; }
  .out-of-stock-btn:not(.close-button):not(.action-close) {
    font-weight: 500; }
  .out-of-stock-btn:hover {
    box-shadow: 0 6px 15px rgba(233, 95, 19, 0.45); }
  .out-of-stock-btn:disabled {
    background: #d6dbe0;
    cursor: not-allowed; }
  .out-of-stock-btn:disabled:hover {
    box-shadow: none; }

.configurable-btn {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.9375rem 1rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: all 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #363A43;
  color: #FFFFFF;
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  border-radius: 7px;
  margin-bottom: 0; }
  [data-whatinput='mouse'] .configurable-btn {
    outline: 0; }
  .configurable-btn:hover, .configurable-btn:focus {
    background-color: #4d525f;
    color: #FFFFFF; }
  .configurable-btn:not(.close-button):not(.action-close) {
    font-weight: 500; }
  .configurable-btn:hover {
    box-shadow: 0 6px 15px rgba(54, 58, 67, 0.45); }
  .configurable-btn:disabled {
    background: #d6dbe0;
    cursor: not-allowed; }
  .configurable-btn:disabled:hover {
    box-shadow: none; }

.scout-button {
  background: #003660;
  margin-bottom: 0;
  border-radius: 10px;
  color: #FFFFFF;
  display: inline-block;
  white-space: nowrap;
  padding: 0.8rem 1.5rem;
  font-size: 1rem; }
  @media print, screen and (min-width: 40em) {
    .scout-button {
      padding: 1rem 2.5rem;
      font-size: 1.5rem; } }
  .scout-button.disabled {
    background: #d6dbe0;
    cursor: not-allowed; }
  .scout-button.alt {
    background: #e95f13;
    margin-bottom: 0;
    border-radius: 10px;
    color: #FFFFFF;
    display: inline-block;
    white-space: nowrap;
    padding: 0.8rem 1.5rem;
    font-size: 1rem; }
    @media print, screen and (min-width: 40em) {
      .scout-button.alt {
        padding: 1rem 2.5rem;
        font-size: 1.5rem; } }
    .scout-button.alt.disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
  .scout-button.white {
    background: #FFFFFF;
    margin-bottom: 0;
    border-radius: 10px;
    color: #003660;
    display: inline-block;
    white-space: nowrap;
    padding: 0.8rem 1.5rem;
    font-size: 1rem; }
    @media print, screen and (min-width: 40em) {
      .scout-button.white {
        padding: 1rem 2.5rem;
        font-size: 1.5rem; } }
    .scout-button.white.disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
  .scout-button.small {
    background: #003660;
    margin-bottom: 0;
    border-radius: 10px;
    color: #FFFFFF;
    display: inline-block;
    white-space: nowrap;
    padding: 0.8rem 1.5rem;
    font-size: 1rem; }
    .scout-button.small.alt {
      background: #e95f13;
      margin-bottom: 0;
      border-radius: 10px;
      color: #FFFFFF;
      display: inline-block;
      white-space: nowrap;
      padding: 0.8rem 1.5rem;
      font-size: 1rem; }
      @media print, screen and (min-width: 40em) {
        .scout-button.small.alt {
          font-size: 1.25rem; } }
      .scout-button.small.alt.disabled {
        background: #d6dbe0;
        cursor: not-allowed; }
    .scout-button.small.white {
      background: #FFFFFF;
      margin-bottom: 0;
      border-radius: 10px;
      color: #003660;
      display: inline-block;
      white-space: nowrap;
      padding: 0.8rem 1.5rem;
      font-size: 1rem; }
      @media print, screen and (min-width: 40em) {
        .scout-button.small.white {
          font-size: 1.25rem; } }
      .scout-button.small.white.disabled {
        background: #d6dbe0;
        cursor: not-allowed; }
    @media print, screen and (min-width: 40em) {
      .scout-button.small {
        font-size: 1.25rem; } }
    .scout-button.small.disabled {
      background: #d6dbe0;
      cursor: not-allowed; }

[type='submit'],
[type='button'] {
  border-radius: 7px; }

.ui-datepicker .ui-datepicker-calendar td {
  padding: 0; }

.callout.secondary {
  background-color: #F3F4F6;
  border-color: #99A1B5;
  color: #51545C; }
  .callout.secondary .close-button, .callout.secondary h1, .callout.secondary h2, .callout.secondary h3, .callout.secondary h4, .callout.secondary .product-view-extend .description .type, .product-view-extend .description .callout.secondary .type, .callout.secondary h5, .callout.secondary h6 {
    color: #51545C; }

.callout.success {
  background-color: #E4F9D8;
  border-color: #6BB442;
  color: #377A11; }
  .callout.success .close-button, .callout.success h1, .callout.success h2, .callout.success h3, .callout.success h4, .callout.success .product-view-extend .description .type, .product-view-extend .description .callout.success .type, .callout.success h5, .callout.success h6 {
    color: #377A11; }

.callout.warning {
  background-color: #FFF1CC;
  border-color: #FFBA00;
  color: #8F5B00; }
  .callout.warning .close-button, .callout.warning h1, .callout.warning h2, .callout.warning h3, .callout.warning h4, .callout.warning .product-view-extend .description .type, .product-view-extend .description .callout.warning .type, .callout.warning h5, .callout.warning h6 {
    color: #8F5B00; }

.callout.alert {
  background-color: #FFEAEA;
  border-color: #EF5959;
  color: #B11F1F; }
  .callout.alert .close-button, .callout.alert h1, .callout.alert h2, .callout.alert h3, .callout.alert h4, .callout.alert .product-view-extend .description .type, .product-view-extend .description .callout.alert .type, .callout.alert h5, .callout.alert h6 {
    color: #B11F1F; }

.company-switcher-list .company-switcher-list-item .company-name {
  display: block; }
  .company-switcher-list .company-switcher-list-item .company-name.link {
    color: #003660; }
    .company-switcher-list .company-switcher-list-item .company-name.link:hover {
      color: #002e53; }
  .company-switcher-list .company-switcher-list-item .company-name.current {
    color: #d6dbe0; }

* {
  outline: none; }

body {
  background-color: #F1F4f6;
  overflow-x: hidden; }

/* Inline */
@media print, screen and (min-width: 40em) {
  .page-wrapper {
    margin-bottom: 0; } }

.content-overlay .page-wrapper:after {
  background: rgba(4, 19, 33, 0.8);
  bottom: 0;
  content: " ";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1; }

main {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 79.5rem;
  margin: 0 auto;
  background: #FFFFFF;
  padding-top: 10px;
  padding-bottom: 60px; }
  @media print, screen and (min-width: 40em) {
    main {
      padding-right: 1rem;
      padding-left: 1rem; } }
  @media print, screen and (min-width: 64em) {
    main {
      padding-top: 28px; } }

.breadcrumbs + main {
  padding-top: 0; }

p.lead {
  font-size: 1.25rem;
  margin-bottom: 2.5rem; }

p.small {
  font-size: .813rem; }

blockquote {
  font-size: 1.5rem;
  padding: 0;
  font-style: italic; }

.caption {
  color: #8A8D96;
  font-size: .875rem;
  display: block;
  margin-top: 10px; }
  .caption.aside {
    margin-top: 0;
    padding-top: 10px;
    border-top: 1px solid #d6dbe0; }

.label {
  font-weight: bold;
  text-transform: uppercase; }

.blog-sell {
  font-weight: 500;
  font-size: .875rem;
  margin-bottom: 1.5rem; }
  .blog-sell img {
    display: block;
    margin: 0 auto; }

.blog-meta {
  margin-top: 2.5rem;
  padding-top: 1rem;
  border-top: 1px solid #d6dbe0; }
  .blog-meta span {
    display: block;
    color: #8A8D96;
    font-size: .875rem; }

h5 {
  text-transform: uppercase; }

/* Form */
fieldset, .fieldset {
  padding: 0;
  margin: 0;
  border: 0; }
  fieldset legend, .fieldset legend {
    display: none; }

label.label, span.label, legend.label {
  background: transparent;
  padding: 0;
  color: #000000;
  font-size: inherit;
  text-transform: none;
  font-weight: normal;
  margin-bottom: 10px; }

textarea {
  min-height: 100px; }

.accordion {
  border-top: 1px solid #CFD3DC; }
  .accordion .accordion-item {
    border-bottom: 1px solid #CFD3DC; }
    .accordion .accordion-item .accordion-title {
      font-size: .875rem;
      text-transform: uppercase;
      font-weight: 500; }
      .accordion .accordion-item .accordion-title:hover, .accordion .accordion-item .accordion-title:focus {
        color: #000000; }
      .accordion .accordion-item .accordion-title:before {
        right: 0; }

/* Elements */
h4 + hr, .product-view-extend .description .type + hr {
  margin-top: 0; }

.progress-meter,
.slider-fill,
.slider {
  border-radius: 100px; }

.slider-handle {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
  .slider-handle:after {
    content: '';
    display: block;
    width: 1px;
    height: 9px;
    position: absolute;
    top: 6px;
    left: 10px;
    background: #cfd3dc;
    box-shadow: 3px 0 0 #cfd3dc, -3px 0 0 #cfd3dc; }

/* Misc */
.tooltip {
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
  text-align: center; }

.card button, .firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items .shipping-address-item button, .card .button, .firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items .shipping-address-item .button {
  margin-bottom: 0; }

.card .card-section, .firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items .shipping-address-item .card-section {
  background: #FFFFFF; }

.tabs {
  box-shadow: inset 0 -1px 0 #d6dbe0; }
  .tabs .tabs-title.is-active {
    box-shadow: inset 0 -4px 0 #363A43; }

table {
  font-size: .813rem; }
  table.striped tbody tr:nth-child(even) {
    border-bottom: 1px solid #d6dbe0; }
  table thead {
    text-transform: uppercase;
    font-size: .75rem; }

.field-tooltip-content, span.note {
  font-size: .813rem;
  font-style: italic; }

.reveal {
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.22), 0 24px 24px rgba(0, 0, 0, 0.3); }

/* Magento */
::-moz-selection {
  color: #fff;
  background: #F57500;
  /* WebKit/Blink Browsers */ }
::selection {
  color: #fff;
  background: #F57500;
  /* WebKit/Blink Browsers */ }

::-moz-selection {
  color: #fff;
  background: #F57500;
  /* Gecko Browsers */ }

.no-margin {
  margin: 0; }

.dummy-ul li {
  list-style: none; }

.skip {
  display: none !important; }

.breadcrumbs {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 79.5rem;
  margin: 0 auto;
  background: #FFFFFF;
  padding-bottom: 25px;
  padding-top: 25px; }
  @media print, screen and (min-width: 40em) {
    .breadcrumbs {
      padding-right: 1rem;
      padding-left: 1rem; } }
  .breadcrumbs:before {
    font-family: 'scout';
    font-weight: normal;
    font-style: normal;
    font-size: 1.125rem;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    content: "";
    float: left;
    margin-right: .5rem; }
  .breadcrumbs > ul {
    margin: 0 0 1rem 0;
    list-style: none;
    margin-bottom: 0; }
    .breadcrumbs > ul::before, .breadcrumbs > ul::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .breadcrumbs > ul::after {
      clear: both; }
    .breadcrumbs > ul li {
      float: left;
      font-size: 1rem;
      color: #031321;
      cursor: default; }
      .breadcrumbs > ul li:not(:last-child)::after {
        position: relative;
        margin: 0 0.5rem;
        opacity: 1;
        content: "→";
        color: #9FA6AD; }
    .breadcrumbs > ul a {
      color: #031321; }
      .breadcrumbs > ul a:hover {
        text-decoration: underline; }
  .breadcrumbs li {
    line-height: 1.25rem; }
    .breadcrumbs li:after {
      display: inline-block;
      float: right;
      line-height: 1; }
    .breadcrumbs li strong {
      font-weight: normal; }

.pages-items {
  margin: 0;
  font-weight: 500;
  list-style: none;
  position: relative; }
  .pages-items li {
    display: inline-block;
    text-align: center;
    padding: .5rem; }
    .pages-items li:first-child:not(.current), .pages-items li:last-child:not(.current) {
      position: absolute; }
    .pages-items li:first-child:not(.current) {
      left: 0; }
    .pages-items li:last-child:not(.current) {
      right: 0; }
    .pages-items li .action.previous:before {
      font-family: 'scout';
      font-weight: normal;
      font-style: normal;
      font-size: 0.75rem;
      display: inline-block;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      font-feature-settings: 'liga';
      content: ""; }
    .pages-items li .action.next:after {
      font-family: 'scout';
      font-weight: normal;
      font-style: normal;
      font-size: 0.75rem;
      display: inline-block;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      font-feature-settings: 'liga';
      content: ""; }
    .pages-items li .action.previous,
    .pages-items li .action.next,
    .pages-items li .page {
      display: inline-block;
      transition: border 0.15s ease-out; }
    .pages-items li i {
      position: relative;
      top: 7px; }

.visible {
  visibility: visible !important; }

[href*="requisition_list"],
#invitation-send-link {
  display: none !important; }

.page-header {
  background-color: #003660;
  color: #FFFFFF;
  position: relative;
  z-index: 2; }
  @media screen and (max-width: 39.9375em) {
    .page-header .desktop-logo {
      display: none !important; } }
  .page-header .mobile-logo {
    max-height: 20px; }
    @media print, screen and (min-width: 40em) {
      .page-header .mobile-logo {
        display: none !important; } }
  .page-header a {
    color: #FFFFFF; }
  .page-header .top-bar {
    height: 33px;
    font-size: 12px;
    font-weight: bold;
    padding: 0; }
    .page-header .top-bar img[src$=".svg"] {
      width: 16px;
      position: relative;
      margin-right: 5px; }
    .page-header .top-bar .switch {
      margin-bottom: 0; }
      .page-header .top-bar .switch span {
        font-size: 12px; }
      .page-header .top-bar .switch .switch-active {
        z-index: 1;
        left: 15%; }
      .page-header .top-bar .switch .switch-inactive {
        z-index: 1;
        right: 13%; }
      .page-header .top-bar .switch .switch-paddle {
        background: #494D56;
        width: 150px; }
        .page-header .top-bar .switch .switch-paddle:after {
          background: #2b2e37;
          width: 75px; }
      .page-header .top-bar .switch input:checked ~ .switch-paddle {
        background: #494D56 !important; }
        .page-header .top-bar .switch input:checked ~ .switch-paddle:after {
          left: 72px; }
      .page-header .top-bar .switch input:checked + label > .switch-inactive,
      .page-header .top-bar .switch .switch-active {
        display: block; }
  .page-header .panel.wrapper {
    border-bottom: 1px solid #002644;
    display: block;
    padding-bottom: 7px;
    padding-top: 7px; }
  .page-header .header .header-top-message-wrapper {
    color: #FFFFFF;
    grid-column: 2/3;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .page-header .header .header-top-message-wrapper .header-top-message {
      margin: 0.5rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.25rem; }
      .page-header .header .header-top-message-wrapper .header-top-message.hidden {
        display: none; }
      .page-header .header .header-top-message-wrapper .header-top-message.fadeIn {
        -webkit-animation: fadeIn 0.5s ease-in-out;
                animation: fadeIn 0.5s ease-in-out; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
      @media print, screen and (min-width: 64em) {
        .page-header .header .header-top-message-wrapper .header-top-message.hidden {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; }
        .page-header .header .header-top-message-wrapper .header-top-message.fadeIn {
          -webkit-animation: unset;
                  animation: unset; } }
      @media print, screen and (min-width: 64em) {
        .page-header .header .header-top-message-wrapper .header-top-message:last-of-type:after {
          display: none; }
        .page-header .header .header-top-message-wrapper .header-top-message:after {
          content: '';
          display: inline-block;
          height: 1rem;
          width: 1px;
          background-color: #FFFFFF;
          margin: 0 0 0 1rem; } }
  .page-header .header .my-account:after,
  .page-header .header .my-wishlist:after {
    float: left;
    margin-right: 1rem;
    width: 20px;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .page-header .header .my-account:after,
      .page-header .header .my-wishlist:after {
        margin-right: auto;
        margin-left: 0.5rem;
        float: right; } }
  .page-header .header .my-account:after {
    font-family: 'scout';
    font-weight: normal;
    font-style: normal;
    font-size: 1.125rem;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    content: "";
    color: #A7C3DC; }
  .page-header .header .my-wishlist:after {
    font-family: 'scout';
    font-weight: normal;
    font-style: normal;
    font-size: 1.25rem;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    content: "";
    color: #E3B9D3; }
  .page-header .header.links {
    display: none;
    list-style: none;
    margin-bottom: 0; }
  .page-header .header.panel {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  @media print, screen and (min-width: 40em) {
    .page-header .header-top-menu {
      width: calc(66.66667% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem;
      list-style: none;
      margin-bottom: 0; }
      .page-header .header-top-menu li {
        display: inline-block;
        padding-right: 15px; }
      .page-header .header-top-menu a {
        color: #adbbc7;
        font-size: 14px;
        font-weight: 500; }
        .page-header .header-top-menu a:hover {
          color: #FFFFFF; }
    .page-header .header.links {
      display: unset;
      grid-column: 3/4;
      text-align: right; }
      .page-header .header.links li {
        display: inline-block;
        padding-right: 1rem; }
        .page-header .header.links li:last-child {
          padding-right: 0; }
      .page-header .header.links a {
        cursor: pointer;
        display: block;
        font-size: 0.875rem;
        font-weight: 500;
        line-height: 1.25rem; } }
  .page-header .header.content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-flow: row;
        -ms-flex-flow: row;
            flex-flow: row;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative; }
    .page-header .header.content .nav-toggle {
      margin-left: 0;
      text-align: center;
      width: 45px; }
      @media print, screen and (min-width: 40em) {
        .page-header .header.content .nav-toggle {
          display: none !important; } }
      .page-header .header.content .nav-toggle img {
        height: 1.5rem; }
      .page-header .header.content .nav-toggle span {
        display: block; }
    .page-header .header.content .logo {
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding: 10px 0;
      text-align: left; }
      .page-header .header.content .logo .logo-text {
        display: inline-block;
        font-size: 28px;
        line-height: 1;
        padding: 12px 0 0 5px; }
        .page-header .header.content .logo .logo-text strong {
          font-family: "ITCFranklinGothic-Cd", Helvetica, Roboto, Arial, sans-serif;
          font-weight: 500; }
      .page-header .header.content .logo img {
        float: left;
        width: 360px; }
    @media screen and (max-width: 39.9375em) {
      .page-header .header.content .authorization-link {
        display: none; } }
    .page-header .header.content .account {
      position: relative;
      font-weight: 500;
      font-size: .875rem; }
      .page-header .header.content .account .authorization-link {
        text-decoration: underline; }
        .page-header .header.content .account .authorization-link img[src$=".svg"] {
          position: relative;
          margin-left: 1rem; }
    @media screen and (max-width: 39.9375em) {
      .page-header .header.content .block-header-right {
        display: none !important; } }
    @media print, screen and (min-width: 40em) {
      .page-header .header.content .block-header-right {
        width: calc(33.33333% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem; } }
    .page-header .header.content .block-header-right-text {
      float: right; }
    .page-header .header.content #budget-header {
      text-align: right;
      margin-right: 1em; }
    .page-header .header.content #budget-header span {
      color: #CFD3DC;
      font-family: "Open Sans";
      font-size: 12px;
      font-weight: bold;
      display: inline-block; }
    .page-header .header.content span#budget-header-balance {
      color: white; }
    .page-header .header.content #customer-fullname-wrapper {
      color: #fff;
      line-height: inherit;
      text-decoration: underline;
      cursor: pointer;
      position: relative;
      font-weight: bold;
      font-size: .875rem;
      text-align: right;
      margin-right: 1em; }
    .page-header .header.content #customer-fullname-wrapper a span {
      font-size: .875rem; }
    .page-header .header.content #customer-fullname-wrapper:hover {
      color: #fff; }
    @media print, screen and (min-width: 40em) {
      .page-header .header.content {
        margin-right: -0.625rem;
        margin-left: -0.625rem;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .page-header .header.content {
      margin-right: -1rem;
      margin-left: -1rem; } }
    @media print, screen and (min-width: 40em) {
        .page-header .header.content .logo {
          width: calc(41.66667% - 2rem);
          margin-right: 1rem;
          margin-left: 1rem;
          -webkit-order: 1;
              -ms-flex-order: 1;
                  order: 1;
          padding: 20px 0; }
          .page-header .header.content .logo .logo-text {
            font-size: 1.875rem;
            padding-top: 10px; } }
    @media print, screen and (min-width: 64em) {
      .page-header .header.content {
        margin-right: -0.625rem;
        margin-left: -0.625rem;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .page-header .header.content {
      margin-right: -1rem;
      margin-left: -1rem; } }
    @media print, screen and (min-width: 64em) {
        .page-header .header.content .logo {
          width: calc(33.33333% - 2rem);
          margin-right: 1rem;
          margin-left: 1rem; }
          .page-header .header.content .logo .logo-text {
            font-size: 3rem;
            padding-top: 10px; } }

.sticky-header {
  position: fixed;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .sticky-header {
      position: relative; } }

.usp {
  background: #fff;
  font-size: 13px;
  color: #526580;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  text-align: center; }
  @media screen and (max-width: 63.9375em) {
    .usp {
      display: none !important; } }
  .usp .grid-x, .usp footer .footer-navigation-wrapper, footer .usp .footer-navigation-wrapper, .usp footer .footer-navigation-wrapper .accordion-menu, footer .footer-navigation-wrapper .usp .accordion-menu, .usp .footer-customer-club .newsletter form.subscribe, .footer-customer-club .newsletter .usp form.subscribe {
    height: 40px; }
  .usp span {
    position: relative;
    top: -4px; }
  .usp img,
  .usp svg {
    margin-right: 5px;
    position: relative;
    top: 2px; }
  .usp svg circle,
  .usp svg ellipse,
  .usp svg line,
  .usp svg path,
  .usp svg polyline {
    stroke: #526580; }
  .usp img {
    vertical-align: baseline; }

.header-account-dropdown {
  padding: 0;
  border-radius: 5px;
  width: 200px;
  list-style: none;
  background: #FFFFFF; }

.header-account-dropdown__link {
  display: block;
  color: #363A43 !important;
  padding: 15px;
  line-height: 100%;
  font-size: 0.8em; }

.header-account-dropdown__link:hover {
  color: #F57500 !important; }

.header-account-dropdown__divider {
  height: 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef; }

/* Menu */
@media screen and (max-width: 39.9375em) {
  .nav-sections {
    background: rgba(3, 19, 33, 0.8);
    bottom: 0;
    left: -100%;
    position: fixed;
    right: 100%;
    top: 6.6rem;
    z-index: 10; }
    .nav-sections #store\.links {
      position: absolute;
      bottom: 0;
      background: #F7FAFD;
      width: 100%;
      margin: 0;
      border-top: 1px solid #c8d4e0; }
      .nav-sections #store\.links .header.links {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        height: 5rem;
        margin: 0;
        padding: 0 0.625rem; }
      .nav-sections #store\.links a {
        display: block;
        padding: 0.5rem 0;
        color: #031321;
        font-size: 0.875rem;
        font-weight: 500; }
    .nav-sections .nav-sections-items {
      background: #FFFFFF;
      bottom: 0;
      left: -100%;
      position: absolute;
      right: 100%;
      top: 0;
      transition: all .3s;
      z-index: 11; }
      .nav-sections .nav-sections-items ul {
        left: 0 !important;
        top: 0 !important; }
    .nav-open .nav-sections {
      left: 0;
      right: 0; }
      .nav-open .nav-sections .nav-sections-items {
        left: 0;
        right: 20%; } }

@media print, screen and (min-width: 40em) {
  .nav-sections {
    background: #002E52; }
    .nav-sections .header.links {
      display: none; } }

.nav-sections .section-item-title {
  display: none; }

.nav-sections nav.navigation ul {
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0; }
  .nav-sections nav.navigation ul li.level0 {
    border-bottom: 1px solid #c8d4e0; }
  .nav-sections nav.navigation ul li a {
    color: #031321;
    cursor: pointer;
    display: block;
    font-size: 15px;
    line-height: 1.5;
    padding: 9px 30px 7px 10px;
    position: relative; }
  .nav-sections nav.navigation ul li.all-category a {
    text-decoration: underline; }
  .nav-sections nav.navigation ul li.active a {
    color: #0E558D;
    font-weight: 500; }
  .nav-sections nav.navigation ul li:last-child {
    border-bottom: none; }
  .nav-sections nav.navigation ul ul {
    background-color: #F7FAFD;
    border-top: 1px solid #c8d4e0; }
    @media print, screen and (min-width: 64em) {
      .nav-sections nav.navigation ul ul {
        opacity: 0;
        position: absolute;
        transition: all 0.2s ease-in-out;
        z-index: 10; } }
    .nav-sections nav.navigation ul ul li a {
      padding-left: 10px; }
    .nav-sections nav.navigation ul ul li .ui-icon {
      position: relative;
      display: block;
      float: right;
      top: 5px;
      right: -10px; }
      .nav-sections nav.navigation ul ul li .ui-icon svg path {
        fill: #000000; }
    .nav-sections nav.navigation ul ul li a {
      color: #031321;
      display: block; }
    .nav-sections nav.navigation ul ul li ul {
      width: 66.68%;
      left: 33.34%;
      top: 0;
      background: #f7f7f7;
      z-index: 11;
      border-left: 1px solid #CFD3DC;
      box-shadow: inset 8px 0 5px 0 rgba(0, 0, 0, 0.05); }
      .nav-sections nav.navigation ul ul li ul li {
        width: 50%; }
      .nav-sections nav.navigation ul ul li ul ul {
        left: 50%;
        width: 50%;
        z-index: 12;
        box-shadow: none; }
        .nav-sections nav.navigation ul ul li ul ul li {
          width: 100%; }
    .nav-sections nav.navigation ul ul .image-wrapper {
      max-width: 50%;
      height: 350px;
      position: absolute;
      top: 0;
      right: 0;
      overflow: hidden; }
  .nav-sections nav.navigation ul li:hover > ul.submenu {
    visibility: visible;
    opacity: 1; }
  @media print, screen and (min-width: 40em) {
    .nav-sections nav.navigation ul {
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      max-width: 79.5rem;
      margin: 0 auto;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .nav-sections nav.navigation ul {
      padding-right: 1rem;
      padding-left: 1rem; } }
  @media print, screen and (min-width: 40em) {
      .nav-sections nav.navigation ul ul {
        background: #FFFFFF;
        box-shadow: 0 7px 13px -5px rgba(0, 0, 0, 0.36);
        border-top: none;
        -webkit-flex-flow: column;
            -ms-flex-flow: column;
                flex-flow: column;
        min-width: 300px;
        padding-left: 0;
        padding-right: 0; }
        .nav-sections nav.navigation ul ul li {
          border-bottom: 1px solid #d6dbe0; }
          .nav-sections nav.navigation ul ul li:last-child {
            border-bottom: none; }
          .nav-sections nav.navigation ul ul li.active, .nav-sections nav.navigation ul ul li:hover {
            background: #F7FAFD; }
            .nav-sections nav.navigation ul ul li.active a, .nav-sections nav.navigation ul ul li:hover a {
              color: #0E558D; }
      .nav-sections nav.navigation ul li.level-top {
        border-bottom: none; }
        .nav-sections nav.navigation ul li.level-top > a {
          color: #FFFFFF;
          font-size: 16px;
          font-weight: 500;
          padding: 18px 15px 15px; }
      .nav-sections nav.navigation ul li.level1 a {
        color: #2e3134;
        padding-left: 0.875rem;
        width: 100%; }
      .nav-sections nav.navigation ul li.parent > a {
        padding-right: 30px; }
      .nav-sections nav.navigation ul .level-top.parent > a:after {
        color: #FFFFFF;
        content: "";
        font-size: 0.375rem;
        right: 10px; }
      .nav-sections nav.navigation ul .level-top.parent > a.ui-state-focus, .nav-sections nav.navigation ul .level-top.parent > a.ui-state-active {
        background: #FFFFFF;
        color: #043A63; }
        .nav-sections nav.navigation ul .level-top.parent > a.ui-state-focus:after, .nav-sections nav.navigation ul .level-top.parent > a.ui-state-active:after {
          color: #043A63;
          -webkit-transform: translateY(-50%) rotate(180deg);
              -ms-transform: translateY(-50%) rotate(180deg);
                  transform: translateY(-50%) rotate(180deg); } }

.nav-sections nav.navigation .level0.submenu .parent::after {
  content: "";
  display: inline-block;
  float: right;
  margin-top: 8px;
  margin-right: 10px;
  width: 20px;
  height: 20px;
  background-position: center; }

.nav-sections nav.navigation ul ul li a {
  display: inline-block !important; }

.nav-sections .level-top.parent > a {
  padding-right: 1.2rem; }
  .nav-sections .level-top.parent > a:after {
    font-family: 'scout';
    font-weight: normal;
    font-style: normal;
    font-size: 12px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    content: "";
    color: #9FA6AD;
    display: block;
    position: absolute;
    right: 15px;
    top: 50%;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

.nav-sections .level0.submenu {
  display: none;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .nav-sections .level0.submenu {
      position: absolute; } }

.hamburger-menu {
  height: 20px;
  position: relative;
  width: auto; }
  .hamburger-menu span {
    background: #FFFFFF;
    border-radius: 9px;
    display: block;
    height: 3px;
    opacity: 1;
    left: 0;
    position: absolute;
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
    transition: .25s ease-in-out;
    width: 27px; }
    .hamburger-menu span:nth-child(1) {
      top: 0px; }
    .hamburger-menu span:nth-child(2) {
      top: 8px; }
    .hamburger-menu span:nth-child(3) {
      top: 16px; }

.nav-open .hamburger-menu span:nth-child(3),
.hamburger-menu.open span:nth-child(3) {
  top: 7px;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
      transform: rotate(-135deg); }

.nav-open .hamburger-menu span:nth-child(2),
.hamburger-menu.open span:nth-child(2) {
  opacity: 0; }

.nav-open .hamburger-menu span:nth-child(1),
.hamburger-menu.open span:nth-child(1) {
  top: 7px;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
      transform: rotate(135deg); }

.minicart-wrapper .action .icon-bag {
  font-size: 30px; }
  .minicart-wrapper .action .icon-bag .path1:before, .minicart-wrapper .action .icon-bag .path2:before, .minicart-wrapper .action .icon-bag .path3:before {
    transition: color .3s; }

.minicart-wrapper .action:hover .icon-bag .path1:before, .minicart-wrapper .action:hover .icon-bag .path3:before, .minicart-wrapper .action.active .icon-bag .path1:before, .minicart-wrapper .action.active .icon-bag .path3:before {
  color: #e95f13; }

.minicart-wrapper .action:after {
  clear: both;
  content: " ";
  display: block; }

.minicart-wrapper .counter .counter-number {
  background-color: #e95f13;
  border-radius: 50%;
  display: block;
  font-size: 10px;
  font-weight: bold;
  height: 14px;
  line-height: 14px;
  min-width: 14px;
  position: absolute;
  padding: 1px;
  right: -3px;
  text-align: center;
  text-shadow: 1px 1px rgba(0, 0, 0, 0.5);
  top: 10px; }
  @media print, screen and (min-width: 40em) {
    .minicart-wrapper .counter .counter-number {
      font-size: 15px;
      height: 20px;
      line-height: 20px;
      min-width: 20px;
      padding: 2px;
      right: -8px;
      top: -5px; } }

.minicart-wrapper .counter .counter-label {
  display: none; }

.minicart-wrapper .counter.empty {
  visibility: hidden; }

.minicart-wrapper .price-container.amount {
  display: none; }

@media screen and (max-width: 39.9375em) {
  .minicart-wrapper {
    right: 1.25rem; } }

@media print, screen and (min-width: 40em) {
  .minicart-wrapper {
    width: calc(25% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    position: relative;
    top: 0; }
    .minicart-wrapper a {
      color: #fff; }
    .minicart-wrapper .icon-bag {
      display: block;
      float: right; }
    .minicart-wrapper .showcart {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row;
          -ms-flex-flow: row;
              flex-flow: row;
      padding: 0; }
      .minicart-wrapper .showcart .price-container {
        display: block;
        -webkit-flex-grow: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        padding-right: 12px;
        text-align: right; }
      .minicart-wrapper .showcart .text {
        display: block;
        line-height: 1.375rem;
        font-size: 1rem;
        font-weight: 500;
        text-transform: uppercase; }
        .minicart-wrapper .showcart .text .vat {
          font-size: .688rem;
          color: #faba80;
          font-weight: normal; }
      .minicart-wrapper .showcart .price {
        font-size: 1.125rem;
        line-height: 1.375rem; }
    .minicart-wrapper .price-container {
      display: block; } }

.minicart-wrapper .quick-order-link.icon-custom a:before {
  content: '';
  display: inline-block;
  position: relative;
  background-image: url("../../images/icons/toc-white.svg");
  background-size: cover;
  height: 16px;
  width: 16px;
  margin-right: 5px;
  vertical-align: middle; }

.block-mobile-search-icon {
  margin: 0 1.25rem 0 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .block-mobile-search-icon {
      display: none; } }

@media print, screen and (min-width: 40em) {
  .search-icon-trigger {
    display: none; } }

.block-search .block-title {
  display: none; }

.block-search .magnifier-lens {
  content: ""; }

.block-search form {
  padding: 0 10px 10px;
  position: relative;
  width: 100%; }
  .block-search form .label {
    display: none; }
  .block-search form .field.search {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
    .block-search form .field.search input {
      height: 50px;
      margin: 0;
      border: none;
      border-radius: 7px; }
  .block-search form .actions {
    position: absolute;
    z-index: 20;
    right: 0;
    top: 0px; }
    .block-search form .actions button {
      display: none;
      box-shadow: none;
      margin: 0; }
      .block-search form .actions button > span {
        display: none; }
  .block-search form .action.advanced {
    display: none; }

@media screen and (max-width: 39.9375em) {
  .block-search {
    background-color: #003660;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1;
    transition: top 0.5s cubic-bezier(0.25, 0.25, 0.75, 0.75);
    top: -300px; }
    .block-search.active {
      top: 100%; }
    .block-search form .control {
      margin-right: 30px; }
    .block-search form .field.search input {
      padding: 20px 10px;
      border-width: 0 0 1px 0;
      border-color: #d3d3d3; }
    .block-search form .actions {
      top: 15px;
      margin-right: 15px; } }

@media print, screen and (min-width: 40em) {
  .block-search {
    width: calc(41.66667% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
    .block-search form {
      padding: 0; } }

@media print, screen and (min-width: 64em) {
  .block-search {
    width: calc(33.33333% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
    margin-left: calc(8.33333% + 0.625rem); } }

.page-footer {
  background: #003660;
  padding: 0;
  color: #FFFFFF;
  font-size: 13px; }
  @media screen and (min-width: 40em) {
    .page-footer {
      padding-bottom: 40px; }
      .page-footer .accordion-menu {
        border-top: none; }
        .page-footer .accordion-menu li a {
          margin-bottom: 0.75rem;
          padding: 0;
          border: none; }
        .page-footer .accordion-menu li .menu {
          margin-left: 0; } }
  .page-footer .footer .small {
    font-weight: bold;
    font-size: 12px; }
    .page-footer .footer .small a {
      color: #FFFFFF; }
  .page-footer .footer {
    padding-top: 5px; }
    .page-footer .footer .accordion {
      border-top: none; }
    .page-footer .footer .block {
      margin-right: -0.625rem;
      margin-left: -0.625rem;
      border-bottom: 1px solid #002440;
      font-size: 0.875rem; }
      @media print, screen and (min-width: 40em) {
        .page-footer .footer .block {
          margin-right: -1rem;
          margin-left: -1rem; } }
      .page-footer .footer .block .title {
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        display: block;
        font-size: 1.5rem;
        font-weight: 500;
        margin-bottom: 0;
        padding-bottom: 8px;
        padding-top: 13px;
        position: relative; }
        @media print, screen and (min-width: 40em) {
          .page-footer .footer .block .title {
            padding-right: 1rem;
            padding-left: 1rem; } }
        .page-footer .footer .block .title strong {
          font-weight: 500; }
      .page-footer .footer .block .content {
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        padding-bottom: 10px; }
        @media print, screen and (min-width: 40em) {
          .page-footer .footer .block .content {
            padding-right: 1rem;
            padding-left: 1rem; } }
        .page-footer .footer .block .content ul li {
          line-height: 2.5; }
      .page-footer .footer .block .highlight {
        background: #002E52;
        padding: 10px 15px;
        position: relative; }
        .page-footer .footer .block .highlight:before {
          font-family: 'scout';
          font-weight: normal;
          font-style: normal;
          font-size: 14px;
          display: inline-block;
          line-height: 1;
          text-transform: none;
          letter-spacing: normal;
          word-wrap: normal;
          white-space: nowrap;
          direction: ltr;
          -webkit-font-smoothing: antialiased;
          text-rendering: optimizeLegibility;
          -moz-osx-font-smoothing: grayscale;
          font-feature-settings: 'liga';
          content: "";
          color: #e95f13;
          left: 0;
          position: absolute;
          top: 0;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%); }
    .page-footer .footer-col-contact .content a {
      text-decoration: underline; }
    .page-footer .footer-col-newsletter form label .label {
      display: none; }
    .page-footer .footer-col-newsletter form input {
      height: 3.125rem;
      border-radius: 7px;
      border: none; }
    .page-footer .footer-col-newsletter form button {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      font-family: inherit;
      padding: 0.9375rem 1rem;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 0;
      transition: all 0.25s ease-out;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      background-color: #003660;
      color: #FFFFFF;
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0;
      border-radius: 7px;
      margin-bottom: 0;
      border-color: #FFFFFF; }
      [data-whatinput='mouse'] .page-footer .footer-col-newsletter form button {
        outline: 0; }
      .page-footer .footer-col-newsletter form button:hover, .page-footer .footer-col-newsletter form button:focus {
        background-color: #005393;
        color: #FFFFFF; }
      .page-footer .footer-col-newsletter form button:not(.close-button):not(.action-close) {
        font-weight: 500; }
      .page-footer .footer-col-newsletter form button:hover {
        box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
      .page-footer .footer-col-newsletter form button:disabled {
        background: #d6dbe0;
        cursor: not-allowed; }
      .page-footer .footer-col-newsletter form button:disabled:hover {
        box-shadow: none; }
    .page-footer .footer .accordion .title:after {
      font-family: 'scout';
      font-weight: normal;
      font-style: normal;
      font-size: 12px;
      display: inline-block;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      font-feature-settings: 'liga';
      content: "";
      color: #FFFFFF;
      display: block;
      position: absolute;
      right: 10px;
      top: 50%;
      transition: -webkit-transform .3s;
      transition: transform .3s;
      transition: transform .3s, -webkit-transform .3s;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
    .page-footer .footer .accordion .title:hover {
      text-decoration: none; }
    .page-footer .footer .accordion .content {
      background: #002E52;
      display: none;
      padding-top: 10px; }
    .page-footer .footer .accordion .block.is-active .title:after {
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
    @media print, screen and (min-width: 40em) {
      .page-footer .footer.content {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-flow: row wrap;
            -ms-flex-flow: row wrap;
                flex-flow: row wrap;
        margin-right: -0.625rem;
        margin-left: -0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .page-footer .footer.content {
      margin-right: -1rem;
      margin-left: -1rem; } }
    @media print, screen and (min-width: 40em) {
      .page-footer .footer .footer-col-store {
        width: calc(50% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
      .page-footer .footer .footer-col-contact {
        width: calc(50% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
        -webkit-order: 3;
            -ms-flex-order: 3;
                order: 3; }
      .page-footer .footer .footer-col-information {
        width: calc(50% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
        -webkit-order: 4;
            -ms-flex-order: 4;
                order: 4; }
      .page-footer .footer .footer-col-newsletter {
        width: calc(50% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; }
      .page-footer .footer .block {
        border-bottom: none; }
        .page-footer .footer .block .title:after {
          display: none; }
        .page-footer .footer .block .content {
          background: none;
          display: block;
          margin-bottom: 1rem;
          padding-bottom: 0;
          padding-top: 0; }
          .page-footer .footer .block .content ul li {
            line-height: inherit; } }
    @media print, screen and (min-width: 64em) {
      .page-footer .footer .footer-col-store {
        width: calc(33.33333% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
      .page-footer .footer .footer-col-contact {
        width: calc(16.66667% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; }
      .page-footer .footer .footer-col-information {
        width: calc(25% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
        padding-left: 40px;
        -webkit-order: 3;
            -ms-flex-order: 3;
                order: 3; }
      .page-footer .footer .footer-col-newsletter {
        width: calc(25% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
        -webkit-order: 4;
            -ms-flex-order: 4;
                order: 4; } }
  .page-footer a,
  .page-footer p,
  .page-footer h1,
  .page-footer h2,
  .page-footer h3,
  .page-footer h4,
  .page-footer .product-view-extend .description .type,
  .product-view-extend .description .page-footer .type,
  .page-footer h5,
  .page-footer h6 {
    color: #fff; }
  .page-footer a:hover {
    text-decoration: underline; }
  .page-footer ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .page-footer small {
    font-size: 0.75rem;
    font-weight: bold; }
  .page-footer .accordion-menu {
    width: 100%;
    margin-bottom: 1rem;
    border-top: 1px solid #363A43; }
    .page-footer .accordion-menu a,
    .page-footer .accordion-menu .is-accordion-submenu a {
      color: #fff;
      padding: 1rem 0.5rem;
      font-size: 1rem;
      border-bottom: 1px solid #363A43; }
    .page-footer .accordion-menu .is-accordion-submenu a {
      font-size: 0.875rem; }
    .page-footer .accordion-menu ul.nested.is-accordion-submenu {
      background: #191C21; }
  .page-footer .footer-bottom {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    padding-top: 2rem; }
    @media print, screen and (min-width: 40em) {
      .page-footer .footer-bottom {
        margin-right: -1rem;
        margin-left: -1rem; } }
    .page-footer .footer-bottom .footer-divider-wrapper {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      min-height: 0px;
      min-width: 0px;
      width: 100%; }
      .page-footer .footer-bottom .footer-divider-wrapper hr {
        border-bottom-color: #404551; }
    .page-footer .footer-bottom small.copyright,
    .page-footer .footer-bottom .footer-trust-marks {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      min-height: 0px;
      min-width: 0px;
      width: calc(100% - 1.25rem);
      margin-right: 0.625rem;
      margin-left: 0.625rem;
      text-align: center; }
    .page-footer .footer-bottom .footer-trust-marks img {
      width: 100%;
      max-width: 484px; }
  .page-footer .about {
    margin-top: 2rem;
    background: no-repeat center center #ffffff; }
    .page-footer .about .grid-x, .page-footer .about footer .footer-navigation-wrapper, footer .page-footer .about .footer-navigation-wrapper, .page-footer .about footer .footer-navigation-wrapper .accordion-menu, footer .footer-navigation-wrapper .page-footer .about .accordion-menu, .page-footer .about .footer-customer-club .newsletter form.subscribe, .footer-customer-club .newsletter .page-footer .about form.subscribe {
      padding: 20px 0 40px; }
    .page-footer .about h2,
    .page-footer .about p {
      color: #363A43; }
    .page-footer .about hr {
      border-color: #d6dbe0; }

.footer-navigation-desktop ul {
  list-style: none;
  margin: 0; }

.footer-contact-info ul {
  margin: 0;
  list-style: none; }

.footer-customer-club {
  margin-bottom: 1.7rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .footer-customer-club {
      margin-right: -1rem;
      margin-left: -1rem; } }

.footer-customer-club .actions .subscribe {
  color: #ffffff; }

.footer-customer-club .actions .subscribe:hover {
  color: #ffffff; }

.footer-customer-club .block.newsletter,
.footer-customer-club .customer-club {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 2rem);
  margin-right: 1rem;
  margin-left: 1rem; }
  @media print, screen and (min-width: 40em) {
    .footer-customer-club .block.newsletter,
    .footer-customer-club .customer-club {
      width: calc(50% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem; } }

.corporate-link-wrapper {
  margin-top: 1rem; }

.required-symbol {
  color: #EF5959; }

.has-error {
  background-color: #EF5959; }

[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 {
  border-radius: 7px; }

.products-grid,
.products-list {
  margin-bottom: 1.25rem; }

.product-items {
  list-style: none;
  margin: 0; }
  .product-items .price-box {
    color: #e95f13;
    font-weight: 500;
    font-size: 1.125rem; }
    .product-items .price-box.loading {
      background: transparent url("../images/loader-1.gif") center center no-repeat;
      background-size: auto 100%;
      color: transparent !important; }
    .product-items .price-box .old-price {
      color: #9FA6AD;
      margin-right: 5px; }
      .product-items .price-box .old-price .price {
        text-decoration: line-through; }
    .product-items .price-box .price-label {
      display: none !important; }
    .product-items .price-box .minimal-price {
      margin-bottom: 0; }
  .product-items .product-item-details {
    font-size: 1rem;
    line-height: 1.25; }
    .product-items .product-item-details button {
      margin-top: 20px; }
  .product-items .product-item-name {
    display: block;
    font-weight: 500; }
    .product-items .product-item-name a {
      color: #043A63; }
  .product-items .product-item-sku {
    font-size: 0.75rem;
    font-weight: normal;
    color: #9FA6AD; }

.products-grid .owl-carousel .owl-prev, .products-grid .owl-carousel .owl-next {
  background-color: transparent;
  box-shadow: none;
  bottom: 0;
  margin: 0;
  position: absolute;
  top: 0; }
  .products-grid .owl-carousel .owl-prev i, .products-grid .owl-carousel .owl-next i {
    background: #003660;
    color: #FFFFFF;
    padding: 20px; }

.products-grid .owl-carousel .owl-prev {
  background-image: linear-gradient(to left, transparent, #ffffff);
  left: 0;
  padding: 0 40px 0 0; }

.products-grid .owl-carousel .owl-next {
  background-image: linear-gradient(to right, transparent, #ffffff);
  right: 0;
  padding: 0 0 0 40px; }

.products-grid .product-item-info .product-image-container {
  width: 180px; }
  .products-grid .product-item-info .product-image-container .product-image-wrapper {
    padding-bottom: 100%; }

.products-grid .product-item-info .product-item-details {
  padding-top: 1rem; }

.product-image-wrapper.carousel {
  margin-bottom: 1rem; }

.toolbar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  border-bottom: 1px solid #c8d4e0;
  border-top: 1px solid #c8d4e0;
  padding-bottom: 1rem;
  padding-top: 1rem; }
  .toolbar .modes {
    display: none !important; }
  .toolbar .filter-button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
    @media screen and (min-width: 40em) {
      .toolbar .filter-button {
        display: none; } }
  .toolbar .off-canvas {
    z-index: 999; }
    .toolbar .off-canvas .filter {
      padding: 20px; }
  .toolbar .toolbar-sorter {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    width: calc(66.66667% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
    margin-left: calc(33.33333% + 0.625rem); }
    .toolbar .toolbar-sorter .sorter-label,
    .toolbar .toolbar-sorter .sorter-options {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      width: auto;
      margin-right: 1rem;
      margin-left: 1rem;
      border-radius: 7px; }
    .toolbar .toolbar-sorter .sorter-action {
      width: calc(16.66667% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem; }
    .toolbar .toolbar-sorter .sorter-label {
      display: none !important; }
    .toolbar .toolbar-sorter label.middle {
      padding: 0.3rem 0;
      margin: 0 1rem 0 0; }
    .toolbar .toolbar-sorter select {
      margin-bottom: 0; }
    .toolbar .toolbar-sorter .sorter-action {
      margin-left: 10px; }
      .toolbar .toolbar-sorter .sorter-action:before {
        font-family: 'scout';
        font-weight: normal;
        font-style: normal;
        font-size: 1rem;
        display: inline-block;
        line-height: 1;
        text-transform: none;
        letter-spacing: normal;
        word-wrap: normal;
        white-space: nowrap;
        direction: ltr;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale;
        font-feature-settings: 'liga';
        content: "";
        line-height: 40px;
        vertical-align: middle; }
      .toolbar .toolbar-sorter .sorter-action.sort-asc:before {
        content: ""; }
      .toolbar .toolbar-sorter .sorter-action.sort-desc:before {
        content: ""; }
      .toolbar .toolbar-sorter .sorter-action span {
        display: none; }
  .toolbar .toolbar-amount {
    margin-bottom: 0; }
  .toolbar .field.limiter {
    display: none !important; }
  .toolbar .pages {
    text-align: center; }
    .toolbar .pages .label {
      display: none !important; }
  @media print, screen and (min-width: 64em) {
    .toolbar .toolbar-sorter {
      width: calc(33.33333% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem;
      margin-left: calc(66.66667% + 0.625rem); } }

#toaster {
  position: fixed;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  text-align: center;
  background: #003660;
  color: #FFFFFF;
  line-height: 1.6;
  padding: 20px 30px 15px;
  min-height: 60px;
  min-width: 288px;
  width: 100%;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
  bottom: -60px;
  z-index: 9999;
  box-shadow: rgba(54, 58, 67, 0.15) 0 5px 10px 6px;
  transition: opacity 0.3s ease-out;
  transition: bottom 0.5s ease-out; }
  #toaster:before {
    content: '';
    display: block;
    vertical-align: middle;
    margin-top: -4px;
    margin-right: 10px; }
  #toaster.toaster-visible {
    opacity: 1;
    bottom: 0; }
  #toaster .messages {
    display: none; }
    #toaster .messages:last-child {
      display: block; }
      #toaster .messages:last-child .message {
        display: none; }
        #toaster .messages:last-child .message:last-child {
          display: block; }
  #toaster.alert {
    background: #EF5959; }
  #toaster.warning {
    background: #FFC800; }
  #toaster.success {
    background: #008040; }
  #toaster.cta, .checkout-shipping-method button#toaster.continue, .checkout-container button#toaster.checkout {
    background: #043A63; }

.minicart-wrapper {
  color: #363A43; }
  .minicart-wrapper .totals-external {
    display: inline-block;
    color: white;
    margin-right: 0.5rem;
    margin-top: 0.18rem; }
    @media screen and (max-width: 39.9375em) {
      .minicart-wrapper .totals-external {
        display: none !important; } }
  @media screen and (max-width: 39.9375em) {
    .minicart-wrapper .showcart {
      display: block; } }
  @media screen and (max-width: 39.9375em) {
    .minicart-wrapper .showcart > img {
      margin-left: auto;
      margin-right: auto;
      display: block; } }
  .minicart-wrapper #top-cart-btn-checkout {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.9375rem 1rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #043A63;
    color: #FFFFFF;
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    border-radius: 7px;
    margin-bottom: 0; }
    [data-whatinput='mouse'] .minicart-wrapper #top-cart-btn-checkout {
      outline: 0; }
    .minicart-wrapper #top-cart-btn-checkout:hover, .minicart-wrapper #top-cart-btn-checkout:focus {
      background-color: #065794;
      color: #FFFFFF; }
    .minicart-wrapper #top-cart-btn-checkout:not(.close-button):not(.action-close) {
      font-weight: 500; }
    .minicart-wrapper #top-cart-btn-checkout:hover {
      box-shadow: 0 6px 15px rgba(4, 58, 99, 0.45); }
    .minicart-wrapper #top-cart-btn-checkout:disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
    .minicart-wrapper #top-cart-btn-checkout:disabled:hover {
      box-shadow: none; }

.block-minicart {
  background: #FFFFFF;
  border: 1px solid #d6dbe0;
  box-sizing: border-box;
  box-shadow: 0 7px 13px -5px rgba(0, 0, 0, 0.3);
  color: #031321;
  display: none;
  font-size: .875rem;
  list-style: none none;
  margin: 4px 0 0 0;
  min-width: 100%;
  padding: 2.75rem 0 0.25rem;
  position: absolute;
  right: -20px;
  top: 100%;
  width: 390px;
  z-index: 100; }
  .block-minicart:after, .block-minicart:before {
    border-bottom-style: solid;
    content: '';
    display: block;
    height: 0;
    position: absolute;
    width: 0; }
  .block-minicart:before {
    border: 6px solid;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #FFFFFF rgba(0, 0, 0, 0);
    z-index: 99;
    top: -12px;
    left: auto;
    right: 26px; }
  .block-minicart:after {
    border: 7px solid;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #bbb rgba(0, 0, 0, 0);
    z-index: 98;
    top: -14px;
    left: auto;
    right: 25px; }
  .block-minicart .block-title {
    display: none; }
  .block-minicart button.close {
    position: absolute;
    top: 0.25rem;
    right: 1rem;
    font-size: 2rem;
    color: #9FA6AD;
    cursor: pointer;
    font-weight: normal;
    padding: 0; }
    .block-minicart button.close:hover {
      color: #000000;
      box-shadow: none; }
    .block-minicart button.close:focus {
      padding: 0; }
  .block-minicart .items-total {
    float: left;
    padding-left: 30px;
    width: 50%;
    text-align: left; }
    .block-minicart .items-total .count {
      font-weight: 500; }
  .block-minicart .subtotal {
    float: right;
    padding-right: 30px;
    text-align: right;
    width: 50%; }
    .block-minicart .subtotal .label {
      background: transparent;
      border-radius: 0;
      color: inherit;
      display: block;
      font-weight: normal;
      font-size: inherit;
      line-height: inherit;
      margin-bottom: 0;
      padding: 0;
      text-transform: inherit; }
    .block-minicart .subtotal .price-container {
      color: #e95f13;
      display: inline;
      font-size: 1.125rem;
      font-weight: 500; }
  .block-minicart .block-content .subtitle.empty {
    display: block;
    font-size: 14px;
    padding: 30px 0 20px;
    text-align: center; }
  .block-minicart .block-content > .actions {
    padding: 1rem;
    text-align: center; }
  .block-minicart .actions {
    clear: both; }
    .block-minicart .actions .primary .button {
      margin: 0; }
  .block-minicart .action.close {
    background: none; }
    .block-minicart .action.close > span {
      border: 0;
      clip: rect(0, 0, 0, 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px; }
    .block-minicart .action.close:before {
      font-family: 'scout';
      font-weight: normal;
      font-style: normal;
      font-size: 14px;
      display: inline-block;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      font-feature-settings: 'liga';
      content: ""; }
  .block-minicart .action.viewcart {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.9375rem 1rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #e95f13;
    color: #FFFFFF;
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    border-radius: 7px;
    margin-bottom: 0;
    margin-bottom: 0; }
    [data-whatinput='mouse'] .block-minicart .action.viewcart {
      outline: 0; }
    .block-minicart .action.viewcart:hover, .block-minicart .action.viewcart:focus {
      background-color: #ef7e40;
      color: #FFFFFF; }
    .block-minicart .action.viewcart:not(.close-button):not(.action-close) {
      font-weight: 500; }
    .block-minicart .action.viewcart:hover {
      box-shadow: 0 6px 15px rgba(233, 95, 19, 0.45); }
    .block-minicart .action.viewcart:disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
    .block-minicart .action.viewcart:disabled:hover {
      box-shadow: none; }
  .block-minicart .subtitle {
    display: none; }
  .block-minicart .minicart-items {
    height: inherit;
    border: none;
    box-shadow: -2px 0px 4px 4px rgba(50, 50, 50, 0.1) inset;
    margin: 0; }
  .block-minicart .overflowed .minicart-items {
    overflow-y: scroll; }

ol.minicart-items li {
  padding: 1rem 1rem 2rem;
  border-bottom: 1px solid #d6dbe0; }
  ol.minicart-items li.product {
    display: block; }
    ol.minicart-items li.product a {
      color: #000000;
      font-weight: normal; }
      ol.minicart-items li.product a:hover {
        color: #003660;
        text-decoration: underline; }
    ol.minicart-items li.product > .product {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      position: relative; }
    ol.minicart-items li.product .product {
      font-size: 1rem; }
      ol.minicart-items li.product .product.actions {
        text-align: right;
        width: auto; }
      ol.minicart-items li.product .product-image-container {
        display: block; }
        @media screen and (max-width: 39.9375em) {
          ol.minicart-items li.product .product-image-container .product-image-wrapper {
            padding-bottom: 0 !important; } }
      ol.minicart-items li.product .product-item-photo {
        margin-right: 12px; }
        ol.minicart-items li.product .product-item-photo img {
          border: 1px solid #d6dbe0; }
      ol.minicart-items li.product .product-item-name {
        width: 100%;
        display: inline-block; }
        ol.minicart-items li.product .product-item-name a {
          color: #043A63;
          font-weight: 500;
          white-space: break-spaces; }
      ol.minicart-items li.product .product-item-details {
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis;
        white-space: nowrap !important;
        -webkit-flex-grow: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
        ol.minicart-items li.product .product-item-details .actions {
          clear: none;
          float: right;
          margin-top: 25px;
          width: 50%; }
          ol.minicart-items li.product .product-item-details .actions .primary,
          ol.minicart-items li.product .product-item-details .actions .secondary {
            display: inline-block;
            line-height: 1;
            padding: 3px 10px 0; }
        ol.minicart-items li.product .product-item-details .action.edit span {
          display: none; }
        ol.minicart-items li.product .product-item-details .action.edit:before {
          font-family: 'scout';
          font-weight: normal;
          font-style: normal;
          font-size: 18px;
          display: inline-block;
          line-height: 1;
          text-transform: none;
          letter-spacing: normal;
          word-wrap: normal;
          white-space: nowrap;
          direction: ltr;
          -webkit-font-smoothing: antialiased;
          text-rendering: optimizeLegibility;
          -moz-osx-font-smoothing: grayscale;
          font-feature-settings: 'liga';
          content: ""; }
        ol.minicart-items li.product .product-item-details .action.delete span {
          display: none; }
        ol.minicart-items li.product .product-item-details .action.delete:before {
          font-family: 'scout';
          font-weight: normal;
          font-style: normal;
          font-size: 18px;
          display: inline-block;
          line-height: 1;
          text-transform: none;
          letter-spacing: normal;
          word-wrap: normal;
          white-space: nowrap;
          direction: ltr;
          -webkit-font-smoothing: antialiased;
          text-rendering: optimizeLegibility;
          -moz-osx-font-smoothing: grayscale;
          font-feature-settings: 'liga';
          content: ""; }
        ol.minicart-items li.product .product-item-details:after {
          clear: both;
          content: " ";
          display: block; }
      ol.minicart-items li.product .product-item-pricing {
        float: left;
        width: 50%; }
        ol.minicart-items li.product .product-item-pricing .price {
          color: #e95f13;
          font-weight: 500; }
    ol.minicart-items li.product .options .toggle {
      cursor: pointer; }
      ol.minicart-items li.product .options .toggle:after {
        font-family: 'scout';
        font-weight: normal;
        font-style: normal;
        font-size: 8px;
        display: inline-block;
        line-height: 1;
        text-transform: none;
        letter-spacing: normal;
        word-wrap: normal;
        white-space: nowrap;
        direction: ltr;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale;
        font-feature-settings: 'liga';
        content: "";
        display: inline-block;
        margin-left: 10px;
        transition: -webkit-transform .3s;
        transition: transform .3s;
        transition: transform .3s, -webkit-transform .3s; }
    ol.minicart-items li.product .options.active .toggle:after {
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
    ol.minicart-items li.product .details-qty {
      position: absolute;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      ol.minicart-items li.product .details-qty .qty-control-button {
        margin: 0;
        padding: 0;
        line-height: 1.8rem;
        padding-top: 0.1875rem;
        border-radius: 0.2rem;
        width: 2rem; }
      ol.minicart-items li.product .details-qty input {
        box-shadow: none;
        margin: 0;
        padding: 0.25rem 0 0;
        text-align: center;
        width: 2rem;
        line-height: 1.8rem;
        height: auto;
        border: none;
        font-weight: 600;
        color: #003660;
        font-size: 1rem;
        background-color: transparent; }

.modal-popup,
.modal-slide {
  z-index: 999 !important;
  bottom: 0;
  left: 0;
  min-width: 0;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden; }
  .modal-popup._show,
  .modal-slide._show {
    visibility: visible; }
    .modal-popup._show .modal-inner-wrap,
    .modal-slide._show .modal-inner-wrap {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .modal-popup .modals-overlay,
  .modal-slide .modals-overlay {
    background-color: rgba(0, 0, 0, 0.55);
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 899; }
  .modal-popup .modal-inner-wrap,
  .modal-slide .modal-inner-wrap {
    background-color: #fff;
    box-shadow: 0 0 12px 2px rgba(0, 0, 0, 0.35);
    opacity: 1;
    pointer-events: auto; }
    .modal-popup .modal-inner-wrap .modal-header,
    .modal-slide .modal-inner-wrap .modal-header {
      margin-bottom: 0.5rem; }
      @media print, screen and (min-width: 64em) {
        .modal-popup .modal-inner-wrap .modal-header,
        .modal-slide .modal-inner-wrap .modal-header {
          margin-bottom: 1rem; } }
    .modal-popup .modal-inner-wrap .modal-title,
    .modal-slide .modal-inner-wrap .modal-title {
      font-size: 1.5rem;
      display: block;
      color: #2e3134;
      font-weight: bold;
      margin-bottom: 0;
      min-height: 1em;
      word-wrap: break-word; }
    .modal-popup .modal-inner-wrap .modal-content,
    .modal-slide .modal-inner-wrap .modal-content {
      padding: 1.5rem;
      box-shadow: -2px 0px 4px 4px rgba(50, 50, 50, 0.1) inset; }
    .modal-popup .modal-inner-wrap .modal-footer,
    .modal-slide .modal-inner-wrap .modal-footer {
      margin-top: 1rem; }

.modal-slide {
  left: 2.75rem; }
  .modal-slide .modal-inner-wrap {
    height: 100%;
    overflow-y: auto;
    position: static;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
        transform: translateX(100%);
    transition-duration: 0.3s;
    transition-property: visibility, -webkit-transform;
    transition-property: transform, visibility;
    transition-property: transform, visibility, -webkit-transform;
    transition-timing-function: ease-in-out;
    width: auto; }
  .modal-slide._show .modal-inner-wrap {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
        transform: translateX(0); }
  .modal-slide._inner-scroll .modal-inner-wrap {
    overflow-y: visible;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }

.modal-slide._inner-scroll .modal-header,
.modal-slide._inner-scroll .modal-footer {
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
      flex-grow: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }

.modal-slide._inner-scroll .modal-content {
  overflow-y: auto; }

.modal-popup {
  left: 0;
  overflow-y: auto; }

.modal-popup._show .modal-inner-wrap {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
      transform: translateY(0); }

.modal-popup .modal-inner-wrap {
  padding: 1rem;
  margin: 5rem auto;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  box-sizing: border-box;
  height: auto;
  left: 0;
  position: absolute;
  right: 0;
  -webkit-transform: translateY(-200%);
  -ms-transform: translateY(-200%);
      transform: translateY(-200%);
  transition-duration: 0.2s;
  transition-property: visibility, -webkit-transform;
  transition-property: transform, visibility;
  transition-property: transform, visibility, -webkit-transform;
  transition-timing-function: ease; }

.modal-popup .modal-inner-wrap {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  width: calc(100% - 1rem); }
  @media print, screen and (min-width: 40em) {
    .modal-popup .modal-inner-wrap {
      width: 75%;
      margin-left: auto;
      margin-right: auto;
      max-width: 36.25rem; } }

.modal-popup._inner-scroll {
  overflow-y: visible; }

.ie10 .modal-popup._inner-scroll,
.ie9 .modal-popup._inner-scroll {
  overflow-y: auto; }

.modal-popup._inner-scroll .modal-inner-wrap {
  max-height: 90%; }

.ie10 .modal-popup._inner-scroll .modal-inner-wrap,
.ie9 .modal-popup._inner-scroll .modal-inner-wrap {
  max-height: none; }

.modal-popup._inner-scroll .modal-content {
  overflow-y: auto; }

.modal-popup .modal-content {
  font-size: 0.875rem; }

.modal-popup .modal-footer-actions {
  text-align: right; }

.modal-custom .action-close,
.modal-popup .action-close,
.modal-slide .action-close {
  background: none;
  -moz-box-sizing: content-box;
  border: 0;
  box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-shadow: none;
  font-weight: 400;
  display: inline-block;
  text-decoration: none;
  position: absolute;
  right: 0;
  top: 0; }
  .modal-custom .action-close:hover,
  .modal-popup .action-close:hover,
  .modal-slide .action-close:hover {
    box-shadow: none; }

.modal-custom .action-close:focus,
.modal-popup .action-close:focus,
.modal-slide .action-close:focus,
.modal-custom .action-close:active,
.modal-popup .action-close:active,
.modal-slide .action-close:active {
  background: none;
  border: none; }

.modal-custom .action-close:hover,
.modal-popup .action-close:hover,
.modal-slide .action-close:hover {
  background: none;
  border: none; }

.modal-custom .action-close.disabled,
.modal-popup .action-close.disabled,
.modal-slide .action-close.disabled,
.modal-custom .action-close[disabled],
.modal-popup .action-close[disabled],
.modal-slide .action-close[disabled],
fieldset[disabled] .modal-custom .action-close,
fieldset[disabled] .modal-popup .action-close,
fieldset[disabled] .modal-slide .action-close {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.5; }

.modal-custom .action-close > span,
.modal-popup .action-close > span,
.modal-slide .action-close > span {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.modal-custom .action-close:before,
.modal-popup .action-close:before,
.modal-slide .action-close:before {
  -webkit-font-smoothing: antialiased;
  font-size: 32px;
  line-height: 32px;
  color: #8A8D96;
  content: '×';
  margin: 0;
  vertical-align: top;
  display: inline-block;
  font-weight: normal;
  overflow: hidden;
  speak: none;
  text-align: center; }

.modal-custom .action-close:hover:before,
.modal-popup .action-close:hover:before,
.modal-slide .action-close:hover:before {
  color: inherit; }

.modal-custom .action-close:active:before,
.modal-popup .action-close:active:before,
.modal-slide .action-close:active:before {
  color: inherit; }

.modal-custom .action-close:hover:before,
.modal-popup .action-close:hover:before,
.modal-slide .action-close:hover:before {
  color: #000000; }

.modal-custom .action-close {
  margin: 25px; }

.modal-popup .action-close {
  padding: 10px; }

.modal-slide .action-close {
  padding: 1.1rem 2rem; }

.modal-slide .page-main-actions {
  margin-bottom: -12.9rem;
  margin-top: 2.1rem; }

@media screen and (min-width: 768px) {
  /*include 769px ?*/
  .modal-popup--wide .modal-inner-wrap {
    width: 90%; } }

._has-modal {
  overflow-y: hidden; }

.snackbar {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 11;
  height: 60px;
  width: 100%;
  padding: 0.313rem;
  background: #003660;
  color: #fff;
  box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.2); }
  .snackbar svg {
    width: 30px;
    height: auto;
    display: block;
    margin: 0 auto 5px; }
  .snackbar span {
    font-size: 0.688rem;
    display: block; }

.snackbar__link {
  color: #ffffff; }

.snackbar__link:hover,
.snackbar__link:active,
.snackbar__link:visited {
  color: #ffffff; }

.product-menu-trigger {
  cursor: pointer; }

.footer-store-selector__label {
  font-size: 1.25em;
  margin-right: 0.7rem; }

.footer-store-selector__icon {
  width: 2.25rem;
  height: 2.25rem;
  margin-top: -7px; }

.footer-mystore__store-name {
  font-weight: bold;
  font-size: 1.1em; }

.footer-mystore__store-address-link {
  text-decoration: underline; }

.indicator-circle {
  border-radius: 50%;
  width: 12px;
  height: 12px;
  margin-right: 10px;
  margin-top: 5px; }

.store-stock-indicator {
  display: inline-block; }

#footerwarehouselist,
#storestock-modal {
  display: none; }

@media print, screen and (min-width: 40em) {
  .store-selector-modal .modal-inner-wrap {
    width: 640px; } }

.store-selector-modal__storelist {
  list-style-type: none;
  margin-left: 0;
  margin-bottom: 0; }

.store-selector-modal__row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  padding-bottom: 5px;
  margin-bottom: 5px; }
  .store-selector-modal__row:after {
    content: "";
    width: 100%;
    border-bottom: 1px solid #d6dbe0;
    margin-top: 1rem;
    margin-bottom: 0.25rem; }
    @media print, screen and (min-width: 64em) {
      .store-selector-modal__row:after {
        margin-left: 1.25rem;
        margin-right: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .store-selector-modal__row {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .store-selector-modal__row {
      margin-right: -1rem;
      margin-left: -1rem; } }
  .store-selector-modal__row .store-selector-modal__store-name-status-wrapper {
    width: calc(70.83333% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem;
    margin-left: 0;
    padding-top: 6px; }
    @media print, screen and (min-width: 64em) {
      .store-selector-modal__row .store-selector-modal__store-name-status-wrapper {
        width: calc(75% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-flow: row wrap;
            -ms-flex-flow: row wrap;
                flex-flow: row wrap; }
        .store-selector-modal__row .store-selector-modal__store-name-status-wrapper .store-selector-modal__storename {
          width: calc(66.66667% - 2rem);
          margin-right: 1rem;
          margin-left: 1rem;
          margin-left: 0; }
        .store-selector-modal__row .store-selector-modal__store-name-status-wrapper .store-selector-modal__storestatus {
          width: calc(41.66667% - 2rem);
          margin-right: 1rem; } }
  .store-selector-modal__row .store-selector-modal__storename {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
    white-space: nowrap !important; }
    @media print, screen and (min-width: 64em) {
      .store-selector-modal__row .store-selector-modal__storename {
        width: 70%; } }
  .store-selector-modal__row .store-selector-modal__select-store-button {
    width: calc(29.16667% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem;
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.9375rem 1rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #003660;
    color: #FFFFFF;
    border-radius: 7px;
    margin-bottom: 0;
    font-size: 0.75rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 0;
    margin-left: auto; }
    [data-whatinput='mouse'] .store-selector-modal__row .store-selector-modal__select-store-button {
      outline: 0; }
    .store-selector-modal__row .store-selector-modal__select-store-button:hover, .store-selector-modal__row .store-selector-modal__select-store-button:focus {
      background-color: #005393;
      color: #FFFFFF; }
    .store-selector-modal__row .store-selector-modal__select-store-button:not(.close-button):not(.action-close) {
      font-weight: 500; }
    .store-selector-modal__row .store-selector-modal__select-store-button:hover {
      box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
    .store-selector-modal__row .store-selector-modal__select-store-button:disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
    .store-selector-modal__row .store-selector-modal__select-store-button:disabled:hover {
      box-shadow: none; }
    @media print, screen and (min-width: 64em) {
      .store-selector-modal__row .store-selector-modal__select-store-button {
        width: calc(25% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem; } }
  .store-selector-modal__row:last-child {
    border-bottom: none; }

.initials-circle {
  text-decoration: none;
  display: block;
  text-align: center;
  border-radius: 100%;
  font-weight: bold; }

.initials-circle--page-header {
  width: 45px;
  height: 45px;
  line-height: 45px;
  font-size: 15px;
  float: right;
  position: relative; }
  @media screen and (max-width: 39.9375em) {
    .initials-circle--page-header {
      display: none !important; } }

.initials-circle--page-header:after {
  display: block;
  height: 19px;
  width: 19px;
  position: absolute;
  right: 0;
  bottom: -5px;
  border: 1px solid #161924;
  border-radius: 100%;
  font-size: 1.1em;
  color: #363A43;
  content: "\25BE";
  font-family: sans-serif;
  line-height: 15px;
  background: linear-gradient(180deg, #FFFFFF 0%, #929FB0 100%); }

.initials-circle--dashboard {
  float: left;
  width: 90px;
  height: 90px;
  margin-right: 20px;
  line-height: 90px;
  font-size: 32px; }

.googlemap .location-box-view {
  display: none; }

.page-wrapper {
  position: relative;
  overflow: hidden; }

.is-drilldown-submenu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .is-drilldown-submenu li {
    outline: 0; }
  .is-drilldown-submenu a,
  .is-drilldown-submenu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0 0.625rem; }
  .is-drilldown-submenu input,
  .is-drilldown-submenu select,
  .is-drilldown-submenu a,
  .is-drilldown-submenu button {
    margin-bottom: 0; }
  .is-drilldown-submenu input {
    display: inline-block; }

.off-canvas {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 60px;
  color: #000000; }
  .off-canvas .logo {
    padding: 0.875rem; }
  .off-canvas hr {
    margin: 0; }
  .off-canvas .small {
    font-size: 0.688rem;
    color: #8A8D96; }
    .off-canvas .small a {
      color: #000000; }
  .off-canvas .vertical.menu a {
    color: #000000;
    padding: 0.725rem;
    border-bottom: 1px solid #d6dbe0; }
  .off-canvas .vertical.menu .js-drilldown-back a {
    background: #f5f5f5; }
  .off-canvas .tax-switcher-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .off-canvas .tax-switcher-wrapper .tax-switcher-wrapper {
      float: right; }
    .off-canvas .tax-switcher-wrapper .tax-switcher-form-wrapper {
      display: none; }
    .off-canvas .tax-switcher-wrapper .tax-switcher-buttons-wrapper {
      top: 1px;
      height: 29px;
      width: 150px;
      border-radius: 100px;
      background-color: #494D56;
      position: relative;
      border: 2px solid #494D56; }
    .off-canvas .tax-switcher-wrapper .tax-switcher-button {
      width: 72px;
      background: none !important;
      border: none !important;
      float: left;
      font-size: 12px !important;
      display: block;
      margin: 0px !important;
      padding: 0px !important;
      line-height: 25px !important;
      position: absolute;
      z-index: 1;
      right: 0px; }
    .off-canvas .tax-switcher-wrapper .tax-switcher-button:hover {
      box-shadow: none !important; }
    .off-canvas .tax-switcher-wrapper .tax-switcher-button:first-child {
      left: 0px; }
    .off-canvas .tax-switcher-wrapper #tax-switcher-bg {
      height: 25px;
      width: 76px;
      border-radius: 100px;
      background-color: #2B2E37;
      position: absolute;
      z-index: 0; }
    .off-canvas .tax-switcher-wrapper .tax-switcher-bg-1 {
      left: auto;
      right: 0px; }
    .off-canvas .tax-switcher-wrapper .tax-switcher-bg-2 {
      left: 0px;
      right: auto; }
  .off-canvas .copyright {
    text-align: center;
    display: block; }

.position-left {
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%); }

.loading-mask {
  bottom: 0;
  left: 0;
  margin: auto;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.5); }

.loading-mask .loader > img {
  bottom: 0;
  left: 0;
  margin: auto;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
  border-radius: 2rem;
  width: 2rem; }

._collapsible .action-toggle:after,
.collapsible .collapsible__title:after {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'liga';
  content: "keyboard_arrow_down";
  position: absolute;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s; }

._collapsible._active .action-toggle:after,
.collapsible.active .collapsible__title:after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }

._with-tooltip .field-tooltip {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute; }
  ._with-tooltip .field-tooltip .field-tooltip-action {
    display: block;
    width: 20px;
    height: 20px; }
  ._with-tooltip .field-tooltip .action-help:before {
    display: block; }
  ._with-tooltip .field-tooltip .field-tooltip-content {
    display: none; }
  ._with-tooltip .field-tooltip._active .field-tooltip-content {
    display: block;
    position: absolute;
    right: -7px;
    top: 28px;
    border: 1px solid #d6dbe0;
    padding: 0.65rem;
    z-index: 9; }

.ui-tooltip {
  position: absolute; }
  .ui-tooltip .ui-tooltip-content {
    background-color: rgba(38, 39, 40, 0.9);
    color: #FFFFFF;
    padding: 0.5rem;
    max-width: 12rem;
    font-size: 80%;
    border-radius: 2px; }

.page.messages {
  bottom: -18.75rem;
  width: 100%;
  position: fixed;
  left: 0;
  z-index: 1000;
  transition: bottom 400ms ease-in-out; }
  .page.messages.has-messages {
    bottom: 0; }
  .page.messages > div[data-placeholder="messages"] {
    display: none; }
  .page.messages > div {
    font-size: 20px;
    border-top: 2px solid #FFFFFF;
    background-color: #043A63;
    padding: 0.625rem;
    color: #FFFFFF; }
  .page.messages .message div[data-bind="html: message.text"] a {
    color: #FFFFFF;
    text-decoration: underline; }

.hero-full-width {
  position: relative;
  width: 100%; }
  .hero-full-width a {
    display: contents; }
  .hero-full-width.fifty-fifty {
    display: grid; }
    @media print, screen and (min-width: 40em) {
      .hero-full-width.fifty-fifty {
        grid-template-columns: repeat(2, 1fr); } }
  .hero-full-width-image {
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    max-height: var(--maxHeight); }
  .hero-full-width .scout-button {
    position: absolute;
    bottom: 2rem;
    left: 2rem; }
    @media print, screen and (min-width: 64em) {
      .hero-full-width .scout-button {
        bottom: 4rem;
        left: 4rem; } }
  .hero-full-width-fifty-fifty {
    background: #003660;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end; }
    .hero-full-width-fifty-fifty-content {
      padding: 2rem; }
      @media print, screen and (min-width: 40em) {
        .hero-full-width-fifty-fifty-content {
          max-width: 500px;
          margin: 2rem auto;
          text-align: center;
          padding: 2rem 1rem; } }
      @media print, screen and (min-width: 64em) {
        .hero-full-width-fifty-fifty-content {
          margin: 3rem auto;
          padding: 2rem; } }
      .hero-full-width-fifty-fifty-content h2 {
        color: #FFFFFF;
        font-size: 2rem; }
      .hero-full-width-fifty-fifty-content p {
        color: #FFFFFF;
        font-size: 1.5rem;
        font-weight: lighter;
        margin-bottom: 2rem; }
      .hero-full-width-fifty-fifty-content .scout-button {
        position: initial; }
        @media screen and (max-width: 39.9375em) {
          .hero-full-width-fifty-fifty-content .scout-button {
            width: auto;
            border-top-left-radius: 10px;
            border-top-right-radius: 10px; } }

.block-title {
  color: #003660;
  font-size: 1.5rem;
  margin: 1rem 0; }

.age-groups {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 1rem 0;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .age-groups a {
    display: contents; }
    .age-groups a .age-group {
      min-width: calc(100px + 1rem);
      display: grid;
      justify-items: center;
      grid-template-rows: 100px auto;
      padding: 0.5rem;
      width: calc(100% / 3);
      margin: 0 auto; }
      @media print, screen and (min-width: 40em) {
        .age-groups a .age-group {
          width: calc(100% / 6); } }
      @media print, screen and (min-width: 64em) {
        .age-groups a .age-group {
          width: calc(100% / 9); } }
      .age-groups a .age-group-image {
        width: 100px;
        height: 100px;
        display: grid;
        place-content: center;
        -webkit-mask-image: url("../images/blob.svg");
                mask-image: url("../images/blob.svg");
        -webkit-mask-size: cover;
                mask-size: cover; }
        .age-groups a .age-group-image img {
          max-height: 50px;
          max-width: 50px; }
      .age-groups a .age-group-text {
        text-align: center;
        text-wrap: balance;
        margin-top: 0.5rem;
        color: #003660; }
  .age-groups.owl-carousel .owl-nav {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%);
    left: 0;
    right: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .age-groups.owl-carousel .owl-nav button[class*=owl-] {
      background: #FFFFFF;
      border: 1px solid #d6dbe0;
      border-radius: 50%;
      box-sizing: border-box;
      height: 34px;
      width: 34px;
      padding: 0;
      line-height: 0;
      text-align: center;
      transition: .3s ease; }
      .age-groups.owl-carousel .owl-nav button[class*=owl-].owl-prev:before {
        font-family: 'scout';
        font-weight: normal;
        font-style: normal;
        font-size: 0.5rem;
        display: inline-block;
        text-transform: none;
        letter-spacing: normal;
        word-wrap: normal;
        white-space: nowrap;
        direction: ltr;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale;
        font-feature-settings: 'liga';
        content: "";
        line-height: 0; }
      .age-groups.owl-carousel .owl-nav button[class*=owl-].owl-next:before {
        font-family: 'scout';
        font-weight: normal;
        font-style: normal;
        font-size: 0.5rem;
        display: inline-block;
        text-transform: none;
        letter-spacing: normal;
        word-wrap: normal;
        white-space: nowrap;
        direction: ltr;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale;
        font-feature-settings: 'liga';
        content: "";
        line-height: 0; }
      .age-groups.owl-carousel .owl-nav button[class*=owl-] i {
        display: none; }

.three-images-container {
  display: block; }
  @media screen and (max-width: 39.9375em) {
    .three-images-container {
      margin-bottom: 0rem; } }
  @media print, screen and (min-width: 40em) {
    .three-images-container {
      display: grid;
      -webkit-column-gap: 1rem;
              column-gap: 1rem;
      grid-template-rows: 1fr; } }
  .three-images-container .three-image {
    position: relative;
    margin-bottom: 0;
    grid-row: 1;
    display: grid;
    grid-template-rows: 1fr; }
    @media screen and (max-width: 39.9375em) {
      .three-images-container .three-image {
        margin-bottom: 1.5rem; } }
    .three-images-container .three-image img {
      min-width: 100%;
      min-height: 100%;
      object-fit: cover; }
    .three-images-container .three-image .scout-button {
      position: absolute;
      bottom: 2rem;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }
    .three-images-container .three-image-link {
      text-align: center;
      margin: 1.5rem 0 0;
      font-size: 1.25rem; }

.campaign-wrapper .hero.campaign {
  height: 100vw;
  max-height: unset;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
  @media print, screen and (min-width: 40em) {
    .campaign-wrapper .hero.campaign {
      height: 100%; } }
  .campaign-wrapper .hero.campaign .text-holder {
    bottom: 2rem;
    left: 50%;
    right: unset;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
    .campaign-wrapper .hero.campaign .text-holder .scout-button {
      position: unset; }

.campaign-wrapper .product-item-container:nth-child(odd) .product-item-info {
  margin-right: 0.5rem; }

.campaign-wrapper .product-item-container:nth-child(even) .product-item-info {
  margin-left: 0.5rem; }

.campaign-wrapper .product-item-details {
  margin: 0.5rem 0; }

.campaign-wrapper .product-image-wrapper.campaign {
  margin-bottom: 1rem; }
  .campaign-wrapper .product-image-wrapper.campaign img {
    width: 100%; }

.product-top-list .product-items .owl-nav {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  left: 0;
  right: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .product-top-list .product-items .owl-nav button[class*=owl-] {
    background: #FFFFFF;
    border: 1px solid #d6dbe0;
    border-radius: 50%;
    box-sizing: border-box;
    height: 34px;
    width: 34px;
    padding: 0;
    line-height: 0;
    text-align: center;
    transition: .3s ease; }
    .product-top-list .product-items .owl-nav button[class*=owl-].owl-prev:before {
      font-family: 'scout';
      font-weight: normal;
      font-style: normal;
      font-size: 0.5rem;
      display: inline-block;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      font-feature-settings: 'liga';
      content: ""; }
    .product-top-list .product-items .owl-nav button[class*=owl-].owl-next:before {
      font-family: 'scout';
      font-weight: normal;
      font-style: normal;
      font-size: 0.5rem;
      display: inline-block;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      font-feature-settings: 'liga';
      content: ""; }
    .product-top-list .product-items .owl-nav button[class*=owl-] i {
      display: none; }

.top {
  row-gap: 1.5rem; }
  .top .cell .hero, .top footer .footer-navigation-wrapper .footer-navigation .hero, footer .footer-navigation-wrapper .top .footer-navigation .hero, .top footer .footer-navigation-wrapper .footer-contact-info .hero, footer .footer-navigation-wrapper .top .footer-contact-info .hero, .top .footer-customer-club .actions .subscribe .hero, .footer-customer-club .actions .top .subscribe .hero {
    margin-bottom: 0rem; }
    .top .cell .hero .scout-button, .top footer .footer-navigation-wrapper .footer-navigation .hero .scout-button, footer .footer-navigation-wrapper .top .footer-navigation .hero .scout-button, .top footer .footer-navigation-wrapper .footer-contact-info .hero .scout-button, footer .footer-navigation-wrapper .top .footer-contact-info .hero .scout-button, .top .footer-customer-club .actions .subscribe .hero .scout-button, .footer-customer-club .actions .top .subscribe .hero .scout-button {
      position: absolute;
      bottom: 2rem;
      left: 2rem; }

.cms-index-index .page-main {
  background: #F1F4f6; }

.cms-index-index .hero {
  margin-bottom: 0.625rem;
  overflow: hidden;
  position: relative; }
  @media screen and (min-width: 40em) {
    .cms-index-index .hero {
      max-height: 28vw; } }
  .cms-index-index .hero .text-holder {
    bottom: 0.625rem;
    left: 0.625rem;
    position: absolute;
    right: 0.625rem;
    top: auto;
    z-index: 1; }
    .cms-index-index .hero .text-holder h2,
    .cms-index-index .hero .text-holder h3 {
      background: #003660;
      color: #FFFFFF;
      display: inline-block;
      line-height: 1; }
    .cms-index-index .hero .text-holder h2 {
      font-size: 1.375rem;
      font-weight: 500;
      padding: 0.625rem 0.9375rem; }
    .cms-index-index .hero .text-holder h3 {
      font-size: 0.875rem;
      font-weight: 400;
      padding: 0.625rem 0.9375rem; }
    @media screen and (min-width: 40em) {
      .cms-index-index .hero .text-holder {
        bottom: 1.875rem;
        left: 1.875rem;
        right: 1.875rem; }
        .cms-index-index .hero .text-holder h2 {
          font-size: 3rem; }
        .cms-index-index .hero .text-holder h3 {
          font-size: 1.25rem; } }

@media screen and (min-width: 40em) {
  .cms-index-index .stretch-items {
    -webkit-align-content: stretch;
        -ms-flex-line-pack: stretch;
            align-content: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: calc(100% + 2rem); } }

.cms-index-index .banner {
  position: relative; }
  .cms-index-index .banner.fixed-height {
    overflow: hidden; }
    .cms-index-index .banner.fixed-height img {
      left: 50%;
      max-width: initial;
      position: relative;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }
  .cms-index-index .banner .text-holder {
    color: #FFFFFF;
    padding: 0.625rem;
    position: absolute; }
    .cms-index-index .banner .text-holder.bottom {
      background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000000);
      bottom: 0;
      left: 0;
      right: 0;
      top: auto; }
    .cms-index-index .banner .text-holder.top {
      bottom: auto;
      left: 0;
      right: 0;
      top: 0; }
    .cms-index-index .banner .text-holder.left {
      bottom: auto;
      left: 0;
      right: auto;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
    .cms-index-index .banner .text-holder.full {
      -webkit-align-content: center;
          -ms-flex-line-pack: center;
              align-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      bottom: 0;
      -webkit-flex-flow: row;
          -ms-flex-flow: row;
              flex-flow: row;
      left: 0;
      right: 0;
      top: 0; }
    .cms-index-index .banner .text-holder .icon {
      display: none; }
    .cms-index-index .banner .text-holder .heading {
      font-size: 1.25rem; }
    .cms-index-index .banner .text-holder strong {
      font-size: 1rem;
      font-weight: 500; }
    .cms-index-index .banner .text-holder p {
      font-size: 0.875rem;
      margin-bottom: 0; }
  @media screen and (min-width: 40em) {
    .cms-index-index .banner {
      height: 100%; }
      .cms-index-index .banner.autoposition {
        overflow: hidden; }
        .cms-index-index .banner.autoposition img {
          left: 50%;
          max-width: initial;
          position: relative;
          top: 50%;
          -webkit-transform: translateY(-50%) translateX(-50%);
              -ms-transform: translateY(-50%) translateX(-50%);
                  transform: translateY(-50%) translateX(-50%); }
      .cms-index-index .banner .text-holder {
        padding: 0.9375rem; }
        .cms-index-index .banner .text-holder.top-left {
          right: 50%; }
        .cms-index-index .banner .text-holder.top-right {
          left: 50%; }
        .cms-index-index .banner .text-holder.left {
          right: 50%; }
        .cms-index-index .banner .text-holder.right {
          left: 50%; }
      .cms-index-index .banner .heading {
        font-size: 3rem;
        font-weight: 500; } }
  @media screen and (min-width: 64em) {
    .cms-index-index .banner .text-holder .icon {
      display: block;
      font-size: 4rem;
      margin: 0 1.875rem;
      text-align: center; }
      .cms-index-index .banner .text-holder .icon i {
        display: inline-block;
        vertical-align: middle; } }

.cms-index-index .group {
  -webkit-align-content: stretch;
      -ms-flex-line-pack: stretch;
          align-content: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  color: #FFFFFF;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column;
      -ms-flex-flow: column;
          flex-flow: column;
  font-weight: 500;
  height: 100%;
  line-height: 1.25;
  padding: 1.25rem;
  text-align: center; }
  .cms-index-index .group-image {
    display: inline-block;
    height: 36px;
    margin-bottom: 1rem;
    position: relative; }
  .cms-index-index .group-green {
    background: #41a62a; }
  .cms-index-index .group-blue {
    background: #00a8e1; }
  .cms-index-index .group-orange {
    background: #e95f13; }
  .cms-index-index .group-fuchsia {
    background: #da005e; }
  .cms-index-index .group-yellow {
    background: #e2e000;
    color: #837a02; }
  .cms-index-index .group-primary {
    background: #003660; }
  .cms-index-index .group-purple {
    background: #7d4199; }
  .cms-index-index .group-matteblue {
    background: #1d4486; }
  @media screen and (min-width: 40em) {
    .cms-index-index .group {
      -webkit-align-content: center;
          -ms-flex-line-pack: center;
              align-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-flex-flow: row;
          -ms-flex-flow: row;
              flex-flow: row;
      padding: 1rem; }
      .cms-index-index .group-image {
        margin-bottom: 0;
        margin-right: 1rem;
        width: 36px;
        text-align: center; } }
  @media (max-width: 321px) {
    .cms-index-index .group {
      font-size: 0.75rem; } }

@media screen and (max-width: 39.9375em) {
  .cms-index-index .products-grid .product-items {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    .cms-index-index .products-grid .product-items .product-item {
      width: calc(33.33333% - 1.25rem);
      margin-right: 0.625rem;
      margin-left: 0.625rem;
      position: relative;
      margin-bottom: 20px; }
      .cms-index-index .products-grid .product-items .product-item .product-item-actions {
        display: none;
        opacity: 0;
        z-index: 100;
        padding: 1rem 1.5rem; }
      .cms-index-index .products-grid .product-items .product-item .product-image-photo {
        margin-bottom: 10px; } }
      @media screen and (max-width: 39.9375em) and (min-width: 40em) {
        .cms-index-index .products-grid .product-items .product-item .product-image-photo {
          max-width: 100%;
          margin-right: 0; } }

@media screen and (max-width: 39.9375em) {
      .cms-index-index .products-grid .product-items .product-item .product-item-actions,
      .cms-index-index .products-grid .product-items .product-item .tocompare {
        display: none; } }

@media screen and (min-width: 40em) {
  .cms-index-index .products-grid .product-items {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    .cms-index-index .products-grid .product-items .product-item {
      width: calc(16.66667% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem;
      position: relative;
      margin-bottom: 20px; }
      .cms-index-index .products-grid .product-items .product-item .product-item-actions {
        display: none;
        opacity: 0;
        z-index: 100;
        padding: 1rem 1.5rem; }
      .cms-index-index .products-grid .product-items .product-item .product-image-photo {
        margin-bottom: 10px; } }
      @media screen and (min-width: 40em) and (min-width: 40em) {
        .cms-index-index .products-grid .product-items .product-item .product-image-photo {
          max-width: 100%;
          margin-right: 0; } }

@media screen and (min-width: 40em) {
      .cms-index-index .products-grid .product-items .product-item .product-item-actions,
      .cms-index-index .products-grid .product-items .product-item .tocompare {
        display: none; } }

.cms-index-index .block-products-list .block-title {
  color: #003660;
  font-size: 1.5rem;
  margin-bottom: 1rem; }
  .cms-index-index .block-products-list .block-title strong {
    font-weight: 500; }

.cms-index-index .block-products-list .block-content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .cms-index-index .block-products-list .block-content {
      margin-right: -1rem;
      margin-left: -1rem; } }

.cms-index-index .margin-bottom {
  margin-bottom: 2rem; }
  .cms-index-index .margin-bottom:last-child {
    margin-bottom: 0; }
  .cms-index-index .margin-bottom-0 {
    margin-bottom: 0; }

.catalogsearch-result-index.page-layout-1column .page-title-wrapper,
.catalog-category-view.page-layout-1column .page-title-wrapper {
  display: none; }

@media print, screen and (min-width: 40em) {
  .catalogsearch-result-index.page-layout-2columns-left .column.main,
  .catalog-category-view.page-layout-2columns-left .column.main {
    width: calc(75% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem; } }

.catalogsearch-result-index .sidebar.sidebar-main, .catalogsearch-result-index .sidebar.sidebar-additional,
.catalog-category-view .sidebar.sidebar-main,
.catalog-category-view .sidebar.sidebar-additional {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .catalogsearch-result-index .sidebar.sidebar-main, .catalogsearch-result-index .sidebar.sidebar-additional,
    .catalog-category-view .sidebar.sidebar-main,
    .catalog-category-view .sidebar.sidebar-additional {
      width: calc(25% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem;
      display: block; } }

.catalogsearch-result-index .page-title-wrapper .page-title,
.catalog-category-view .page-title-wrapper .page-title {
  line-height: 1; }

.catalogsearch-result-index .column.main,
.catalog-category-view .column.main {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }
  .catalogsearch-result-index .column.main .category-view,
  .catalog-category-view .column.main .category-view {
    margin-bottom: 1.25rem; }
    .catalogsearch-result-index .column.main .category-view .category-image,
    .catalog-category-view .column.main .category-view .category-image {
      display: none; }
    .catalogsearch-result-index .column.main .category-view .category-description-wrapper.truncate,
    .catalog-category-view .column.main .category-view .category-description-wrapper.truncate {
      display: block;
      max-height: 14.3125rem;
      margin: 0 auto;
      overflow: hidden; }
      .catalogsearch-result-index .column.main .category-view .category-description-wrapper.truncate.active,
      .catalog-category-view .column.main .category-view .category-description-wrapper.truncate.active {
        max-height: 999px;
        padding-bottom: 1.2rem; }
    .catalogsearch-result-index .column.main .category-view .category-description-btn,
    .catalog-category-view .column.main .category-view .category-description-btn {
      display: none;
      width: 100%;
      position: relative; }
      .catalogsearch-result-index .column.main .category-view .category-description-btn::before,
      .catalog-category-view .column.main .category-view .category-description-btn::before {
        content: "";
        position: absolute;
        display: block;
        top: -60px;
        width: 100%;
        z-index: 1;
        height: 60px;
        /* FF3.6-15 */
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 75%, white 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=0);
        /* IE6-9 */ }
      .catalogsearch-result-index .column.main .category-view .category-description-btn .line-wrapper,
      .catalog-category-view .column.main .category-view .category-description-btn .line-wrapper {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-content: center;
            -ms-flex-line-pack: center;
                align-content: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
        text-align: center;
        width: 100%; }
        .catalogsearch-result-index .column.main .category-view .category-description-btn .line-wrapper .line,
        .catalog-category-view .column.main .category-view .category-description-btn .line-wrapper .line {
          background: #c8d4e0;
          display: block;
          -webkit-flex-grow: 1;
              -ms-flex-positive: 1;
                  flex-grow: 1;
          height: 1px; }
        .catalogsearch-result-index .column.main .category-view .category-description-btn .line-wrapper .text,
        .catalog-category-view .column.main .category-view .category-description-btn .line-wrapper .text {
          margin: 0 1rem;
          color: #043A63;
          font-size: 0.875rem;
          font-weight: 500; }
      .catalogsearch-result-index .column.main .category-view .category-description-btn.active,
      .catalog-category-view .column.main .category-view .category-description-btn.active {
        display: block; }
  .catalogsearch-result-index .column.main .products.wrapper,
  .catalog-category-view .column.main .products.wrapper {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    margin-top: 1rem; }
    @media print, screen and (min-width: 40em) {
      .catalogsearch-result-index .column.main .products.wrapper,
      .catalog-category-view .column.main .products.wrapper {
        margin-right: -1rem;
        margin-left: -1rem; } }
  @media screen and (min-width: 40em) {
    .catalogsearch-result-index .column.main .category-view .category-image,
    .catalog-category-view .column.main .category-view .category-image {
      display: block; }
      .catalogsearch-result-index .column.main .category-view .category-image img,
      .catalog-category-view .column.main .category-view .category-image img {
        max-height: 15rem; } }

.catalogsearch-result-index .toolbar .pages,
.catalogsearch-result-index .toolbar .toolbar-amount,
.catalog-category-view .toolbar .pages,
.catalog-category-view .toolbar .toolbar-amount {
  display: none; }

.catalogsearch-result-index .products.wrapper + .toolbar.toolbar-products .toolbar-amount,
.catalogsearch-result-index .products.wrapper + .toolbar.toolbar-products .pages,
.catalog-category-view .products.wrapper + .toolbar.toolbar-products .toolbar-amount,
.catalog-category-view .products.wrapper + .toolbar.toolbar-products .pages {
  display: block;
  width: 100%; }

.catalogsearch-result-index .products.wrapper + .toolbar.toolbar-products .pages,
.catalog-category-view .products.wrapper + .toolbar.toolbar-products .pages {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.catalogsearch-result-index .products.wrapper + .toolbar.toolbar-products .toolbar-amount,
.catalog-category-view .products.wrapper + .toolbar.toolbar-products .toolbar-amount {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.catalogsearch-result-index .products.wrapper + .toolbar.toolbar-products .filter-button,
.catalogsearch-result-index .products.wrapper + .toolbar.toolbar-products .modes,
.catalogsearch-result-index .products.wrapper + .toolbar.toolbar-products .toolbar-sorter,
.catalog-category-view .products.wrapper + .toolbar.toolbar-products .filter-button,
.catalog-category-view .products.wrapper + .toolbar.toolbar-products .modes,
.catalog-category-view .products.wrapper + .toolbar.toolbar-products .toolbar-sorter {
  display: none; }

.catalogsearch-result-index .toolbar-amount,
.catalog-category-view .toolbar-amount {
  text-align: center;
  color: #9FA6AD;
  font-size: .75rem;
  text-transform: initial; }
  .catalogsearch-result-index .toolbar-amount .toolbar-number,
  .catalog-category-view .toolbar-amount .toolbar-number {
    font-weight: bold; }

.catalogsearch-result-index .filter-wrapper,
.catalog-category-view .filter-wrapper {
  width: 100%;
  margin-bottom: 20px; }
  .catalogsearch-result-index .filter-wrapper .filter-content,
  .catalog-category-view .filter-wrapper .filter-content {
    margin-bottom: 0 !important; }
    .catalogsearch-result-index .filter-wrapper .filter-content hr,
    .catalog-category-view .filter-wrapper .filter-content hr {
      margin-bottom: 5px; }

.catalogsearch-result-index .filter .filter-options,
.catalog-category-view .filter .filter-options {
  margin-left: 0;
  background: transparent;
  list-style-type: none; }
  .catalogsearch-result-index .filter .filter-options[disabled] .accordion-title,
  .catalog-category-view .filter .filter-options[disabled] .accordion-title {
    cursor: not-allowed; }
  .catalogsearch-result-index .filter .filter-options .filter-item:first-child > :first-child,
  .catalog-category-view .filter .filter-options .filter-item:first-child > :first-child {
    border-radius: 0 0 0 0; }
  .catalogsearch-result-index .filter .filter-options .filter-item:last-child > :last-child,
  .catalog-category-view .filter .filter-options .filter-item:last-child > :last-child {
    border-radius: 0 0 0 0; }
  .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-title,
  .catalog-category-view .filter .filter-options .filter-item .filter-options-title {
    position: relative;
    display: block;
    padding: 0.75rem 0;
    border: 0;
    border-bottom: 0;
    font-size: 0.9375rem;
    line-height: 1;
    color: #031321; }
    :last-child:not(.is-active) > .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-title, :last-child:not(.is-active) >
    .catalog-category-view .filter .filter-options .filter-item .filter-options-title {
      border-bottom: 0;
      border-radius: 0 0 0 0; }
    .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-title:hover, .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-title:focus,
    .catalog-category-view .filter .filter-options .filter-item .filter-options-title:hover,
    .catalog-category-view .filter .filter-options .filter-item .filter-options-title:focus {
      background-color: transparent; }
    .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-title::before,
    .catalog-category-view .filter .filter-options .filter-item .filter-options-title::before {
      position: absolute;
      top: 50%;
      right: 1rem;
      margin-top: -0.5rem;
      content: '+'; }
    .is-active > .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-title::before, .is-active >
    .catalog-category-view .filter .filter-options .filter-item .filter-options-title::before {
      content: '\2013'; }
  .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-content,
  .catalog-category-view .filter .filter-options .filter-item .filter-options-content {
    display: none;
    padding: 0 0 0;
    border: 0;
    border-bottom: 0;
    background-color: #F7FAFD;
    color: #000000; }
    :last-child > .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-content:last-child, :last-child >
    .catalog-category-view .filter .filter-options .filter-item .filter-options-content:last-child {
      border-bottom: 0; }

.catalogsearch-result-index .filter .items,
.catalog-category-view .filter .items {
  margin-left: 0;
  list-style: none; }

.catalogsearch-result-index .filter .swatch-option-link-layered,
.catalog-category-view .filter .swatch-option-link-layered {
  display: block; }
  .catalogsearch-result-index .filter .swatch-option-link-layered .swatch-option,
  .catalog-category-view .filter .swatch-option-link-layered .swatch-option {
    float: unset;
    display: inline-block;
    margin: 0; }

@media screen and (min-width: 40em) {
  .catalogsearch-result-index .filter,
  .catalog-category-view .filter {
    position: relative; }
    .catalogsearch-result-index .filter.active,
    .catalog-category-view .filter.active {
      max-height: 2000px; }
    .catalogsearch-result-index .filter .filter-current .filter-state-remove,
    .catalog-category-view .filter .filter-current .filter-state-remove {
      display: block; }
    .catalogsearch-result-index .filter .filter-current .filter-label,
    .catalogsearch-result-index .filter .filter-current .filter-value,
    .catalog-category-view .filter .filter-current .filter-label,
    .catalog-category-view .filter .filter-current .filter-value {
      color: #000000;
      font-size: 0.875rem; } }

.catalogsearch-result-index .filter .filter-actions,
.catalog-category-view .filter .filter-actions {
  margin-bottom: 1rem; }
  .catalogsearch-result-index .filter .filter-actions a,
  .catalog-category-view .filter .filter-actions a {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.9375rem 1rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #363A43;
    color: #FFFFFF;
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 0; }
    [data-whatinput='mouse'] .catalogsearch-result-index .filter .filter-actions a, [data-whatinput='mouse']
    .catalog-category-view .filter .filter-actions a {
      outline: 0; }
    .catalogsearch-result-index .filter .filter-actions a:hover, .catalogsearch-result-index .filter .filter-actions a:focus,
    .catalog-category-view .filter .filter-actions a:hover,
    .catalog-category-view .filter .filter-actions a:focus {
      background-color: #000000;
      color: #FFFFFF; }

.catalogsearch-result-index .filter .filter-options,
.catalog-category-view .filter .filter-options {
  margin: 0;
  border: none; }
  .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-title,
  .catalog-category-view .filter .filter-options .filter-item .filter-options-title {
    border-bottom: 1px solid #c8d4e0;
    border-top: 1px solid #c8d4e0;
    padding-left: 1rem;
    padding-right: 1rem; }
    .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-title:before,
    .catalog-category-view .filter .filter-options .filter-item .filter-options-title:before {
      font-family: 'scout';
      font-weight: normal;
      font-style: normal;
      font-size: 0.75rem;
      display: inline-block;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      font-feature-settings: 'liga';
      content: "";
      color: #9FA6AD;
      transition: -webkit-transform 0.4s;
      transition: transform 0.4s;
      transition: transform 0.4s, -webkit-transform 0.4s; }
    .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-title.active:before,
    .catalog-category-view .filter .filter-options .filter-item .filter-options-title.active:before {
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
  .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-title.active + .filter-options-content,
  .catalog-category-view .filter .filter-options .filter-item .filter-options-title.active + .filter-options-content {
    display: block; }
  .catalogsearch-result-index .filter .filter-options .filter-item .filter-options-content,
  .catalog-category-view .filter .filter-options .filter-item .filter-options-content {
    border-top: 1px solid #c8d4e0;
    padding-bottom: 0.3125rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.3125rem; }
  .catalogsearch-result-index .filter .filter-options .filter-item li,
  .catalog-category-view .filter .filter-options .filter-item li {
    font-size: 0.9375rem;
    line-height: 2.5; }
    .catalogsearch-result-index .filter .filter-options .filter-item li a,
    .catalog-category-view .filter .filter-options .filter-item li a {
      color: #031321; }
    .catalogsearch-result-index .filter .filter-options .filter-item li .count,
    .catalog-category-view .filter .filter-options .filter-item li .count {
      float: right; }
      .catalogsearch-result-index .filter .filter-options .filter-item li .count:before,
      .catalog-category-view .filter .filter-options .filter-item li .count:before {
        display: inline;
        content: "("; }
      .catalogsearch-result-index .filter .filter-options .filter-item li .count:after,
      .catalog-category-view .filter .filter-options .filter-item li .count:after {
        display: inline;
        content: ")"; }
      .catalogsearch-result-index .filter .filter-options .filter-item li .count .filter-count-label,
      .catalog-category-view .filter .filter-options .filter-item li .count .filter-count-label {
        display: none; }
  .catalogsearch-result-index .filter .filter-options .filter-item.is-active .filter-options-title:before,
  .catalog-category-view .filter .filter-options .filter-item.is-active .filter-options-title:before {
    content: ""; }
  .catalogsearch-result-index .filter .filter-options .filter-item:last-child,
  .catalog-category-view .filter .filter-options .filter-item:last-child {
    border-bottom: 1px solid #c8d4e0; }

.catalogsearch-result-index .filter.block .title,
.catalogsearch-result-index .filter.block .subtitle,
.catalogsearch-result-index .filter.block .filter-title,
.catalogsearch-result-index .filter.block .filter-subtitle,
.catalog-category-view .filter.block .title,
.catalog-category-view .filter.block .subtitle,
.catalog-category-view .filter.block .filter-title,
.catalog-category-view .filter.block .filter-subtitle {
  display: none; }

.catalogsearch-result-index .page-main .filter dt,
.catalogsearch-result-index .page-main .navigation dt,
.catalog-category-view .page-main .filter dt,
.catalog-category-view .page-main .navigation dt {
  border-top: 1px solid #c8d4e0;
  font-size: 0.9375rem;
  font-weight: normal;
  line-height: 1;
  margin-bottom: 0;
  padding: 0.75rem 1rem; }
  .catalogsearch-result-index .page-main .filter dt:before,
  .catalogsearch-result-index .page-main .navigation dt:before,
  .catalog-category-view .page-main .filter dt:before,
  .catalog-category-view .page-main .navigation dt:before {
    font-family: 'scout';
    font-weight: normal;
    font-style: normal;
    font-size: 0.75rem;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    content: "";
    color: #9FA6AD;
    float: right; }

.catalogsearch-result-index .page-main .filter dl .items,
.catalogsearch-result-index .page-main .navigation dl .items,
.catalog-category-view .page-main .filter dl .items,
.catalog-category-view .page-main .navigation dl .items {
  background: #F7FAFD;
  border-top: 1px solid #c8d4e0;
  padding-bottom: 0.3125rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.3125rem; }
  .catalogsearch-result-index .page-main .filter dl .items li,
  .catalogsearch-result-index .page-main .navigation dl .items li,
  .catalog-category-view .page-main .filter dl .items li,
  .catalog-category-view .page-main .navigation dl .items li {
    font-size: 0.9375rem;
    line-height: 2.5; }
  .catalogsearch-result-index .page-main .filter dl .items a,
  .catalogsearch-result-index .page-main .navigation dl .items a,
  .catalog-category-view .page-main .filter dl .items a,
  .catalog-category-view .page-main .navigation dl .items a {
    color: #031321; }
  .catalogsearch-result-index .page-main .filter dl .items .count,
  .catalogsearch-result-index .page-main .navigation dl .items .count,
  .catalog-category-view .page-main .filter dl .items .count,
  .catalog-category-view .page-main .navigation dl .items .count {
    float: right; }
    .catalogsearch-result-index .page-main .filter dl .items .count:before,
    .catalogsearch-result-index .page-main .navigation dl .items .count:before,
    .catalog-category-view .page-main .filter dl .items .count:before,
    .catalog-category-view .page-main .navigation dl .items .count:before {
      display: inline;
      content: "("; }
    .catalogsearch-result-index .page-main .filter dl .items .count:after,
    .catalogsearch-result-index .page-main .navigation dl .items .count:after,
    .catalog-category-view .page-main .filter dl .items .count:after,
    .catalog-category-view .page-main .navigation dl .items .count:after {
      display: inline;
      content: ")"; }
    .catalogsearch-result-index .page-main .filter dl .items .count .filter-count-label,
    .catalogsearch-result-index .page-main .navigation dl .items .count .filter-count-label,
    .catalog-category-view .page-main .filter dl .items .count .filter-count-label,
    .catalog-category-view .page-main .navigation dl .items .count .filter-count-label {
      display: none; }

.catalogsearch-result-index .page-main .columns,
.catalog-category-view .page-main .columns {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }
  @media print, screen and (min-width: 40em) {
    .catalogsearch-result-index .page-main .columns,
    .catalog-category-view .page-main .columns {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .catalogsearch-result-index .page-main .columns,
    .catalog-category-view .page-main .columns {
      margin-right: -1rem;
      margin-left: -1rem; } }

@media screen and (max-width: 39.9375em) {
  .product-items {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    .product-items .product-item {
      width: calc(50% - 1.25rem);
      margin-right: 0.625rem;
      margin-left: 0.625rem;
      position: relative;
      margin-bottom: 20px; }
      .product-items .product-item .product-item-actions {
        display: none;
        opacity: 0;
        z-index: 100;
        padding: 1rem 1.5rem; }
      .product-items .product-item .product-image-photo {
        margin-bottom: 10px; } }
      @media screen and (max-width: 39.9375em) and (min-width: 40em) {
        .product-items .product-item .product-image-photo {
          max-width: 100%;
          margin-right: 0; } }

@media screen and (max-width: 39.9375em) {
      .product-items .product-item .product-item-actions,
      .product-items .product-item .tocompare {
        display: none; }
    .product-items .product-item-actions {
      display: none; } }

@media screen and (min-width: 40em) {
  .products.grid.products-grid .product-items {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    .products.grid.products-grid .product-items .product-item {
      width: calc(33.33333% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem;
      position: relative;
      margin-bottom: 20px; }
      .products.grid.products-grid .product-items .product-item .product-item-actions {
        display: none;
        opacity: 0;
        z-index: 100;
        padding: 1rem 1.5rem; }
      .products.grid.products-grid .product-items .product-item .product-image-photo {
        margin-bottom: 10px; } }
      @media screen and (min-width: 40em) and (min-width: 40em) {
        .products.grid.products-grid .product-items .product-item .product-image-photo {
          max-width: 100%;
          margin-right: 0; } }

@media screen and (min-width: 40em) {
      .products.grid.products-grid .product-items .product-item .product-item-actions,
      .products.grid.products-grid .product-items .product-item .tocompare {
        display: none; }
  .products.list.products-list .product-items .product-item {
    padding-bottom: 10px;
    border-bottom: 1px solid #d6dbe0;
    margin-bottom: 20px; }
    .products.list.products-list .product-items .product-item .product-item-info {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; }
    .products.list.products-list .product-items .product-item .product-item-photo {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: auto;
      max-width: 60px;
      margin-right: 1.25rem; } }
    @media screen and (min-width: 40em) and (min-width: 40em) {
      .products.list.products-list .product-items .product-item .product-item-photo {
        max-width: 64px; } }

@media screen and (min-width: 40em) {
    .products.list.products-list .product-items .product-item .product-item-details {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      width: auto;
      max-width: 100% !important;
      overflow: hidden !important;
      text-overflow: ellipsis;
      white-space: nowrap !important;
      text-align: left; }
    .products.list.products-list .product-items .product-item .product-item-details {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; }
      .products.list.products-list .product-items .product-item .product-item-details > .product-item-name, .products.list.products-list .product-items .product-item .product-item-details .product-item-sku, .products.list.products-list .product-items .product-item .product-item-details .price-box, .products.list.products-list .product-items .product-item .product-item-details .product-item-inner {
        width: calc(50% - 1.25rem);
        margin-right: 0.625rem;
        margin-left: 0.625rem; }
      .products.list.products-list .product-items .product-item .product-item-details .product-item-name {
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
      .products.list.products-list .product-items .product-item .product-item-details .product-item-sku {
        -webkit-order: 3;
            -ms-flex-order: 3;
                order: 3; }
      .products.list.products-list .product-items .product-item .product-item-details .price-box {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; }
      .products.list.products-list .product-items .product-item .product-item-details .product-item-inner {
        -webkit-order: 4;
            -ms-flex-order: 4;
                order: 4; }
    .products.list.products-list .product-items .product-item .price-box,
    .products.list.products-list .product-items .product-item .product-item-inner {
      text-align: right; }
    .products.list.products-list .product-items .product-item:last-child {
      padding-bottom: 0;
      border-bottom: none;
      margin-bottom: 0; } }

@media screen and (min-width: 64em) {
  .products.grid.products-grid .product-items {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    .products.grid.products-grid .product-items .product-item {
      width: calc(25% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem;
      position: relative;
      margin-bottom: 20px; }
      .products.grid.products-grid .product-items .product-item .product-item-actions {
        display: none;
        opacity: 0;
        z-index: 100;
        padding: 1rem 1.5rem; }
      .products.grid.products-grid .product-items .product-item .product-image-photo {
        margin-bottom: 10px; } }
      @media screen and (min-width: 64em) and (min-width: 40em) {
        .products.grid.products-grid .product-items .product-item .product-image-photo {
          max-width: 100%;
          margin-right: 0; } }

@media screen and (min-width: 64em) {
      .products.grid.products-grid .product-items .product-item .product-item-actions,
      .products.grid.products-grid .product-items .product-item .tocompare {
        display: none; } }

.sidebar-main {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.catalog-product-view .breadcrumbs {
  display: none; }

@media screen and (min-width: 40em) {
  .catalog-product-view .breadcrumbs {
    display: block; } }

.product.media {
  margin-bottom: 1.875rem;
  width: 100%; }

.product-info-main {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  margin-bottom: 1.875rem; }

@media screen and (min-width: 40em) {
  .product.media {
    width: calc(50% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem; }
  .product-info-main {
    width: calc(50% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem; } }

@media print, screen and (min-width: 64em) {
  .product.media {
    width: calc(41.66667% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem; }
  .product-info-main {
    width: calc(50% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
    margin-left: calc(8.33333% + 0.625rem); } }

.print-product {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 2rem);
  margin-right: 1rem;
  margin-left: 1rem;
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    .print-product {
      width: calc(25% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem; } }

.product.media .fotorama__arr {
  background: none;
  width: 40px; }
  .product.media .fotorama__arr__arr {
    background: #FFFFFF;
    border: 1px solid #d6dbe0;
    border-radius: 50%;
    box-sizing: border-box;
    height: 20px;
    line-height: 1.125rem;
    text-align: center;
    transition: .3s ease;
    width: 20px; }
    .product.media .fotorama__arr__arr:hover {
      background: #003660;
      color: #FFFFFF; }
  .product.media .fotorama__arr--prev .fotorama__arr__arr:before {
    font-family: 'scout';
    font-weight: normal;
    font-style: normal;
    font-size: 0.5rem;
    display: inline-block;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    content: ""; }
  .product.media .fotorama__arr--next .fotorama__arr__arr:before {
    font-family: 'scout';
    font-weight: normal;
    font-style: normal;
    font-size: 0.5rem;
    display: inline-block;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    content: ""; }
  .product.media .fotorama__arr--disabled {
    opacity: 1; }

.product.media .fotorama__nav {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: auto; }
  .product.media .fotorama__nav--dots .fotorama__nav__frame {
    width: 1rem; }

.product.media .fotorama__dot {
  background: #FFFFFF;
  border-color: #d6dbe0;
  height: 6px;
  left: 4px;
  width: 6px; }

.product.media .fotorama__active .fotorama__dot {
  background: #003660;
  border-color: #003660; }

.product.page-title-wrapper h1 {
  color: #043A63; }

.product-view-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-bottom: 1.125rem; }
  @media print, screen and (min-width: 40em) {
    .product-view-row {
      margin-right: -1rem;
      margin-left: -1rem; } }
  .product-view-row.product-view-row-main {
    margin-bottom: 0; }

.product-info-main {
  padding-top: 1rem; }
  .product-info-main .sizeguide-trigger {
    cursor: pointer;
    display: inline-block;
    margin-bottom: 0.625rem; }
    .product-info-main .sizeguide-trigger .icon-ruler {
      font-size: 0.875rem;
      margin-right: .5rem; }
    .product-info-main .sizeguide-trigger span {
      color: #2e3134;
      text-decoration: underline; }
  .product-info-main .grouped-product .associated-products {
    list-style: none;
    margin: 0;
    padding: 0; }
    .product-info-main .grouped-product .associated-products .item .price-box {
      color: #e95f13;
      font-weight: 500;
      font-size: 1.125rem; }
      .product-info-main .grouped-product .associated-products .item .price-box.loading {
        background: transparent url("../images/loader-1.gif") center center no-repeat;
        background-size: auto 100%;
        color: transparent !important; }
      .product-info-main .grouped-product .associated-products .item .price-box .old-price {
        color: #9FA6AD;
        margin-right: 5px; }
        .product-info-main .grouped-product .associated-products .item .price-box .old-price .price {
          text-decoration: line-through; }
      .product-info-main .grouped-product .associated-products .item .price-box .price-label {
        display: none !important; }
      .product-info-main .grouped-product .associated-products .item .price-box .minimal-price {
        margin-bottom: 0; }
    .product-info-main .grouped-product .associated-products .product-item-details {
      -webkit-align-content: center;
          -ms-flex-line-pack: center;
              align-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    .product-info-main .grouped-product .associated-products .product-item-name {
      margin-right: 1rem; }

.product.attribute.sku {
  line-height: 18px; }
  .product.attribute.sku .type,
  .product.attribute.sku .value {
    font-size: .813rem;
    color: #8A8D96; }

.product.attribute.overview {
  margin-top: 2rem; }

.product-info-stock {
  visibility: hidden;
  margin-bottom: 2rem;
  font-size: 0.875rem; }
  .product-info-stock.visible {
    visibility: visible; }
  .product-info-stock a {
    color: #000000;
    text-decoration: underline; }
    .product-info-stock a:hover {
      color: #003660; }

.product-options-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .product-options-wrapper {
      margin-right: -1rem;
      margin-left: -1rem; } }
  .product-options-wrapper .fieldset {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .product-options-wrapper .fieldset {
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        min-height: 0px;
        min-width: 0px;
        width: calc(100% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem; } }
    .product-options-wrapper .fieldset label {
      display: none !important; }
    .product-options-wrapper .fieldset select {
      border-radius: 7px;
      margin-bottom: 0; }

.product-info-price {
  margin-bottom: 1.5rem; }
  .product-info-price .price-label {
    display: none !important; }
  .product-info-price .price-final_price .price {
    color: #e95f13;
    font-size: 1.5rem;
    font-weight: 500; }
  .product-info-price .special-price .price-final_price .price {
    color: #ff1500; }
  .product-info-price .old-price .price-final_price .price {
    color: #9FA6AD;
    font-size: 1.25rem;
    font-weight: normal;
    margin-right: 10px;
    text-decoration: line-through; }
  .product-info-price .old-price .price-tax-label {
    display: none; }

.product-add-form .box-tocart .fieldset {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  border: 0;
  padding: 1.25rem 0 0;
  margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .product-add-form .box-tocart .fieldset {
      margin-right: -1rem;
      margin-left: -1rem; } }

.product-add-form .tocart {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.9375rem 1rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: all 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #043A63;
  color: #FFFFFF;
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  border-radius: 7px;
  margin-bottom: 0; }
  [data-whatinput='mouse'] .product-add-form .tocart {
    outline: 0; }
  .product-add-form .tocart:hover, .product-add-form .tocart:focus {
    background-color: #065794;
    color: #FFFFFF; }
  .product-add-form .tocart:not(.close-button):not(.action-close) {
    font-weight: 500; }
  .product-add-form .tocart:hover {
    box-shadow: 0 6px 15px rgba(4, 58, 99, 0.45); }
  .product-add-form .tocart:disabled {
    background: #d6dbe0;
    cursor: not-allowed; }
  .product-add-form .tocart:disabled:hover {
    box-shadow: none; }

.product-add-form .qty.field {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  margin-right: 0; }
  @media screen and (min-width: 64em) {
    .product-add-form .qty.field {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: auto;
      margin-right: 1rem;
      margin-left: 1rem;
      margin-right: 0; } }

.product-add-form .qty .control {
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.product-add-form .qty .qty-minus,
.product-add-form .qty .qty-plus {
  border-radius: 7px;
  border-color: #d6dbe0;
  border-style: solid;
  display: block;
  font-size: 1.5rem;
  height: 50px;
  padding: 0.375rem 0;
  width: 40px; }

.product-add-form .qty .qty-minus,
.product-add-form .qty .qty-plus {
  border-width: 2px;
  position: relative;
  background: #FFFFFF;
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .product-add-form .qty .qty-minus img[src$=".svg"],
  .product-add-form .qty .qty-plus img[src$=".svg"] {
    margin-top: 6px; }
  .product-add-form .qty .qty-minus:hover,
  .product-add-form .qty .qty-plus:hover {
    background: #d6dbe0;
    cursor: pointer;
    z-index: 2; }

.product-add-form .qty input#qty {
  border-width: 2px 0;
  margin: 0;
  text-align: center;
  width: 65px;
  z-index: 1; }
  .product-add-form .qty input#qty[type=number]::-webkit-inner-spin-button, .product-add-form .qty input#qty[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0; }
  .product-add-form .qty input#qty:focus {
    border-color: #d6dbe0; }

.product-add-form .actions {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }
  @media print, screen and (min-width: 40em) {
    .product-add-form .actions {
      width: calc(41.66667% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; } }

.product-add-form .action.towishlist {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
  margin-right: 1rem;
  margin-left: 1rem;
  border: 2px solid #d6dbe0;
  box-sizing: border-box;
  display: block;
  line-height: 1;
  margin-bottom: 1rem;
  margin-left: 0;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  padding: 0.625rem 0.75rem;
  text-align: center; }
  .product-add-form .action.towishlist span {
    display: none; }
  .product-add-form .action.towishlist:before {
    font-family: 'scout';
    font-weight: normal;
    font-style: normal;
    font-size: 1.5rem;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    content: ""; }
  @media print, screen and (min-width: 40em) {
    .product-add-form .action.towishlist {
      -webkit-order: 3;
          -ms-flex-order: 3;
              order: 3; } }

.product-info-availability {
  border-bottom: 1px solid #d6dbe0;
  border-top: 1px solid #d6dbe0;
  margin-bottom: 1rem;
  margin-top: 1rem;
  padding: 1rem 0; }
  .product-info-availability .availability-inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .product-info-availability .availability-inner {
        margin-right: -1rem;
        margin-left: -1rem; } }
    .product-info-availability .availability-inner .stock {
      width: calc(50% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem;
      -webkit-align-content: center;
          -ms-flex-line-pack: center;
              align-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      .product-info-availability .availability-inner .stock.available:before {
        font-family: 'scout';
        font-weight: normal;
        font-style: normal;
        font-size: 1rem;
        display: inline-block;
        line-height: 1;
        text-transform: none;
        letter-spacing: normal;
        word-wrap: normal;
        white-space: nowrap;
        direction: ltr;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale;
        font-feature-settings: 'liga';
        content: "";
        color: #41a62a;
        margin-right: .5rem; }

.product.info.detailed .data.item.title {
  display: none; }

.product-usp-wrapper {
  border-bottom: 1px solid #d6dbe0;
  border-top: 1px solid #d6dbe0;
  font-size: 0.875rem;
  margin-bottom: 1.875rem;
  margin-top: 1.875rem;
  padding: 1rem 0; }
  .product-usp-wrapper .container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column; }
  .product-usp-wrapper .container > * {
    padding-left: 1.6rem;
    padding-right: 1.6rem; }
  .product-usp-wrapper .shipping {
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1rem; }
    .product-usp-wrapper .shipping span {
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .product-usp-wrapper .shipping:before {
      font-family: 'scout';
      font-weight: normal;
      font-style: normal;
      font-size: 1.5rem;
      display: inline-block;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      font-feature-settings: 'liga';
      content: "";
      color: #7d4199;
      -webkit-flex-basis: 1.875rem;
          -ms-flex-preferred-size: 1.875rem;
              flex-basis: 1.875rem;
      margin-right: 1rem;
      text-align: center; }
  .product-usp-wrapper .eco-friendly {
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1rem; }
    .product-usp-wrapper .eco-friendly span {
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .product-usp-wrapper .eco-friendly:before {
      font-family: 'scout';
      font-weight: normal;
      font-style: normal;
      font-size: 1.5rem;
      display: inline-block;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      font-feature-settings: 'liga';
      content: "";
      color: #41a62a;
      -webkit-flex-basis: 1.875rem;
          -ms-flex-preferred-size: 1.875rem;
              flex-basis: 1.875rem;
      margin-right: 1rem;
      text-align: center; }
  .product-usp-wrapper .support {
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .product-usp-wrapper .support span {
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .product-usp-wrapper .support:before {
      font-family: 'scout';
      font-weight: normal;
      font-style: normal;
      font-size: 1.5rem;
      display: inline-block;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      font-feature-settings: 'liga';
      content: "";
      color: #00a8e1;
      -webkit-flex-basis: 1.875rem;
          -ms-flex-preferred-size: 1.875rem;
              flex-basis: 1.875rem;
      margin-right: 1rem;
      text-align: center; }

@media screen and (min-width: 40em) {
  .product.media .fotorama__nav {
    overflow: hidden;
    padding: 20px 30px 0;
    position: relative; }
    .product.media .fotorama__nav-wrap--horizontal .fotorama__thumb__arr {
      background: #FFFFFF;
      top: 20px; }
      .product.media .fotorama__nav-wrap--horizontal .fotorama__thumb__arr--left .fotorama__thumb--icon, .product.media .fotorama__nav-wrap--horizontal .fotorama__thumb__arr--right .fotorama__thumb--icon {
        width: 20px; }
    .product.media .fotorama__nav.fotorama__shadows--left:before {
      content: '';
      display: none; }
    .product.media .fotorama__nav.fotorama__shadows--right:after {
      content: '';
      display: none; }
    .product.media .fotorama__nav--thumbs .fotorama__nav__frame .fotorama__thumb {
      width: calc(100% - 8px);
      height: calc(100% - 8px);
      margin: 4px; }
  .product.media .fotorama__thumb--icon {
    background-color: #FFFFFF;
    background-image: none;
    border: 1px solid #d6dbe0;
    border-radius: 50%;
    box-sizing: border-box;
    height: 20px;
    line-height: 1.125rem;
    padding: 0;
    text-align: center;
    transition: .3s ease;
    width: 20px; }
    .product.media .fotorama__thumb--icon:hover {
      background: #003660;
      color: #FFFFFF; }
  .product.media .fotorama__thumb__arr--left .fotorama__thumb--icon:before {
    font-family: 'scout';
    font-weight: normal;
    font-style: normal;
    font-size: 0.5rem;
    display: inline-block;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    content: ""; }
  .product.media .fotorama__thumb__arr--right .fotorama__thumb--icon:before {
    font-family: 'scout';
    font-weight: normal;
    font-style: normal;
    font-size: 0.5rem;
    display: inline-block;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    content: ""; }
  .product.media .fotorama__thumb-border {
    border-color: #003660;
    border-width: 1px; }
  .product-info-main {
    padding-top: 0; }
  .product-info-availability .availability-inner .stock {
    width: calc(33.33333% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem; }
  .product-usp-wrapper .container {
    margin: 0 auto;
    -webkit-flex-flow: row;
        -ms-flex-flow: row;
            flex-flow: row; }
    .product-usp-wrapper .container .shipping,
    .product-usp-wrapper .container .eco-friendly,
    .product-usp-wrapper .container .support {
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      margin: 0;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }

@media screen and (min-width: 64em) {
  .product-usp-wrapper .container {
    max-width: 75%; } }

.print-product a {
  text-transform: uppercase;
  font-weight: bold;
  font-size: .75rem;
  color: #526580; }
  .print-product a img[src$=".svg"] {
    margin-right: 5px; }

.product-info-usp {
  font-size: .813rem; }
  .product-info-usp .callout {
    padding: 1rem 1rem 0; }
    .product-info-usp .callout svg {
      height: 36px;
      width: 36px;
      margin-right: 1rem; }

.product-view-extend {
  position: relative;
  margin: 0 0 2.5rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
  background-color: white;
  color: #000000;
  margin-left: 0;
  width: 100%;
  border: 0;
  background: #f7f7f7;
  margin-bottom: 1.125rem; }
  .product-view-extend > :first-child {
    margin-top: 0; }
  .product-view-extend > :last-child {
    margin-bottom: 0; }
  @media (min-width: 1240px) {
    .product-view-extend {
      max-width: none;
      width: 1000vw;
      margin-left: -500%;
      position: relative;
      left: 250%; } }
  .product-view-extend table th,
  .product-view-extend table td {
    font-size: 0.875rem;
    font-weight: normal;
    border-right: 2px solid #f7f7f7; }
  .product-view-extend .support {
    font-size: 0.875rem; }
    .product-view-extend .support span {
      display: inline-block;
      margin-right: 1rem;
      margin-left: 0; }
      @media (min-width: 1024px) {
        .product-view-extend .support span {
          margin-right: 0;
          margin-left: 1rem; } }
      .product-view-extend .support span img[src$=".svg"] {
        width: 20px;
        height: 20px;
        margin-right: 5px; }
      .product-view-extend .support span a {
        color: #000000; }

.related .title,
.upsell .title {
  color: #003660;
  font-family: "ITCFranklinGothic-Cd", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.5rem;
  margin-bottom: 1rem; }
  @media print, screen and (min-width: 40em) {
    .related .title,
    .upsell .title {
      font-size: 2rem; } }

.related .product-item .price-box,
.upsell .product-item .price-box {
  color: #e95f13;
  font-weight: 500;
  font-size: 1.125rem; }
  .related .product-item .price-box.loading,
  .upsell .product-item .price-box.loading {
    background: transparent url("../images/loader-1.gif") center center no-repeat;
    background-size: auto 100%;
    color: transparent !important; }
  .related .product-item .price-box .old-price,
  .upsell .product-item .price-box .old-price {
    color: #9FA6AD;
    margin-right: 5px; }
    .related .product-item .price-box .old-price .price,
    .upsell .product-item .price-box .old-price .price {
      text-decoration: line-through; }
  .related .product-item .price-box .price-label,
  .upsell .product-item .price-box .price-label {
    display: none !important; }
  .related .product-item .price-box .minimal-price,
  .upsell .product-item .price-box .minimal-price {
    margin-bottom: 0; }

@media screen and (max-width: 39.9375em) {
  .related .products.list,
  .upsell .products.list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    width: initial; } }
  @media screen and (max-width: 39.9375em) and (min-width: 40em) {
    .related .products.list,
    .upsell .products.list {
      margin-right: -1rem;
      margin-left: -1rem; } }

@media screen and (max-width: 39.9375em) {
    .related .products.list .product-item,
    .upsell .products.list .product-item {
      width: calc(50% - 1.25rem);
      margin-right: 0.625rem;
      margin-left: 0.625rem;
      margin-bottom: 0.625rem; } }

.checkout-cart-index .back-to-shop-wrapper {
  margin-bottom: 0.5rem; }
  @media print, screen and (min-width: 64em) {
    .checkout-cart-index .back-to-shop-wrapper {
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      max-width: 79.5rem;
      margin: 0 auto;
      margin-bottom: 1rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .checkout-cart-index .back-to-shop-wrapper {
      padding-right: 1rem;
      padding-left: 1rem; } }
  .checkout-cart-index .back-to-shop-wrapper .back-to-shop {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.9375rem 1rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #003660;
    color: #FFFFFF;
    border-radius: 7px;
    margin-bottom: 0;
    font-size: 0.75rem; }
    [data-whatinput='mouse'] .checkout-cart-index .back-to-shop-wrapper .back-to-shop {
      outline: 0; }
    .checkout-cart-index .back-to-shop-wrapper .back-to-shop:hover, .checkout-cart-index .back-to-shop-wrapper .back-to-shop:focus {
      background-color: #005393;
      color: #FFFFFF; }
    .checkout-cart-index .back-to-shop-wrapper .back-to-shop:not(.close-button):not(.action-close) {
      font-weight: 500; }
    .checkout-cart-index .back-to-shop-wrapper .back-to-shop:hover {
      box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
    .checkout-cart-index .back-to-shop-wrapper .back-to-shop:disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
    .checkout-cart-index .back-to-shop-wrapper .back-to-shop:disabled:hover {
      box-shadow: none; }
    .checkout-cart-index .back-to-shop-wrapper .back-to-shop .text {
      vertical-align: text-bottom; }
    @media print, screen and (min-width: 64em) {
      .checkout-cart-index .back-to-shop-wrapper .back-to-shop {
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 1rem 0;
        font-family: inherit;
        padding: 0.9375rem 1rem;
        -webkit-appearance: none;
        border: 1px solid transparent;
        border-radius: 0;
        transition: all 0.25s ease-out;
        font-size: 1.125rem;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        background-color: #003660;
        color: #FFFFFF;
        border-radius: 7px;
        margin-bottom: 0; }
        [data-whatinput='mouse'] .checkout-cart-index .back-to-shop-wrapper .back-to-shop {
          outline: 0; }
        .checkout-cart-index .back-to-shop-wrapper .back-to-shop:hover, .checkout-cart-index .back-to-shop-wrapper .back-to-shop:focus {
          background-color: #005393;
          color: #FFFFFF; }
        .checkout-cart-index .back-to-shop-wrapper .back-to-shop:not(.close-button):not(.action-close) {
          font-weight: 500; }
        .checkout-cart-index .back-to-shop-wrapper .back-to-shop:hover {
          box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
        .checkout-cart-index .back-to-shop-wrapper .back-to-shop:disabled {
          background: #d6dbe0;
          cursor: not-allowed; }
        .checkout-cart-index .back-to-shop-wrapper .back-to-shop:disabled:hover {
          box-shadow: none; }
        .checkout-cart-index .back-to-shop-wrapper .back-to-shop .text {
          line-height: 1rem; } }

.checkout-cart-index .page-title-wrapper .page-title {
  border-bottom: 2px solid #9FA6AD; }
  @media print, screen and (min-width: 64em) {
    .checkout-cart-index .page-title-wrapper .page-title {
      width: calc(58.33333% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem; } }

.checkout-cart-index .cart-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 1rem; }
  @media print, screen and (min-width: 40em) {
    .checkout-cart-index .cart-container {
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .checkout-cart-index .cart-container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; }
      .checkout-cart-index .cart-container .form-cart {
        width: calc(58.33333% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem; }
      .checkout-cart-index .cart-container .cart-summary {
        width: calc(41.66667% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem; } }
  .checkout-cart-index .cart-container .form-cart {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
    .checkout-cart-index .cart-container .form-cart .table-wrapper {
      overflow: hidden;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      margin-bottom: 0.5rem; }
    .checkout-cart-index .cart-container .form-cart .product-wrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      margin-left: -1rem;
      margin-right: -1rem;
      padding-bottom: 0.5rem;
      border-bottom: 2px solid #9FA6AD;
      margin-bottom: 0.5rem; }
      @media print, screen and (min-width: 64em) {
        .checkout-cart-index .cart-container .form-cart .product-wrapper {
          margin-bottom: 0.5rem; } }
      .checkout-cart-index .cart-container .form-cart .product-wrapper .product-item-image {
        width: calc(33.33333% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem; }
      .checkout-cart-index .cart-container .form-cart .product-wrapper .product-item-details {
        width: calc(66.66667% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
        position: relative; }
    .checkout-cart-index .cart-container .form-cart .cart.main.actions {
      margin-bottom: 1rem; }
      @media print, screen and (min-width: 64em) {
        .checkout-cart-index .cart-container .form-cart .cart.main.actions {
          margin-bottom: 0; } }
      .checkout-cart-index .cart-container .form-cart .cart.main.actions .action.continue {
        display: none; }
      .checkout-cart-index .cart-container .form-cart .cart.main.actions .action {
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 1rem 0;
        font-family: inherit;
        padding: 0.9375rem 1rem;
        -webkit-appearance: none;
        border: 1px solid transparent;
        border-radius: 0;
        transition: all 0.25s ease-out;
        font-size: 1.125rem;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        background-color: #003660;
        color: #FFFFFF;
        border-radius: 7px;
        margin-bottom: 0; }
        [data-whatinput='mouse'] .checkout-cart-index .cart-container .form-cart .cart.main.actions .action {
          outline: 0; }
        .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:hover, .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:focus {
          background-color: #005393;
          color: #FFFFFF; }
        .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:not(.close-button):not(.action-close) {
          font-weight: 500; }
        .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:hover {
          box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
        .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:disabled {
          background: #d6dbe0;
          cursor: not-allowed; }
        .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:disabled:hover {
          box-shadow: none; }
        @media screen and (max-width: 39.9375em) {
          .checkout-cart-index .cart-container .form-cart .cart.main.actions .action {
            display: inline-block;
            vertical-align: middle;
            margin: 0 0 1rem 0;
            font-family: inherit;
            padding: 0.9375rem 1rem;
            -webkit-appearance: none;
            border: 1px solid transparent;
            border-radius: 0;
            transition: all 0.25s ease-out;
            font-size: 1.125rem;
            line-height: 1;
            text-align: center;
            cursor: pointer;
            background-color: #003660;
            color: #FFFFFF;
            display: block;
            width: 100%;
            margin-right: 0;
            margin-left: 0;
            border-radius: 7px;
            margin-bottom: 0; }
            [data-whatinput='mouse'] .checkout-cart-index .cart-container .form-cart .cart.main.actions .action {
              outline: 0; }
            .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:hover, .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:focus {
              background-color: #005393;
              color: #FFFFFF; }
            .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:not(.close-button):not(.action-close) {
              font-weight: 500; }
            .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:hover {
              box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
            .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:disabled {
              background: #d6dbe0;
              cursor: not-allowed; }
            .checkout-cart-index .cart-container .form-cart .cart.main.actions .action:disabled:hover {
              box-shadow: none; } }
      .checkout-cart-index .cart-container .form-cart .cart.main.actions .action.clear {
        margin-bottom: 1rem; }
        @media print, screen and (min-width: 40em) {
          .checkout-cart-index .cart-container .form-cart .cart.main.actions .action.clear {
            margin-bottom: 0; } }
    .checkout-cart-index .cart-container .form-cart .product-item-details {
      display: grid;
      grid-template-rows: repeat(3, auto) 1fr;
      grid-template-columns: 1fr repeat(2, auto); }
      .checkout-cart-index .cart-container .form-cart .product-item-details .product-item-name {
        grid-column: 1 / span 3;
        font-size: 1.125rem; }
      .checkout-cart-index .cart-container .form-cart .product-item-details .product-item-sku {
        grid-column: 1 / span 3; }
      .checkout-cart-index .cart-container .form-cart .product-item-details .item-options {
        grid-column: 1 / span 3; }
      .checkout-cart-index .cart-container .form-cart .product-item-details .price {
        grid-column: 3 / last;
        grid-row: 4 / last;
        -webkit-align-self: end;
            -ms-flex-item-align: end;
                align-self: end;
        color: #e95f13;
        font-weight: bold; }
        @media print, screen and (min-width: 40em) {
          .checkout-cart-index .cart-container .form-cart .product-item-details .price {
            font-size: 1.25rem; } }
      .checkout-cart-index .cart-container .form-cart .product-item-details .fieldset {
        grid-column: 1;
        grid-row: auto / last;
        -webkit-align-self: end;
            -ms-flex-item-align: end;
                align-self: end; }
        .checkout-cart-index .cart-container .form-cart .product-item-details .fieldset .qty .control {
          -webkit-align-content: center;
              -ms-flex-line-pack: center;
                  align-content: center;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; }
        .checkout-cart-index .cart-container .form-cart .product-item-details .fieldset .qty .qty-minus,
        .checkout-cart-index .cart-container .form-cart .product-item-details .fieldset .qty .qty-plus {
          border-radius: 7px;
          border-color: #d6dbe0;
          border-style: solid;
          display: block;
          font-size: 1.5rem;
          height: 3.125rem;
          padding: 0.375rem 0;
          width: 2.5rem;
          border-width: 2px;
          position: relative;
          background-color: #FFFFFF;
          text-align: center;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none; }
          .checkout-cart-index .cart-container .form-cart .product-item-details .fieldset .qty .qty-minus:hover,
          .checkout-cart-index .cart-container .form-cart .product-item-details .fieldset .qty .qty-plus:hover {
            background: #d6dbe0;
            cursor: pointer;
            z-index: 2; }
        .checkout-cart-index .cart-container .form-cart .product-item-details .fieldset .qty input.input-text.qty {
          border-width: 2px 0;
          margin: 0;
          text-align: center;
          z-index: 1;
          min-width: 3rem;
          -webkit-flex: 0 1;
              -ms-flex: 0 1;
                  flex: 0 1; }
          .checkout-cart-index .cart-container .form-cart .product-item-details .fieldset .qty input.input-text.qty:focus {
            border-color: #d6dbe0; }
      .checkout-cart-index .cart-container .form-cart .product-item-details .actions-toolbar {
        grid-column: 4 / last;
        grid-row: 1;
        justify-self: end; }
        .checkout-cart-index .cart-container .form-cart .product-item-details .actions-toolbar .action-delete {
          font-size: 1.2rem; }
        .checkout-cart-index .cart-container .form-cart .product-item-details .actions-toolbar .action-edit {
          display: none; }
  .checkout-cart-index .cart-container .cart-summary {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
    .checkout-cart-index .cart-container .cart-summary .title {
      border-bottom: 2px solid #9FA6AD; }
      @media print, screen and (min-width: 40em) {
        .checkout-cart-index .cart-container .cart-summary .title {
          width: calc(100% - 2rem);
          margin-right: 1rem;
          margin-left: 1rem; } }
      @media print, screen and (min-width: 64em) {
        .checkout-cart-index .cart-container .cart-summary .title {
          font-size: 2rem; } }
    .checkout-cart-index .cart-container .cart-summary .block.shipping {
      display: none; }
    @media print, screen and (min-width: 40em) {
      .checkout-cart-index .cart-container .cart-summary .cart-totals,
      .checkout-cart-index .cart-container .cart-summary .block.discount {
        width: calc(50% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem; } }
    @media print, screen and (min-width: 64em) {
      .checkout-cart-index .cart-container .cart-summary .cart-totals,
      .checkout-cart-index .cart-container .cart-summary .block.discount {
        width: calc(100% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem; } }
    .checkout-cart-index .cart-container .cart-summary .checkout-methods-items {
      list-style: none;
      margin: 1rem 0 0; }
      .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button {
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 1rem 0;
        font-family: inherit;
        padding: 0.9375rem 1rem;
        -webkit-appearance: none;
        border: 1px solid transparent;
        border-radius: 0;
        transition: all 0.25s ease-out;
        font-size: 1.125rem;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        background-color: #003660;
        color: #FFFFFF;
        border-radius: 7px;
        margin-bottom: 0;
        font-size: 1.25rem; }
        [data-whatinput='mouse'] .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button {
          outline: 0; }
        .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:hover, .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:focus {
          background-color: #005393;
          color: #FFFFFF; }
        .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:not(.close-button):not(.action-close) {
          font-weight: 500; }
        .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:hover {
          box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
        .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:disabled {
          background: #d6dbe0;
          cursor: not-allowed; }
        .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:disabled:hover {
          box-shadow: none; }
        @media screen and (max-width: 39.9375em) {
          .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button {
            display: inline-block;
            vertical-align: middle;
            margin: 0 0 1rem 0;
            font-family: inherit;
            padding: 0.9375rem 1rem;
            -webkit-appearance: none;
            border: 1px solid transparent;
            border-radius: 0;
            transition: all 0.25s ease-out;
            font-size: 1.125rem;
            line-height: 1;
            text-align: center;
            cursor: pointer;
            background-color: #003660;
            color: #FFFFFF;
            display: block;
            width: 100%;
            margin-right: 0;
            margin-left: 0;
            border-radius: 7px;
            margin-bottom: 0;
            margin-bottom: 0; }
            [data-whatinput='mouse'] .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button {
              outline: 0; }
            .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:hover, .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:focus {
              background-color: #005393;
              color: #FFFFFF; }
            .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:not(.close-button):not(.action-close) {
              font-weight: 500; }
            .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:hover {
              box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
            .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:disabled {
              background: #d6dbe0;
              cursor: not-allowed; }
            .checkout-cart-index .cart-container .cart-summary .checkout-methods-items button:disabled:hover {
              box-shadow: none; } }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        .checkout-cart-index .cart-container .cart-summary .checkout-methods-items {
          width: calc(100% - 2rem);
          margin-right: 1rem;
          margin-left: 1rem;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-flow: row wrap;
              -ms-flex-flow: row wrap;
                  flex-flow: row wrap;
          -webkit-justify-content: flex-end;
              -ms-flex-pack: end;
                  justify-content: flex-end;
          margin-top: 0; }
          .checkout-cart-index .cart-container .cart-summary .checkout-methods-items .item {
            top: 100%;
            -webkit-transform: translateY(-100%);
                -ms-transform: translateY(-100%);
                    transform: translateY(-100%); } }
      @media print, screen and (min-width: 64em) {
        .checkout-cart-index .cart-container .cart-summary .checkout-methods-items {
          width: calc(100% - 2rem);
          margin-right: 1rem;
          margin-left: 1rem;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-flow: row wrap;
              -ms-flex-flow: row wrap;
                  flex-flow: row wrap;
          -webkit-justify-content: flex-end;
              -ms-flex-pack: end;
                  justify-content: flex-end; } }
    .checkout-cart-index .cart-container .cart-summary .cart-totals {
      min-height: 120px; }
      .checkout-cart-index .cart-container .cart-summary .cart-totals table.totals th,
      .checkout-cart-index .cart-container .cart-summary .cart-totals table.totals td {
        font-weight: normal;
        padding: 0.5rem 0 0.5rem; }
      .checkout-cart-index .cart-container .cart-summary .cart-totals table.totals tbody,
      .checkout-cart-index .cart-container .cart-summary .cart-totals table.totals tr {
        font-size: 1rem;
        border: none; }
      .checkout-cart-index .cart-container .cart-summary .cart-totals table.totals th {
        text-align: left; }
      .checkout-cart-index .cart-container .cart-summary .cart-totals table.totals td {
        text-align: right; }
      .checkout-cart-index .cart-container .cart-summary .cart-totals table.totals .table-caption {
        display: none; }
      .checkout-cart-index .cart-container .cart-summary .cart-totals .grand.totals th,
      .checkout-cart-index .cart-container .cart-summary .cart-totals .grand.totals td {
        font-weight: bold; }
    .checkout-cart-index .cart-container .cart-summary .fieldset.coupon {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; }
      .checkout-cart-index .cart-container .cart-summary .fieldset.coupon input {
        border-radius: 7px;
        margin: 0; }
      .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .field,
      .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .actions-toolbar {
        width: 100%;
        margin-right: 0;
        margin-left: 0; }
      .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .actions-toolbar button {
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 1rem 0;
        font-family: inherit;
        padding: 0.9375rem 1rem;
        -webkit-appearance: none;
        border: 1px solid transparent;
        border-radius: 0;
        transition: all 0.25s ease-out;
        font-size: 1.125rem;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        background-color: #003660;
        color: #FFFFFF;
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        border-radius: 7px;
        margin-bottom: 0; }
        [data-whatinput='mouse'] .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .actions-toolbar button {
          outline: 0; }
        .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .actions-toolbar button:hover, .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .actions-toolbar button:focus {
          background-color: #005393;
          color: #FFFFFF; }
        .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .actions-toolbar button:not(.close-button):not(.action-close) {
          font-weight: 500; }
        .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .actions-toolbar button:hover {
          box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
        .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .actions-toolbar button:disabled {
          background: #d6dbe0;
          cursor: not-allowed; }
        .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .actions-toolbar button:disabled:hover {
          box-shadow: none; }
      @media print, screen and (min-width: 40em) {
        .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .field {
          -webkit-flex: 1 1 0px;
              -ms-flex: 1 1 0px;
                  flex: 1 1 0px;
          width: auto;
          margin-right: 0;
          margin-left: 0; }
        .checkout-cart-index .cart-container .cart-summary .fieldset.coupon .actions-toolbar {
          -webkit-flex: 0 0 auto;
              -ms-flex: 0 0 auto;
                  flex: 0 0 auto;
          width: auto;
          margin-right: 0;
          margin-left: 0; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .checkout-cart-index .cart-container .cart-summary {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-flow: row wrap;
            -ms-flex-flow: row wrap;
                flex-flow: row wrap;
        margin-right: -0.625rem;
        margin-left: -0.625rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) and (min-width: 40em) {
    .checkout-cart-index .cart-container .cart-summary {
      margin-right: -1rem;
      margin-left: -1rem; } }
    @media print, screen and (min-width: 64em) {
      .checkout-cart-index .cart-container .cart-summary {
        -webkit-transform: translateY(-3.375rem);
            -ms-transform: translateY(-3.375rem);
                transform: translateY(-3.375rem); } }

.checkout-cart-index .cart-empty {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 79.5rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .checkout-cart-index .cart-empty {
      padding-right: 1rem;
      padding-left: 1rem; } }

@media screen and (max-width: 39.9375em) {
  .checkout-cart-index .crosssell .products.list {
    display: grid;
    grid-gap: 1rem;
    grid-template-columns: repeat(2, 1fr); } }

@media print, screen and (min-width: 64em) {
  .checkout-cart-index .crosssell {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 79.5rem;
    margin: 0 auto; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .checkout-cart-index .crosssell {
      padding-right: 1rem;
      padding-left: 1rem; } }

.checkout-cart-index .crosssell .price-box {
  color: #e95f13;
  font-weight: 500;
  font-size: 1.125rem; }
  .checkout-cart-index .crosssell .price-box.loading {
    background: transparent url("../images/loader-1.gif") center center no-repeat;
    background-size: auto 100%;
    color: transparent !important; }
  .checkout-cart-index .crosssell .price-box .old-price {
    color: #9FA6AD;
    margin-right: 5px; }
    .checkout-cart-index .crosssell .price-box .old-price .price {
      text-decoration: line-through; }
  .checkout-cart-index .crosssell .price-box .price-label {
    display: none !important; }
  .checkout-cart-index .crosssell .price-box .minimal-price {
    margin-bottom: 0; }

.checkout-cart-index .crosssell button.tocart {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.9375rem 1rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: all 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #003660;
  color: #FFFFFF;
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  border-radius: 7px;
  margin-bottom: 0; }
  [data-whatinput='mouse'] .checkout-cart-index .crosssell button.tocart {
    outline: 0; }
  .checkout-cart-index .crosssell button.tocart:hover, .checkout-cart-index .crosssell button.tocart:focus {
    background-color: #005393;
    color: #FFFFFF; }
  .checkout-cart-index .crosssell button.tocart:not(.close-button):not(.action-close) {
    font-weight: 500; }
  .checkout-cart-index .crosssell button.tocart:hover {
    box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
  .checkout-cart-index .crosssell button.tocart:disabled {
    background: #d6dbe0;
    cursor: not-allowed; }
  .checkout-cart-index .crosssell button.tocart:disabled:hover {
    box-shadow: none; }

.checkout-cart-index .crosssell .product-item-photo {
  display: block;
  text-align: center; }

section.guides {
  display: grid;
  gap: 1.5rem; }
  @media (min-width: 460px) {
    section.guides {
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem; } }
  @media print, screen and (min-width: 40em) {
    section.guides {
      grid-template-columns: repeat(3, 1fr); } }
  @media print, screen and (min-width: 64em) {
    section.guides {
      gap: 3rem; } }
  section.guides article {
    border-radius: 0.6rem;
    box-shadow: 0 0 2px 2px rgba(80, 80, 80, 0.2);
    overflow: hidden; }
    section.guides article .scout-guide-image-container {
      overflow-y: hidden;
      max-height: 25rem; }
      section.guides article .scout-guide-image-container img {
        min-width: 100%; }
    section.guides article footer {
      padding: 0.6rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      section.guides article footer .icon {
        background: #003660;
        border-radius: 50%;
        color: #FFFFFF;
        font-size: 1.2rem;
        font-weight: 700;
        padding: 0.6rem; }

.scout-guide.callout {
  color: #000000;
  border-color: transparent; }
  .scout-guide.callout.primary {
    background-color: #C1E4FE; }
  .scout-guide.callout.secondary {
    background-color: #DEF4D4; }

.scout-guide ul li p {
  margin-bottom: 0; }

.video-player {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-top: 56.25%; }
  .video-player iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%; }

.customer-account-login .page-main .login-container {
  display: grid;
  gap: 1rem; }
  @media print, screen and (min-width: 40em) {
    .customer-account-login .page-main .login-container {
      grid-template-columns: repeat(2, 1fr); } }
  .customer-account-login .page-main .login-container .form-login label {
    padding: 0.5rem 1.5rem;
    text-transform: uppercase;
    font-size: smaller;
    position: relative;
    font-weight: 500;
    margin-bottom: -2px;
    border-radius: 4px 4px 0 0;
    border: 2px solid #d6dbe0;
    background: #f7f7f7;
    color: #002E52; }
  .customer-account-login .page-main .login-container .form-login .actions-toolbar {
    display: grid;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    grid-template-columns: auto 1fr;
    gap: 0.5rem; }
    .customer-account-login .page-main .login-container .form-login .actions-toolbar .secondary {
      line-height: 1; }

@media print, screen and (min-width: 40em) {
  .customer-account-create .form-create-account {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem; } }

@media print, screen and (min-width: 40em) {
  .customer-account-create .form-create-account .info {
    grid-column: 1/3;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem; } }

@media print, screen and (min-width: 40em) {
  .customer-account-create .form-create-account .info .newsletter {
    grid-column: 1/3; } }

@media print, screen and (min-width: 64em) {
  .customer-account-create .form-create-account .info .newsletter {
    grid-column: 1/2; } }

@media print, screen and (min-width: 40em) {
  .customer-account-create .form-create-account .scout-group {
    grid-row: 2;
    grid-column: 2/3; } }

@media print, screen and (min-width: 40em) {
  .customer-account-create .form-create-account .actions-toolbar {
    -webkit-align-self: end;
        -ms-flex-item-align: end;
            align-self: end;
    justify-self: right; } }

.customer-account-create .form-create-account .field:not(.choice) label {
  padding: 0.5rem 1.5rem;
  text-transform: uppercase;
  font-size: smaller;
  position: relative;
  font-weight: 500;
  margin-bottom: -2px;
  border-radius: 4px 4px 0 0;
  border: 2px solid #d6dbe0;
  background: #f7f7f7;
  color: #002E52; }

.customer-account-create .form-create-account .control {
  background: #f7f7f7;
  margin-bottom: 1rem; }
  .customer-account-create .form-create-account .control input {
    margin-bottom: 0.5rem; }
  .customer-account-create .form-create-account .control .mage-error:not(input) {
    padding: 0.5rem;
    display: list-item;
    margin-left: 2rem; }
    .customer-account-create .form-create-account .control .mage-error:not(input):after {
      content: '';
      display: block;
      padding-bottom: 10px; }

.customer-account-create .form-create-account .newsletter {
  margin-bottom: 1rem; }
  .customer-account-create .form-create-account .newsletter label {
    white-space: initial;
    vertical-align: middle;
    margin-right: 0;
    margin-bottom: 0;
    width: calc(100% - 2.7rem); }

.customer-account-create .form-create-account .scout-group #scout_group {
  margin-bottom: 0;
  border-radius: 7px; }

.customer-account-create .form-create-account .password .control #password-error,
.customer-account-create .form-create-account .password .control #password-strength-meter-container {
  padding: 0.5rem;
  display: list-item;
  margin-left: 2rem; }

.customer-account-create .form-create-account .password .control #password-strength-meter-container.password-weak #password-strength-meter-label {
  color: #e95f13; }

.customer-account-create .form-create-account .password .control #password-strength-meter-container.password-very-strong #password-strength-meter-label {
  color: #003660; }

.customer-account-create .form-create-account .password .control #password-strength-meter-container #password-strength-meter-label {
  font-weight: 500; }

.customer-account-create .form-create-account .password .control .password-strength-meter {
  padding-bottom: 10px; }

.customer-account-create .form-create-account .captcha {
  background: none; }
  .customer-account-create .form-create-account .captcha input {
    margin-bottom: 0; }
  .customer-account-create .form-create-account .captcha .mage-error:not(input) {
    background: #f7f7f7;
    position: relative;
    z-index: 1;
    padding-top: 1rem; }
    .customer-account-create .form-create-account .captcha .mage-error:not(input):before {
      content: '';
      display: block;
      position: absolute;
      background: #f7f7f7;
      line-height: 1;
      height: 100%;
      width: 100%;
      left: -2rem;
      opacity: 1;
      top: 0;
      z-index: -1; }
  .customer-account-create .form-create-account .captcha .captcha-image {
    background: none; }
    @media print, screen and (min-width: 40em) {
      .customer-account-create .form-create-account .captcha .captcha-image {
        margin-top: 0.5rem; } }
    .customer-account-create .form-create-account .captcha .captcha-image button {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      font-family: inherit;
      padding: 0.9375rem 1rem;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 0;
      transition: all 0.25s ease-out;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      border: 2px solid #003660;
      color: #003660;
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0;
      border-radius: 7px;
      margin-bottom: 0;
      font-size: 0.75rem; }
      [data-whatinput='mouse'] .customer-account-create .form-create-account .captcha .captcha-image button {
        outline: 0; }
      .customer-account-create .form-create-account .captcha .captcha-image button, .customer-account-create .form-create-account .captcha .captcha-image button:hover, .customer-account-create .form-create-account .captcha .captcha-image button:focus {
        background-color: transparent; }
      .customer-account-create .form-create-account .captcha .captcha-image button.disabled, .customer-account-create .form-create-account .captcha .captcha-image button.disabled:hover, .customer-account-create .form-create-account .captcha .captcha-image button.disabled:focus, .customer-account-create .form-create-account .captcha .captcha-image button[disabled], .customer-account-create .form-create-account .captcha .captcha-image button[disabled]:hover, .customer-account-create .form-create-account .captcha .captcha-image button[disabled]:focus {
        background-color: transparent; }
      .customer-account-create .form-create-account .captcha .captcha-image button:hover, .customer-account-create .form-create-account .captcha .captcha-image button:focus {
        border-color: #003660;
        color: #003660; }
        .customer-account-create .form-create-account .captcha .captcha-image button:hover.disabled, .customer-account-create .form-create-account .captcha .captcha-image button:hover[disabled], .customer-account-create .form-create-account .captcha .captcha-image button:focus.disabled, .customer-account-create .form-create-account .captcha .captcha-image button:focus[disabled] {
          border: 2px solid #003660;
          color: #003660; }
      .customer-account-create .form-create-account .captcha .captcha-image button:not(.close-button):not(.action-close) {
        font-weight: 500; }
      .customer-account-create .form-create-account .captcha .captcha-image button:hover {
        box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
      .customer-account-create .form-create-account .captcha .captcha-image button:disabled {
        background: #d6dbe0;
        cursor: not-allowed; }
      .customer-account-create .form-create-account .captcha .captcha-image button:disabled:hover {
        box-shadow: none; }
      @media print, screen and (min-width: 64em) {
        .customer-account-create .form-create-account .captcha .captcha-image button {
          display: inline-block;
          vertical-align: middle;
          margin: 0 0 1rem 0;
          font-family: inherit;
          padding: 0.9375rem 1rem;
          -webkit-appearance: none;
          border: 1px solid transparent;
          border-radius: 0;
          transition: all 0.25s ease-out;
          font-size: 1.125rem;
          line-height: 1;
          text-align: center;
          cursor: pointer;
          border: 2px solid #003660;
          color: #003660;
          border-radius: 7px;
          margin-bottom: 0; }
          [data-whatinput='mouse'] .customer-account-create .form-create-account .captcha .captcha-image button {
            outline: 0; }
          .customer-account-create .form-create-account .captcha .captcha-image button, .customer-account-create .form-create-account .captcha .captcha-image button:hover, .customer-account-create .form-create-account .captcha .captcha-image button:focus {
            background-color: transparent; }
          .customer-account-create .form-create-account .captcha .captcha-image button.disabled, .customer-account-create .form-create-account .captcha .captcha-image button.disabled:hover, .customer-account-create .form-create-account .captcha .captcha-image button.disabled:focus, .customer-account-create .form-create-account .captcha .captcha-image button[disabled], .customer-account-create .form-create-account .captcha .captcha-image button[disabled]:hover, .customer-account-create .form-create-account .captcha .captcha-image button[disabled]:focus {
            background-color: transparent; }
          .customer-account-create .form-create-account .captcha .captcha-image button:hover, .customer-account-create .form-create-account .captcha .captcha-image button:focus {
            border-color: #003660;
            color: #003660; }
            .customer-account-create .form-create-account .captcha .captcha-image button:hover.disabled, .customer-account-create .form-create-account .captcha .captcha-image button:hover[disabled], .customer-account-create .form-create-account .captcha .captcha-image button:focus.disabled, .customer-account-create .form-create-account .captcha .captcha-image button:focus[disabled] {
              border: 2px solid #003660;
              color: #003660; }
          .customer-account-create .form-create-account .captcha .captcha-image button:not(.close-button):not(.action-close) {
            font-weight: 500; }
          .customer-account-create .form-create-account .captcha .captcha-image button:hover {
            box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
          .customer-account-create .form-create-account .captcha .captcha-image button:disabled {
            background: #d6dbe0;
            cursor: not-allowed; }
          .customer-account-create .form-create-account .captcha .captcha-image button:disabled:hover {
            box-shadow: none; } }
    @media screen and (max-width: 39.9375em) {
      .customer-account-create .form-create-account .captcha .captcha-image {
        text-align: center; }
        .customer-account-create .form-create-account .captcha .captcha-image .image-container {
          background: #f7f7f7;
          padding: 5vw 0; } }
    @media print, screen and (min-width: 40em) {
      .customer-account-create .form-create-account .captcha .captcha-image {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem; } }

@media screen and (max-width: 39.9375em) {
  .customer-account-create .form-create-account .actions-toolbar {
    margin-top: 1rem; }
    .customer-account-create .form-create-account .actions-toolbar button {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      font-family: inherit;
      padding: 0.9375rem 1rem;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 0;
      transition: all 0.25s ease-out;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      background-color: #003660;
      color: #FFFFFF;
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0;
      border-radius: 7px;
      margin-bottom: 0; }
      [data-whatinput='mouse'] .customer-account-create .form-create-account .actions-toolbar button {
        outline: 0; }
      .customer-account-create .form-create-account .actions-toolbar button:hover, .customer-account-create .form-create-account .actions-toolbar button:focus {
        background-color: #005393;
        color: #FFFFFF; }
      .customer-account-create .form-create-account .actions-toolbar button:not(.close-button):not(.action-close) {
        font-weight: 500; }
      .customer-account-create .form-create-account .actions-toolbar button:hover {
        box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
      .customer-account-create .form-create-account .actions-toolbar button:disabled {
        background: #d6dbe0;
        cursor: not-allowed; }
      .customer-account-create .form-create-account .actions-toolbar button:disabled:hover {
        box-shadow: none; } }

.account .page-main .columns {
  display: grid;
  gap: 1rem; }
  .account .page-main .columns .account-nav {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
    @media print, screen and (min-width: 64em) {
      .account .page-main .columns .account-nav {
        -webkit-order: unset;
            -ms-flex-order: unset;
                order: unset;
        padding: 0; } }
  .account .page-main .columns .main {
    padding: 0 1rem; }
  @media print, screen and (min-width: 64em) {
    .account .page-main .columns {
      gap: 2rem;
      grid-template-columns: auto 1fr; } }

.account .page-main .account-nav {
  border: 1px solid #c8d4e0;
  padding-top: 1rem;
  margin: 0 1rem 0.5rem; }
  @media print, screen and (min-width: 64em) {
    .account .page-main .account-nav {
      border: transparent;
      padding-top: 0;
      margin: 1rem 0 0; } }

.account .page-main .account-nav-content .items {
  list-style: none;
  text-align: center;
  font-size: 1.25rem;
  margin: 0 0 1rem 0; }
  .account .page-main .account-nav-content .items li {
    padding: 5px; }
  @media print, screen and (min-width: 64em) {
    .account .page-main .account-nav-content .items {
      text-align: left;
      font-size: 1rem; }
      .account .page-main .account-nav-content .items li {
        padding: 0.3125rem; } }

.account .page-main table {
  margin: 0; }
  .account .page-main table thead {
    background-color: #003660;
    color: #FFFFFF;
    font-size: 1rem;
    border: none; }
    @media print, screen and (min-width: 40em) {
      .account .page-main table thead {
        font-size: 1rem; } }
    .account .page-main table thead tr th {
      padding: 1rem 0.5rem;
      line-height: 1; }
  .account .page-main table tfoot tr th {
    padding: 0.25rem 0.625rem; }
  .account .page-main table tr {
    word-break: break-word;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
    font-size: 1rem; }
    .account .page-main table tr td {
      font-size: 0.75rem;
      padding: 0.5rem; }
  .account .page-main table .actions {
    text-align: right; }
    .account .page-main table .actions .action.order {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      font-family: inherit;
      padding: 0.9375rem 1rem;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 0;
      transition: all 0.25s ease-out;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      border: 2px solid #003660;
      color: #003660;
      border-radius: 7px;
      margin-bottom: 0;
      font-size: 0.75rem;
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
      margin-left: 0.5rem; }
      [data-whatinput='mouse'] .account .page-main table .actions .action.order {
        outline: 0; }
      .account .page-main table .actions .action.order, .account .page-main table .actions .action.order:hover, .account .page-main table .actions .action.order:focus {
        background-color: transparent; }
      .account .page-main table .actions .action.order.disabled, .account .page-main table .actions .action.order.disabled:hover, .account .page-main table .actions .action.order.disabled:focus, .account .page-main table .actions .action.order[disabled], .account .page-main table .actions .action.order[disabled]:hover, .account .page-main table .actions .action.order[disabled]:focus {
        background-color: transparent; }
      .account .page-main table .actions .action.order:hover, .account .page-main table .actions .action.order:focus {
        border-color: #003660;
        color: #003660; }
        .account .page-main table .actions .action.order:hover.disabled, .account .page-main table .actions .action.order:hover[disabled], .account .page-main table .actions .action.order:focus.disabled, .account .page-main table .actions .action.order:focus[disabled] {
          border: 2px solid #003660;
          color: #003660; }
      .account .page-main table .actions .action.order:not(.close-button):not(.action-close) {
        font-weight: 500; }
      .account .page-main table .actions .action.order:hover {
        box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
      .account .page-main table .actions .action.order:disabled {
        background: #d6dbe0;
        cursor: not-allowed; }
      .account .page-main table .actions .action.order:disabled:hover {
        box-shadow: none; }

.account .page-main .toolbar {
  display: block;
  border-top: none; }
  @media print, screen and (min-width: 40em) {
    .account .page-main .toolbar {
      padding: 0.5rem; } }
  .account .page-main .toolbar .pager {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-gap: 0.5rem;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media print, screen and (min-width: 40em) {
      .account .page-main .toolbar .pager {
        grid-template-columns: auto 1fr auto; } }
    .account .page-main .toolbar .pager .pages {
      grid-column: 1/3;
      border-top: 1px solid #d6dbe0;
      margin-top: 0.75rem;
      padding-top: 1rem; }
      @media print, screen and (min-width: 40em) {
        .account .page-main .toolbar .pager .pages {
          grid-column: auto;
          border-top: none;
          border-left: 1px solid #d6dbe0;
          border-right: 1px solid #d6dbe0;
          margin: 0 5%;
          padding: 0 0.5rem; } }
      @media print, screen and (min-width: 64em) {
        .account .page-main .toolbar .pager .pages {
          margin: 0 10%;
          padding: 0 1rem; } }
    .account .page-main .toolbar .pager .pages + .limiter {
      grid-column: 2/3; }
      @media print, screen and (min-width: 40em) {
        .account .page-main .toolbar .pager .pages + .limiter {
          grid-column: auto; } }
    .account .page-main .toolbar .pager .limiter {
      grid-row: 1;
      grid-column: 3/4;
      display: grid;
      gap: 1rem;
      grid-template-columns: repeat(3, auto);
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      text-align: center; }
      @media print, screen and (min-width: 40em) {
        .account .page-main .toolbar .pager .limiter {
          grid-row: auto; } }
      .account .page-main .toolbar .pager .limiter .limiter-options {
        margin-bottom: 0; }

.account .page-main .page-title-wrapper {
  display: none; }

.account .page-main .actions-toolbar {
  padding-top: 1rem; }
  .account .page-main .actions-toolbar .back {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.9375rem 1rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    border: 2px solid #003660;
    color: #003660;
    border-radius: 7px;
    margin-bottom: 0; }
    [data-whatinput='mouse'] .account .page-main .actions-toolbar .back {
      outline: 0; }
    .account .page-main .actions-toolbar .back, .account .page-main .actions-toolbar .back:hover, .account .page-main .actions-toolbar .back:focus {
      background-color: transparent; }
    .account .page-main .actions-toolbar .back.disabled, .account .page-main .actions-toolbar .back.disabled:hover, .account .page-main .actions-toolbar .back.disabled:focus, .account .page-main .actions-toolbar .back[disabled], .account .page-main .actions-toolbar .back[disabled]:hover, .account .page-main .actions-toolbar .back[disabled]:focus {
      background-color: transparent; }
    .account .page-main .actions-toolbar .back:hover, .account .page-main .actions-toolbar .back:focus {
      border-color: #003660;
      color: #003660; }
      .account .page-main .actions-toolbar .back:hover.disabled, .account .page-main .actions-toolbar .back:hover[disabled], .account .page-main .actions-toolbar .back:focus.disabled, .account .page-main .actions-toolbar .back:focus[disabled] {
        border: 2px solid #003660;
        color: #003660; }
    .account .page-main .actions-toolbar .back:not(.close-button):not(.action-close) {
      font-weight: 500; }
    .account .page-main .actions-toolbar .back:hover {
      box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
    .account .page-main .actions-toolbar .back:disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
    .account .page-main .actions-toolbar .back:disabled:hover {
      box-shadow: none; }

.customer-account-index .page-main header {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.25;
  padding-bottom: 1rem; }

.customer-account-index .page-main .block-dashboard-addresses,
.customer-account-index .page-main .block-dashboard-orders {
  display: none; }

.customer-account-index .page-main .block-title {
  text-align: center;
  font-weight: 500;
  margin-bottom: 0.5rem; }
  .customer-account-index .page-main .block-title strong {
    font-size: 1.5rem; }

.customer-account-index .page-main .block-dashboard-info {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }
  .customer-account-index .page-main .block-dashboard-info * {
    text-align: center; }
  .customer-account-index .page-main .block-dashboard-info .email,
  .customer-account-index .page-main .block-dashboard-info .newsletter-subscription-status,
  .customer-account-index .page-main .block-dashboard-info .edit,
  .customer-account-index .page-main .block-dashboard-info .logout-button-box {
    margin-bottom: 0.5rem; }
  .customer-account-index .page-main .block-dashboard-info .email .label {
    margin: 0 0.5rem 0 0;
    padding: 0.25rem 0.5rem;
    color: #FFFFFF;
    background: #9FA6AD;
    font-weight: 500; }
  .customer-account-index .page-main .block-dashboard-info .newsletter-subscription-status .status:before {
    color: #FFFFFF;
    background: #9FA6AD;
    padding: 0.4rem;
    border-radius: 50%;
    font-size: 0.5rem;
    font-weight: bold;
    vertical-align: middle; }
  .customer-account-index .page-main .block-dashboard-info .edit {
    display: inline-block; }
  .customer-account-index .page-main .block-dashboard-info .logout-button-box {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .customer-account-index .page-main .block-dashboard-addresses .block-content {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr); } }

.customer-account-index .page-main .block-dashboard-addresses .block-content .box {
  margin-bottom: 1.25rem;
  border: 1px solid #9FA6AD; }
  .customer-account-index .page-main .block-dashboard-addresses .block-content .box .box-title-box {
    padding: 0.5rem 1rem;
    color: #FFFFFF;
    background-color: #003660;
    text-transform: uppercase; }
  .customer-account-index .page-main .block-dashboard-addresses .block-content .box .box-title {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .customer-account-index .page-main .block-dashboard-addresses .block-content .box .edit {
    display: inline-block;
    color: #FFFFFF; }
  .customer-account-index .page-main .block-dashboard-addresses .block-content .box .box-content {
    padding: 0.625rem 0.625rem 0.9375rem; }
    .customer-account-index .page-main .block-dashboard-addresses .block-content .box .box-content address {
      font-style: normal; }

.customer-account-index .page-main table .table-caption {
  display: none; }

.customer-account-index .page-main .columns .column .block:not(:last-child) {
  margin-bottom: 1rem; }
  @media print, screen and (min-width: 64em) {
    .customer-account-index .page-main .columns .column .block:not(:last-child) {
      margin-bottom: 3rem; } }

.customer-account-index .page-main .block-addresses-default .box {
  margin-bottom: 1.25rem; }

.customer-account-index .page-main .columns .main .block-content .box .box-actions a {
  display: inline; }

.customer-account-index .page-main .columns .main .block-content .box .box-actions a:after {
  content: "\a";
  white-space: pre; }

@media print, screen and (min-width: 40em) {
  .customer-account-index .page-main .block-dashboard-addresses,
  .customer-account-index .page-main .block-dashboard-orders {
    display: block; } }

.sales-order-history .table-caption {
  padding: 0 0 1rem;
  font-size: 2rem; }

.sales-order-history table tr .shipping,
.sales-order-history table tr .id {
  display: none; }

@media print, screen and (min-width: 40em) {
  .sales-order-history table tr .shipping,
  .sales-order-history table tr .id {
    display: table-cell; } }

.sales-order-view .order-links,
.sales-order-view .order-title,
.sales-order-view .table-caption {
  display: none; }

.sales-order-view .block-order-details-view .block-title {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 0;
  margin-bottom: 1rem; }
  .sales-order-view .block-order-details-view .block-title .title {
    font-size: 2rem; }
  .sales-order-view .block-order-details-view .block-title .order-number .label {
    color: #363A43; }
  .sales-order-view .block-order-details-view .block-title .order-number .number {
    font-weight: 500; }

@media print, screen and (min-width: 40em) {
  .sales-order-view .block-order-details-view .block-content {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr); } }

.sales-order-view .block-order-details-view .block-content .box {
  margin-bottom: 1.25rem;
  border: 1px solid #9FA6AD; }
  .sales-order-view .block-order-details-view .block-content .box .box-title-box {
    padding: 0.5rem 1rem;
    color: #FFFFFF;
    background-color: #003660;
    text-transform: uppercase; }
  .sales-order-view .block-order-details-view .block-content .box .box-title {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .sales-order-view .block-order-details-view .block-content .box .edit {
    display: inline-block;
    color: #FFFFFF; }
  .sales-order-view .block-order-details-view .block-content .box .box-content {
    padding: 0.625rem 0.625rem 0.9375rem; }
    .sales-order-view .block-order-details-view .block-content .box .box-content address {
      font-style: normal; }

.sales-order-view .order-details-items .items-qty {
  margin: 0;
  list-style: none; }

.customer-account-edit .main header {
  text-align: center;
  font-size: 2rem;
  padding-bottom: 1rem;
  font-weight: 500; }

@media print, screen and (min-width: 40em) {
  .customer-account-edit .form-edit-account {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem; } }

.customer-account-edit .form-edit-account .fieldset .field.choice label {
  white-space: initial;
  margin-right: 0;
  width: calc(100% - 2.7rem); }

.customer-account-edit .form-edit-account .fieldset .field:not(.choice) label {
  padding: 0.5rem 1.5rem;
  text-transform: uppercase;
  font-size: smaller;
  position: relative;
  font-weight: 500;
  margin-bottom: -2px;
  border-radius: 4px 4px 0 0;
  border: 2px solid #d6dbe0;
  background: #f7f7f7;
  color: #002E52; }

.customer-account-edit .form-edit-account .fieldset.password {
  grid-row: 2;
  grid-column: 1/3;
  background: #f7f7f7;
  box-shadow: 0 0 5px 4px inset rgba(10, 10, 10, 0.05);
  padding: 2rem;
  margin: 0 -2rem 1rem; }
  @media print, screen and (min-width: 64em) {
    .customer-account-edit .form-edit-account .fieldset.password {
      margin: 0 0 1rem; } }
  .customer-account-edit .form-edit-account .fieldset.password .control {
    margin-bottom: 1rem; }

.customer-account-edit .form-edit-account .fieldset.create.account p {
  margin: 0; }

.customer-account-edit .form-edit-account .captcha {
  background: none; }
  .customer-account-edit .form-edit-account .captcha input {
    margin-bottom: 0; }
  .customer-account-edit .form-edit-account .captcha .mage-error:not(input) {
    background: #f7f7f7;
    position: relative;
    z-index: 1;
    padding-top: 1rem; }
    .customer-account-edit .form-edit-account .captcha .mage-error:not(input):before {
      content: '';
      display: block;
      position: absolute;
      background: #f7f7f7;
      line-height: 1;
      height: 100%;
      width: 100%;
      left: -2rem;
      opacity: 1;
      top: 0;
      z-index: -1; }
  .customer-account-edit .form-edit-account .captcha .captcha-image {
    background: none; }
    @media print, screen and (min-width: 40em) {
      .customer-account-edit .form-edit-account .captcha .captcha-image {
        margin-top: 0.5rem; } }
    .customer-account-edit .form-edit-account .captcha .captcha-image button {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      font-family: inherit;
      padding: 0.9375rem 1rem;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 0;
      transition: all 0.25s ease-out;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      border: 2px solid #003660;
      color: #003660;
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0;
      border-radius: 7px;
      margin-bottom: 0;
      font-size: 0.75rem; }
      [data-whatinput='mouse'] .customer-account-edit .form-edit-account .captcha .captcha-image button {
        outline: 0; }
      .customer-account-edit .form-edit-account .captcha .captcha-image button, .customer-account-edit .form-edit-account .captcha .captcha-image button:hover, .customer-account-edit .form-edit-account .captcha .captcha-image button:focus {
        background-color: transparent; }
      .customer-account-edit .form-edit-account .captcha .captcha-image button.disabled, .customer-account-edit .form-edit-account .captcha .captcha-image button.disabled:hover, .customer-account-edit .form-edit-account .captcha .captcha-image button.disabled:focus, .customer-account-edit .form-edit-account .captcha .captcha-image button[disabled], .customer-account-edit .form-edit-account .captcha .captcha-image button[disabled]:hover, .customer-account-edit .form-edit-account .captcha .captcha-image button[disabled]:focus {
        background-color: transparent; }
      .customer-account-edit .form-edit-account .captcha .captcha-image button:hover, .customer-account-edit .form-edit-account .captcha .captcha-image button:focus {
        border-color: #003660;
        color: #003660; }
        .customer-account-edit .form-edit-account .captcha .captcha-image button:hover.disabled, .customer-account-edit .form-edit-account .captcha .captcha-image button:hover[disabled], .customer-account-edit .form-edit-account .captcha .captcha-image button:focus.disabled, .customer-account-edit .form-edit-account .captcha .captcha-image button:focus[disabled] {
          border: 2px solid #003660;
          color: #003660; }
      .customer-account-edit .form-edit-account .captcha .captcha-image button:not(.close-button):not(.action-close) {
        font-weight: 500; }
      .customer-account-edit .form-edit-account .captcha .captcha-image button:hover {
        box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
      .customer-account-edit .form-edit-account .captcha .captcha-image button:disabled {
        background: #d6dbe0;
        cursor: not-allowed; }
      .customer-account-edit .form-edit-account .captcha .captcha-image button:disabled:hover {
        box-shadow: none; }
      @media print, screen and (min-width: 64em) {
        .customer-account-edit .form-edit-account .captcha .captcha-image button {
          display: inline-block;
          vertical-align: middle;
          margin: 0 0 1rem 0;
          font-family: inherit;
          padding: 0.9375rem 1rem;
          -webkit-appearance: none;
          border: 1px solid transparent;
          border-radius: 0;
          transition: all 0.25s ease-out;
          font-size: 1.125rem;
          line-height: 1;
          text-align: center;
          cursor: pointer;
          border: 2px solid #003660;
          color: #003660;
          border-radius: 7px;
          margin-bottom: 0; }
          [data-whatinput='mouse'] .customer-account-edit .form-edit-account .captcha .captcha-image button {
            outline: 0; }
          .customer-account-edit .form-edit-account .captcha .captcha-image button, .customer-account-edit .form-edit-account .captcha .captcha-image button:hover, .customer-account-edit .form-edit-account .captcha .captcha-image button:focus {
            background-color: transparent; }
          .customer-account-edit .form-edit-account .captcha .captcha-image button.disabled, .customer-account-edit .form-edit-account .captcha .captcha-image button.disabled:hover, .customer-account-edit .form-edit-account .captcha .captcha-image button.disabled:focus, .customer-account-edit .form-edit-account .captcha .captcha-image button[disabled], .customer-account-edit .form-edit-account .captcha .captcha-image button[disabled]:hover, .customer-account-edit .form-edit-account .captcha .captcha-image button[disabled]:focus {
            background-color: transparent; }
          .customer-account-edit .form-edit-account .captcha .captcha-image button:hover, .customer-account-edit .form-edit-account .captcha .captcha-image button:focus {
            border-color: #003660;
            color: #003660; }
            .customer-account-edit .form-edit-account .captcha .captcha-image button:hover.disabled, .customer-account-edit .form-edit-account .captcha .captcha-image button:hover[disabled], .customer-account-edit .form-edit-account .captcha .captcha-image button:focus.disabled, .customer-account-edit .form-edit-account .captcha .captcha-image button:focus[disabled] {
              border: 2px solid #003660;
              color: #003660; }
          .customer-account-edit .form-edit-account .captcha .captcha-image button:not(.close-button):not(.action-close) {
            font-weight: 500; }
          .customer-account-edit .form-edit-account .captcha .captcha-image button:hover {
            box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
          .customer-account-edit .form-edit-account .captcha .captcha-image button:disabled {
            background: #d6dbe0;
            cursor: not-allowed; }
          .customer-account-edit .form-edit-account .captcha .captcha-image button:disabled:hover {
            box-shadow: none; } }
    @media screen and (max-width: 39.9375em) {
      .customer-account-edit .form-edit-account .captcha .captcha-image {
        text-align: center; }
        .customer-account-edit .form-edit-account .captcha .captcha-image .image-container {
          background: #f7f7f7;
          padding: 5vw 0; } }
    @media print, screen and (min-width: 40em) {
      .customer-account-edit .form-edit-account .captcha .captcha-image {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem; } }

.customer-account-edit .form-edit-account ._with-tooltip {
  position: relative; }

.customer-account-edit .form-edit-account .field-tooltip {
  cursor: pointer;
  top: 0;
  right: 2.5rem; }

.customer-account-edit .form-edit-account .field-tooltip-action {
  height: 3.125rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.5rem;
  box-sizing: content-box; }
  .customer-account-edit .form-edit-account .field-tooltip-action:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iaS1pbmZvIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBmaWxsPSJub25lIiBzdHJva2U9IiM1NTUiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBzdHJva2Utd2lkdGg9IjEiPgogICAgPHBhdGggZD0iTTE2IDE0IEwxNiAyMyBNMTYgOCBMMTYgMTAiIC8+CiAgICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNCIgLz4KPC9zdmc+);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain; }

.customer-account-edit .form-edit-account .actions-toolbar {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }
  .customer-account-edit .form-edit-account .actions-toolbar button {
    width: 100%; }

.customer-account-edit .form-edit-account #scout_group {
  border-radius: 7px; }

.customer-address-index .main .block-title {
  text-align: center;
  font-size: 2rem;
  padding-bottom: 1rem; }

.customer-address-index .block-addresses-default .box {
  margin-bottom: 1.25rem;
  border: 1px solid #9FA6AD; }
  .customer-address-index .block-addresses-default .box .box-title-box {
    padding: 0.5rem 1rem;
    color: #FFFFFF;
    background-color: #003660;
    text-transform: uppercase; }
  .customer-address-index .block-addresses-default .box .box-title {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .customer-address-index .block-addresses-default .box .edit {
    display: inline-block;
    color: #FFFFFF; }
  .customer-address-index .block-addresses-default .box .box-content {
    padding: 0.625rem 0.625rem 0.9375rem; }
    .customer-address-index .block-addresses-default .box .box-content address {
      font-style: normal; }

@media print, screen and (min-width: 40em) {
  .customer-address-index .block-addresses-default .block-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem; } }

.customer-address-index .block-addresses-list tr .lastname,
.customer-address-index .block-addresses-list tr .city,
.customer-address-index .block-addresses-list tr .country,
.customer-address-index .block-addresses-list tr .phone {
  display: none; }

@media print, screen and (min-width: 40em) {
  .customer-address-index .block-addresses-list tr .phone {
    display: table-cell; } }

@media print, screen and (min-width: 64em) {
  .customer-address-index .block-addresses-list tr .lastname,
  .customer-address-index .block-addresses-list tr .city,
  .customer-address-index .block-addresses-list tr .country {
    display: table-cell; } }

@media screen and (max-width: 39.9375em) {
  .customer-address-index .actions-toolbar button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.9375rem 1rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #003660;
    color: #FFFFFF;
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    border-radius: 7px;
    margin-bottom: 0; }
    [data-whatinput='mouse'] .customer-address-index .actions-toolbar button {
      outline: 0; }
    .customer-address-index .actions-toolbar button:hover, .customer-address-index .actions-toolbar button:focus {
      background-color: #005393;
      color: #FFFFFF; }
    .customer-address-index .actions-toolbar button:not(.close-button):not(.action-close) {
      font-weight: 500; }
    .customer-address-index .actions-toolbar button:hover {
      box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
    .customer-address-index .actions-toolbar button:disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
    .customer-address-index .actions-toolbar button:disabled:hover {
      box-shadow: none; } }

.customer-address-form .main header {
  padding: 0 0 1rem;
  font-size: 2rem;
  font-weight: 500;
  text-align: center; }

.customer-address-form .form-address-edit label:not([for="primary_billing"]):not([for="primary_shipping"]) {
  padding: 0.5rem 1.5rem;
  text-transform: uppercase;
  font-size: smaller;
  position: relative;
  font-weight: 500;
  margin-bottom: -2px;
  border-radius: 4px 4px 0 0;
  border: 2px solid #d6dbe0;
  background: #f7f7f7;
  color: #002E52; }

@media print, screen and (min-width: 40em) {
  .customer-address-form .form-address-edit {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem; } }

.customer-address-form .form-address-edit .actions-toolbar {
  display: grid;
  gap: 1rem;
  padding: 0;
  grid-column: span 2; }
  @media print, screen and (min-width: 40em) {
    .customer-address-form .form-address-edit .actions-toolbar {
      grid-template-columns: repeat(2, 1fr); } }
  @media print, screen and (min-width: 40em) {
    .customer-address-form .form-address-edit .actions-toolbar .secondary {
      -webkit-order: -1;
          -ms-flex-order: -1;
              order: -1; } }
  .customer-address-form .form-address-edit .actions-toolbar .action {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.9375rem 1rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #003660;
    color: #FFFFFF;
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    border-radius: 7px;
    margin-bottom: 0; }
    [data-whatinput='mouse'] .customer-address-form .form-address-edit .actions-toolbar .action {
      outline: 0; }
    .customer-address-form .form-address-edit .actions-toolbar .action:hover, .customer-address-form .form-address-edit .actions-toolbar .action:focus {
      background-color: #005393;
      color: #FFFFFF; }
    .customer-address-form .form-address-edit .actions-toolbar .action:not(.close-button):not(.action-close) {
      font-weight: 500; }
    .customer-address-form .form-address-edit .actions-toolbar .action:hover {
      box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
    .customer-address-form .form-address-edit .actions-toolbar .action:disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
    .customer-address-form .form-address-edit .actions-toolbar .action:disabled:hover {
      box-shadow: none; }
    .customer-address-form .form-address-edit .actions-toolbar .action.back {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      font-family: inherit;
      padding: 0.9375rem 1rem;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 0;
      transition: all 0.25s ease-out;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      border: 2px solid #003660;
      color: #003660;
      border-radius: 7px;
      margin-bottom: 0; }
      [data-whatinput='mouse'] .customer-address-form .form-address-edit .actions-toolbar .action.back {
        outline: 0; }
      .customer-address-form .form-address-edit .actions-toolbar .action.back, .customer-address-form .form-address-edit .actions-toolbar .action.back:hover, .customer-address-form .form-address-edit .actions-toolbar .action.back:focus {
        background-color: transparent; }
      .customer-address-form .form-address-edit .actions-toolbar .action.back.disabled, .customer-address-form .form-address-edit .actions-toolbar .action.back.disabled:hover, .customer-address-form .form-address-edit .actions-toolbar .action.back.disabled:focus, .customer-address-form .form-address-edit .actions-toolbar .action.back[disabled], .customer-address-form .form-address-edit .actions-toolbar .action.back[disabled]:hover, .customer-address-form .form-address-edit .actions-toolbar .action.back[disabled]:focus {
        background-color: transparent; }
      .customer-address-form .form-address-edit .actions-toolbar .action.back:hover, .customer-address-form .form-address-edit .actions-toolbar .action.back:focus {
        border-color: #003660;
        color: #003660; }
        .customer-address-form .form-address-edit .actions-toolbar .action.back:hover.disabled, .customer-address-form .form-address-edit .actions-toolbar .action.back:hover[disabled], .customer-address-form .form-address-edit .actions-toolbar .action.back:focus.disabled, .customer-address-form .form-address-edit .actions-toolbar .action.back:focus[disabled] {
          border: 2px solid #003660;
          color: #003660; }
      .customer-address-form .form-address-edit .actions-toolbar .action.back:not(.close-button):not(.action-close) {
        font-weight: 500; }
      .customer-address-form .form-address-edit .actions-toolbar .action.back:hover {
        box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
      .customer-address-form .form-address-edit .actions-toolbar .action.back:disabled {
        background: #d6dbe0;
        cursor: not-allowed; }
      .customer-address-form .form-address-edit .actions-toolbar .action.back:disabled:hover {
        box-shadow: none; }
      @media print, screen and (min-width: 40em) {
        .customer-address-form .form-address-edit .actions-toolbar .action.back {
          width: auto; } }

.checkout-index-index {
  background: #FFFFFF; }
  .checkout-index-index .modal-custom.authentication-dropdown .modal-content {
    padding: 1.5rem; }
  .checkout-index-index .modal-custom.authentication-dropdown .block-title {
    display: none; }
  .checkout-index-index .page-title-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .checkout-index-index .page-title-wrapper {
        margin-right: -1rem;
        margin-left: -1rem; } }
    .checkout-index-index .page-title-wrapper .page-title,
    .checkout-index-index .page-title-wrapper .authentication-wrapper {
      width: calc(50% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem; }
  .checkout-index-index .opc-summary-wrapper {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .checkout-index-index .checkout-container > .message {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .checkout-index-index .opc-wrapper {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  @media print, screen and (min-width: 40em) {
    .checkout-index-index .checkout-container > .message {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .checkout-index-index .opc-wrapper {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
    .checkout-index-index .opc-summary-wrapper {
      -webkit-order: 3;
          -ms-flex-order: 3;
              order: 3; } }
  .checkout-index-index .information-symbol {
    width: 20px; }
  .checkout-index-index .checkout-container > .message span {
    vertical-align: middle; }
  .checkout-index-index .no-quotes-block {
    margin-top: 10px; }
  .checkout-index-index .description:before {
    content: "- "; }
  .checkout-index-index .page-header .nav-toggle {
    display: none !important; }
  .checkout-index-index .page-header .logo {
    text-align: left !important; }
    @media screen and (max-width: 39.9375em) {
      .checkout-index-index .page-header .logo {
        margin: 0 !important; } }
  .checkout-index-index .page-header .backlink i {
    margin-right: 10px; }
  .checkout-index-index .page-header .backlink .text {
    display: inline-block;
    font-size: 0.875rem; }
  @media print, screen and (min-width: 40em) {
    .checkout-index-index .page-header .backlink {
      width: calc(33.33333% - 2rem);
      margin-right: 1rem;
      margin-left: 1rem;
      text-align: right; } }
  .checkout-index-index .estimated-block {
    display: none; }
  .checkout-index-index table tbody tr {
    background: #f7f7f7; }
  .checkout-index-index .shipping-tooltip {
    border-bottom: none; }

.opc-estimated-wrapper {
  display: none; }

.opc-summary-wrapper .modal-header .action-close {
  display: none; }

.opc-wrapper ol {
  list-style: none;
  margin-left: 0; }

.opc-progress-bar-item._active:before {
  background-color: #F57500;
  color: #FFFFFF; }

.opc-progress-bar {
  margin: 2rem 0;
  position: relative; }
  .opc-progress-bar:after {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #cfd3dc;
    z-index: 1; }
  .opc-progress-bar li {
    list-style: none;
    display: inline-block;
    padding: 0 60px 0 25px;
    position: relative;
    margin-left: 0;
    background: #FFFFFF; }
    .opc-progress-bar li:before {
      position: absolute;
      top: -2px;
      left: 0;
      z-index: 2;
      display: block;
      width: 25px;
      height: 25px;
      border-radius: 25px;
      background: #cfd3dc;
      color: #000000;
      text-align: center;
      font-size: .725rem;
      font-weight: bold;
      line-height: 25px; }
    .opc-progress-bar li:first-child:before {
      content: '1'; }
    .opc-progress-bar li:last-child:before {
      content: '2'; }
    .opc-progress-bar li:last-child {
      padding: 0 0 0 25px; }
    .opc-progress-bar li span {
      font-weight: bold;
      padding: 0 10px;
      background: #FFFFFF;
      position: relative;
      z-index: 2; }

.card-divider {
  color: #FFFFFF;
  font-weight: bold;
  margin-bottom: 0;
  line-height: 1; }

.card-section {
  background: #f7f7f7;
  font-size: 0.875rem; }

.checkout-shipping-method .table-checkout-shipping-method thead, .checkout-shipping-method .table-checkout-shipping-method tr.row {
  background: #FFFFFF;
  border-bottom: 1px solid #d6dbe0; }

.checkout-shipping-method .table-checkout-shipping-method thead {
  display: none; }

.checkout-shipping-method .table-checkout-shipping-method input {
  margin: 0; }

.checkout-shipping-method button.continue {
  float: right; }

.checkout-container button.checkout {
  float: right;
  border-radius: 7px; }

.payment-option {
  font-weight: bold;
  font-size: .875rem; }
  .payment-option.discount-code {
    clear: both;
    border-top: 1px solid #d6dbe0;
    border-bottom: 1px solid #d6dbe0;
    margin-bottom: 1rem; }
  .payment-option.giftcardaccount {
    display: none;
    clear: both;
    border-bottom: 1px solid #d6dbe0;
    border-top: 1px solid #d6dbe0; }

.payment-option-title {
  padding: 1.25rem 0; }

.payment-method .adyen-checkout__checkbox__label {
  padding-left: 5px; }

.payment-method .adyen-checkout__checkbox__input + .adyen-checkout__checkbox__label:after, .payment-method .adyen-checkout__checkbox__input + .adyen-checkout__checkbox__label:before {
  display: none; }

.payment-method label[for="adyen_cc"] {
  padding-right: 80px;
  background-repeat: no-repeat;
  background-position: center right;
  background-image: url("../Adyen_Payment/images/credit-cards.png");
  background-size: contain; }

.payment-method label[for="adyen_swish"] {
  padding-right: 40px;
  background-repeat: no-repeat;
  background-position: center right;
  background-image: url("../Adyen_Payment/images/logos/swish.png");
  background-size: contain; }

.table-totals {
  text-align: left; }
  .table-totals .table-caption {
    display: none; }

.checkout-onepage-success .page-title-wrapper {
  text-align: center; }
  .checkout-onepage-success .page-title-wrapper .print {
    width: 100%; }

.checkout-onepage-success .checkout-success {
  text-align: center; }

.checkout-onepage-success .checkout-success,
.checkout-onepage-success #registration {
  padding: 1rem; }
  .checkout-onepage-success .checkout-success h2,
  .checkout-onepage-success #registration h2 {
    color: #003660; }
  @media print, screen and (min-width: 64em) {
    .checkout-onepage-success .checkout-success,
    .checkout-onepage-success #registration {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: column wrap;
          -ms-flex-flow: column wrap;
              flex-flow: column wrap; } }

@media print, screen and (min-width: 64em) {
  .checkout-onepage-success .main {
    margin: 2rem 0 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
  .checkout-onepage-success .checkout-success,
  .checkout-onepage-success #registration {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 1rem;
    margin-left: 1rem; } }

.checkout-onepage-success .checkout-success {
  background-color: #f7f7f7; }
  .checkout-onepage-success .checkout-success .action {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.9375rem 1rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    border: 2px solid #003660;
    color: #003660;
    border-radius: 7px;
    margin-bottom: 0; }
    [data-whatinput='mouse'] .checkout-onepage-success .checkout-success .action {
      outline: 0; }
    .checkout-onepage-success .checkout-success .action, .checkout-onepage-success .checkout-success .action:hover, .checkout-onepage-success .checkout-success .action:focus {
      background-color: transparent; }
    .checkout-onepage-success .checkout-success .action.disabled, .checkout-onepage-success .checkout-success .action.disabled:hover, .checkout-onepage-success .checkout-success .action.disabled:focus, .checkout-onepage-success .checkout-success .action[disabled], .checkout-onepage-success .checkout-success .action[disabled]:hover, .checkout-onepage-success .checkout-success .action[disabled]:focus {
      background-color: transparent; }
    .checkout-onepage-success .checkout-success .action:hover, .checkout-onepage-success .checkout-success .action:focus {
      border-color: #003660;
      color: #003660; }
      .checkout-onepage-success .checkout-success .action:hover.disabled, .checkout-onepage-success .checkout-success .action:hover[disabled], .checkout-onepage-success .checkout-success .action:focus.disabled, .checkout-onepage-success .checkout-success .action:focus[disabled] {
        border: 2px solid #003660;
        color: #003660; }
    .checkout-onepage-success .checkout-success .action:not(.close-button):not(.action-close) {
      font-weight: 500; }
    .checkout-onepage-success .checkout-success .action:hover {
      box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
    .checkout-onepage-success .checkout-success .action:disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
    .checkout-onepage-success .checkout-success .action:disabled:hover {
      box-shadow: none; }

.checkout-onepage-success #registration {
  text-align: center; }
  .checkout-onepage-success #registration .action {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.9375rem 1rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: all 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #003660;
    color: #FFFFFF;
    border-radius: 7px;
    margin-bottom: 0; }
    [data-whatinput='mouse'] .checkout-onepage-success #registration .action {
      outline: 0; }
    .checkout-onepage-success #registration .action:hover, .checkout-onepage-success #registration .action:focus {
      background-color: #005393;
      color: #FFFFFF; }
    .checkout-onepage-success #registration .action:not(.close-button):not(.action-close) {
      font-weight: 500; }
    .checkout-onepage-success #registration .action:hover {
      box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
    .checkout-onepage-success #registration .action:disabled {
      background: #d6dbe0;
      cursor: not-allowed; }
    .checkout-onepage-success #registration .action:disabled:hover {
      box-shadow: none; }

/*
 * 	Default theme - Owl Carousel CSS File
 */
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    color: inherit;
    border: none;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut; }

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

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

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */ }
  .owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity 400ms ease; }
  .owl-carousel .owl-item .owl-lazy[src^=""],
  .owl-carousel .owl-item .owl-lazy:not([src]) {
    max-height: 0; }
  .owl-carousel .owl-item img.owl-lazy {
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }

/*
 * Owl Theme
 */
.owl-theme .owl-nav {
  margin-top: 10px;
  text-align: center;
  -webkit-tap-highlight-color: transparent; }
  .owl-theme .owl-nav [class*='owl-'] {
    color: #FFF;
    font-size: 14px;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px;
    margin: 0 0.5rem; }
  .owl-theme .owl-nav .disabled {
    opacity: 0.5;
    cursor: default; }

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px; }

.owl-theme .owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent; }
  .owl-theme .owl-dots .owl-dot {
    display: inline-block;
    zoom: 1;
    *display: inline; }
    .owl-theme .owl-dots .owl-dot span {
      width: 10px;
      height: 10px;
      margin: 5px 7px;
      background: #D6D6D6;
      display: block;
      -webkit-backface-visibility: visible;
      transition: opacity 200ms ease;
      border-radius: 30px; }
    .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
      background: #869791; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: -webkit-transform 100ms ease;
  transition: transform 100ms ease;
  transition: transform 100ms ease, -webkit-transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
      -ms-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/**
* Notice on reading this override file
*
* The selector specificity in `firecheckout.css` is not well done
* it is to specific. This makes it really hard to override without creating hard to read Sass.
*/
.firecheckout .page-header .continue-shopping {
  display: initial; }
  @media print, screen and (min-width: 40em) {
    .firecheckout .page-header .continue-shopping {
      margin-right: 0.625rem;
      margin-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .firecheckout .page-header .continue-shopping {
      margin-right: 1rem;
      margin-left: 1rem; } }

.firecheckout .page-header .nav-toggle {
  display: none; }

.firecheckout .page-header .header.content .logo img {
  float: none; }

.firecheckout .page-header .header.content .logo .logo-text {
  vertical-align: bottom;
  padding-bottom: 0.3125rem; }

.authentication-wrapper {
  display: none; }

.firecheckout #checkout.checkout-container:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.firecheckout #checkout.checkout-container input,
.firecheckout #checkout.checkout-container textarea,
.firecheckout #checkout.checkout-container select {
  border-color: #d6dbe0 !important;
  border-radius: 7px !important; }

.firecheckout #checkout.checkout-container .qty-wrapper button {
  margin-bottom: 0; }

.firecheckout #checkout.checkout-container .checkout-shipping-method,
.firecheckout #checkout.checkout-container .checkout-shipping-address,
.firecheckout #checkout.checkout-container .checkout-payment-method,
.firecheckout #checkout.checkout-container .opc-summary-wrapper {
  border-color: #d6dbe0 !important; }

.firecheckout #checkout.checkout-container .table-checkout-shipping-method,
.firecheckout #checkout.checkout-container tbody,
.firecheckout #checkout.checkout-container .shipping-address-item,
.firecheckout #checkout.checkout-container .table-checkout-shipping-method .row {
  border: none !important; }

.firecheckout #checkout.checkout-container .step-title {
  background: #003660;
  color: #FFFFFF; }

.firecheckout #checkout.checkout-container .opc-wrapper .step-title,
.firecheckout #checkout.checkout-container .opc-summary-wrapper .opc-block-summary > .title,
.firecheckout #checkout.checkout-container .opc-sidebar .step-title {
  background: #003660;
  color: #FFFFFF;
  padding: 1rem !important;
  font-size: 1.5rem !important; }
  .firecheckout #checkout.checkout-container .opc-wrapper .step-title:before,
  .firecheckout #checkout.checkout-container .opc-summary-wrapper .opc-block-summary > .title:before,
  .firecheckout #checkout.checkout-container .opc-sidebar .step-title:before {
    display: none; }

.firecheckout #checkout.checkout-container .shipping-address-item {
  padding-bottom: 10px !important; }

.field-tooltip .label {
  display: none; }

.firecheckout #checkout.checkout-container .opc-wrapper .step-title,
.firecheckout #checkout.checkout-container .opc-block-summary .title {
  margin-bottom: 1rem; }

.firecheckout #checkout.checkout-container .checkout-shipping-address .step-content > * + .form-shipping-address {
  margin-top: 0.5rem; }

.firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items {
      max-height: unset !important;
      padding-right: 0 !important;
      margin-right: 0 !important; } }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items .shipping-address-item {
    overflow: unset;
    width: 100% !important;
    margin: 1.25rem 0;
    padding: 1.5rem;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0; }
    .firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items .shipping-address-item.selected-item {
      background-color: rgba(0, 54, 96, 0.06); }
    .firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items .shipping-address-item.selected-item {
      border: 1px solid #003660; }
  @media screen and (min-width: 64em) {
    .firecheckout #checkout.checkout-container .checkout-shipping-address .shipping-address-items .shipping-address-item {
      width: calc(50% - 2.5rem); } }

.firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.9375rem 1rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: all 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  border: 2px solid #003660;
  color: #003660;
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  border-radius: 7px;
  margin-bottom: 0;
  position: relative;
  right: 0;
  top: 0;
  margin-top: 0.5rem; }
  [data-whatinput='mouse'] .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item {
    outline: 0; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item, .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:hover, .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:focus {
    background-color: transparent; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item.disabled, .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item.disabled:hover, .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item.disabled:focus, .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item[disabled], .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item[disabled]:hover, .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item[disabled]:focus {
    background-color: transparent; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:hover, .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:focus {
    border-color: #003660;
    color: #003660; }
    .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:hover.disabled, .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:hover[disabled], .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:focus.disabled, .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:focus[disabled] {
      border: 2px solid #003660;
      color: #003660; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:not(.close-button):not(.action-close) {
    font-weight: 500; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:hover {
    box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:disabled {
    background: #d6dbe0;
    cursor: not-allowed; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item:disabled:hover {
    box-shadow: none; }
  @media print, screen and (min-width: 64em) {
    .firecheckout #checkout.checkout-container .checkout-shipping-address .action-select-shipping-item {
      margin-top: 1rem; } }

.firecheckout #checkout.checkout-container .checkout-shipping-address button.fc-compact-address-button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.9375rem 1rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: all 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #003660;
  color: #FFFFFF;
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  border-radius: 7px;
  margin-bottom: 0; }
  [data-whatinput='mouse'] .firecheckout #checkout.checkout-container .checkout-shipping-address button.fc-compact-address-button {
    outline: 0; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address button.fc-compact-address-button:hover, .firecheckout #checkout.checkout-container .checkout-shipping-address button.fc-compact-address-button:focus {
    background-color: #005393;
    color: #FFFFFF; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address button.fc-compact-address-button:not(.close-button):not(.action-close) {
    font-weight: 500; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address button.fc-compact-address-button:hover {
    box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
  .firecheckout #checkout.checkout-container .checkout-shipping-address button.fc-compact-address-button:disabled {
    background: #d6dbe0;
    cursor: not-allowed; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address button.fc-compact-address-button:disabled:hover {
    box-shadow: none; }

.firecheckout #checkout.checkout-container .checkout-shipping-address button.edit-address-link {
  width: 100%; }

.firecheckout #checkout.checkout-container .checkout-shipping-address .action-show-popup {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.9375rem 1rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: all 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #003660;
  color: #FFFFFF;
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  border-radius: 7px;
  margin-bottom: 0; }
  [data-whatinput='mouse'] .firecheckout #checkout.checkout-container .checkout-shipping-address .action-show-popup {
    outline: 0; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-show-popup:hover, .firecheckout #checkout.checkout-container .checkout-shipping-address .action-show-popup:focus {
    background-color: #005393;
    color: #FFFFFF; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-show-popup:not(.close-button):not(.action-close) {
    font-weight: 500; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-show-popup:hover {
    box-shadow: 0 6px 15px rgba(0, 54, 96, 0.45); }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-show-popup:disabled {
    background: #d6dbe0;
    cursor: not-allowed; }
  .firecheckout #checkout.checkout-container .checkout-shipping-address .action-show-popup:disabled:hover {
    box-shadow: none; }

.firecheckout #checkout.checkout-container .checkout-shipping-method .table-checkout-shipping-method {
  font-size: 1rem; }

.firecheckout #checkout.checkout-container .checkout-payment-method .payment-method-title {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .firecheckout #checkout.checkout-container .checkout-payment-method .payment-method-title label {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0; }
    .firecheckout #checkout.checkout-container .checkout-payment-method .payment-method-title label img {
      margin-right: 0.5rem; }

.firecheckout #checkout.checkout-container .checkout-payment-method .payment-icon {
  max-height: 2.5rem; }

.firecheckout #checkout.checkout-container .checkout-payment-method .payment-method {
  background-color: rgba(0, 54, 96, 0.06);
  padding: 1rem 0.5rem;
  margin-bottom: 0.3rem; }
  .firecheckout #checkout.checkout-container .checkout-payment-method .payment-method label {
    margin-left: 0; }

.firecheckout #checkout.checkout-container .checkout-payment-method .discount-code {
  margin-top: 1rem; }
  .firecheckout #checkout.checkout-container .checkout-payment-method .discount-code .field {
    height: 100%; }
    .firecheckout #checkout.checkout-container .checkout-payment-method .discount-code .field .control {
      height: 100%; }
      .firecheckout #checkout.checkout-container .checkout-payment-method .discount-code .field .control input#discount-code {
        height: 100%; }
  .firecheckout #checkout.checkout-container .checkout-payment-method .discount-code button {
    -webkit-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px); }

.firecheckout #checkout.checkout-container .checkout-billing-address input[type="checkbox"] + label {
  display: inline-block;
  vertical-align: top !important; }
  .firecheckout #checkout.checkout-container .checkout-billing-address input[type="checkbox"] + label .extra-information {
    display: block;
    font-style: italic;
    font-weight: 500; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .opc-summary-wrapper .opc-block-summary > .title {
  height: 4.0625rem; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .items-in-cart > .minicart-items::after {
  background: none !important; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .grand.totals th, .firecheckout #checkout.checkout-container .opc-summary-wrapper .grand.totals td {
  font-size: 1rem; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .opc-summary-wrapper {
  border: 1px solid #d6dbe0;
  background-color: #f7f7f7;
  margin-bottom: 1.25rem; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper tr {
  border-bottom: none; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper tbody th, .firecheckout #checkout.checkout-container .opc-summary-wrapper tbody td {
  padding: 0.5rem 0 0;
  font-weight: normal; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper table tbody {
  border: none; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .totals .amount,
.firecheckout #checkout.checkout-container .opc-summary-wrapper .totals-tax .amount {
  text-align: right; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .grand.totals th, .firecheckout #checkout.checkout-container .opc-summary-wrapper .grand.totals td {
  padding-bottom: 0.5rem; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .grand.totals .price {
  color: #e95f13; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .items-in-cart {
  padding: 0; }
  .firecheckout #checkout.checkout-container .opc-summary-wrapper .items-in-cart .collapsible__title:after {
    right: 1rem; }
  .firecheckout #checkout.checkout-container .opc-summary-wrapper .items-in-cart .title {
    position: relative;
    display: block;
    cursor: pointer;
    font-size: 1rem; }
    .firecheckout #checkout.checkout-container .opc-summary-wrapper .items-in-cart .title div > span {
      font-size: .75rem;
      margin-bottom: 0.625rem; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items {
  list-style: none;
  margin: 0;
  border-top: none; }
  .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-item {
    padding: 0.5rem 0;
    border-bottom: 1px solid #d6dbe0; }
    .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-item:last-child {
      border-bottom: none; }
  .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem; }
  .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-image-container img {
    border: 1px solid #d6dbe0; }
  .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-item-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.25rem; }
    .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-item-inner .product-item-name {
      grid-column: 1 / 3;
      font-weight: normal;
      max-width: 100% !important;
      overflow: hidden !important;
      text-overflow: ellipsis;
      white-space: nowrap !important; }
    .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-item-inner .details-qty {
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex; }
      .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-item-inner .details-qty input {
        margin: 0; }
    .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-item-inner .remove-item {
      justify-self: end;
      -webkit-align-self: center;
          -ms-flex-item-align: center;
              align-self: center;
      cursor: pointer;
      padding: 0.25rem; }
      .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-item-inner .remove-item:hover {
        color: #EF5959; }
    .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-item-inner .subtotal {
      display: inline-block;
      margin-top: 0.1875rem; }
      .firecheckout #checkout.checkout-container .opc-summary-wrapper .minicart-items .product-item-inner .subtotal .price {
        color: #e95f13; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .select-scoutgroup-form label {
  font-weight: 500; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .select-scoutgroup-form .subscription .fc-field-choice [type=checkbox] {
  float: left;
  margin-top: 0.1875rem;
  margin-right: 0.625rem; }

.firecheckout #checkout.checkout-container .opc-summary-wrapper .select-scoutgroup-form .subscription .fc-field-choice label.label {
  margin: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: normal; }
  .firecheckout #checkout.checkout-container .opc-summary-wrapper .select-scoutgroup-form .subscription .fc-field-choice label.label span {
    text-wrap: wrap;
    font-weight: normal; }

input[type=number] {
  -moz-appearance: textfield; }
  input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCJiYXNlL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3JhbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiYmFzZS9oZWxwZXJzL19jb2xvcnMuc2NzcyIsImJhc2UvaGVscGVycy9fbWlzYy5zY3NzIiwiYmFzZS9oZWxwZXJzL19jbGFzc2VzLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvY29tcG9uZW50cy9fc2NvdXRpY29ucy5zY3NzIiwiYmFzZS9jb21wb25lbnRzL19tYXRlcmlhbC1pY29ucy5zY3NzIiwiYmFzZS9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvX2RhdGVwaWNrZXIuc2NzcyIsImJhc2UvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiYmFzZS9jb21wb25lbnRzL19zd2l0Y2gtY29tcGFueS5zY3NzIiwiYmFzZS9jb21wb25lbnRzL19nZW5lcmFsLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJiYXNlL21peGlucy9fc2NvdXQtaWNvbi5zY3NzIiwiYmFzZS9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvaGVhZGVyL19oZWFkZXIuc2NzcyIsImJhc2UvY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci1hY2NvdW50LWRyb3Bkb3duLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvaGVhZGVyL19oZWFkZXItbmF2aWdhdGlvbi5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvaGVhZGVyL19oYW1idXJnZXIuc2NzcyIsImJhc2UvY29tcG9uZW50cy9oZWFkZXIvX21pbmljYXJ0LnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvaGVhZGVyL19zZWFyY2guc2NzcyIsImJhc2UvY29tcG9uZW50cy9mb290ZXIvX2Zvb3Rlci5zY3NzIiwiYmFzZS9jb21wb25lbnRzL2Zvb3Rlci9fZm9vdGVyLW5hdmlnYXRpb24uc2NzcyIsImJhc2UvY29tcG9uZW50cy9mb290ZXIvX2Zvb3Rlci1jb250YWN0LWluZm8uc2NzcyIsImJhc2UvY29tcG9uZW50cy9mb290ZXIvX2Zvb3Rlci1jdXN0b21lci1jbHViLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvX3Byb2R1Y3QtY2FyZC5zY3NzIiwiYmFzZS9jb21wb25lbnRzL19wcm9kdWN0LWNhcm91c2VsLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvX3Byb2R1Y3Qtc2xpZGVyLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvX3Rvb2xiYXIuc2NzcyIsImJhc2UvY29tcG9uZW50cy9fdG9hc3Rlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwiYmFzZS9jb21wb25lbnRzL21pbmljYXJ0L19taW5pY2FydC5zY3NzIiwiYmFzZS9jb21wb25lbnRzL21pbmljYXJ0L19taW5pY2FydC1pdGVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsImJhc2UvY29tcG9uZW50cy9tb2RhbC9faW5kZXguc2NzcyIsImJhc2UvY29tcG9uZW50cy9tb2RhbC9fbW9kYWwtb3ZlcmxheS5zY3NzIiwiYmFzZS9jb21wb25lbnRzL21vZGFsL19tb2RhbC1oZWFkZXIuc2NzcyIsImJhc2UvY29tcG9uZW50cy9tb2RhbC9fbW9kYWwtY29udGVudC5zY3NzIiwiYmFzZS9jb21wb25lbnRzL21vZGFsL19tb2RhbC1mb290ZXIuc2NzcyIsImJhc2UvY29tcG9uZW50cy9fc25hY2tiYXIuc2NzcyIsImJhc2UvY29tcG9uZW50cy9fc3RvcmUtc2VsZWN0b3Iuc2NzcyIsImJhc2UvY29tcG9uZW50cy9fc3RvcmUtc2VsZWN0b3ItbW9kYWwuc2NzcyIsImJhc2UvY29tcG9uZW50cy9faW5pdGlhbHMtY2lyY2xlLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvX2dvb2dsZW1hcC5zY3NzIiwiYmFzZS9jb21wb25lbnRzL19uYXZpZ2F0aW9uLW1vYmlsZS5zY3NzIiwiYmFzZS9jb21wb25lbnRzL190YXgtc3dpdGNoZXIuc2NzcyIsImJhc2UvY29tcG9uZW50cy9fbG9hZGluZy1tYXNrLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvX2NvbGxhcHNpYmxlLnNjc3MiLCJiYXNlL21peGlucy9fbWF0ZXJpYWwtaWNvbi5zY3NzIiwiYmFzZS9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvX21lc3NhZ2VzLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvc3RvcnlibG9rL2hlcm9fZnVsbF93aWR0aC5zY3NzIiwiYmFzZS9jb21wb25lbnRzL3N0b3J5Ymxvay9hZ2UtZ3JvdXAuc2NzcyIsImJhc2UvY29tcG9uZW50cy9zdG9yeWJsb2svdGhyZWUtaW1hZ2VzLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvc3RvcnlibG9rL2NhbXBhaWduLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvc3RvcnlibG9rL3Byb2R1Y3Qtc2xpZGVyLnNjc3MiLCJiYXNlL2NvbXBvbmVudHMvc3RvcnlibG9rL3RvcC5zY3NzIiwiYmFzZS9wYWdlcy9pbmRleC5zY3NzIiwiYmFzZS9wYWdlcy9jYXRlZ29yeS5zY3NzIiwiYmFzZS9jb21wb25lbnRzL19maWx0ZXIuc2NzcyIsImJhc2UvY29tcG9uZW50cy9fc2lkZWJhci1uYXZpZ2F0aW9uLnNjc3MiLCJiYXNlL3BhZ2VzL3Byb2R1Y3Quc2NzcyIsImJhc2UvcGFnZXMvY2FydC9faW5kZXguc2NzcyIsImJhc2UvcGFnZXMvY2FydC9fYmFjay10by1zaG9wLnNjc3MiLCJiYXNlL3BhZ2VzL2NhcnQvX3BhZ2UtdGl0bGUuc2NzcyIsImJhc2UvcGFnZXMvY2FydC9fY2FydC1wcm9kdWN0LnNjc3MiLCJiYXNlL3BhZ2VzL2NhcnQvX2NhcnQtcHJvZHVjdC1pdGVtLWRldGFpbHMuc2NzcyIsImJhc2UvcGFnZXMvY2FydC9fY2FydC1pdGVtLXF0eS1jb250cm9scy5zY3NzIiwiYmFzZS9wYWdlcy9jYXJ0L19jYXJ0LXN1bW1hcnkuc2NzcyIsImJhc2UvcGFnZXMvY2FydC9fY2FydC10b3RhbHMtdGFibGUuc2NzcyIsImJhc2UvcGFnZXMvY2FydC9fY2FydC1kaXNjb3VudC1jb3Vwb24uc2NzcyIsImJhc2UvcGFnZXMvY2FydC9fY2FydC1jcm9zc3NlbGwuc2NzcyIsImJhc2UvY29tcG9uZW50cy9fc2NvdXQtZ3VpZGVzLnNjc3MiLCJiYXNlL3BhZ2VzL3Njb3V0LWd1aWRlcy9faW5kZXguc2NzcyIsImJhc2UvcGFnZXMvY3VzdG9tZXItYWNjb3VudC9jdXN0b21lci1hdXRoZW50aWNhdGlvbi9jdXN0b21lci1sb2dpbi9faW5kZXguc2NzcyIsImJhc2UvcGFnZXMvY3VzdG9tZXItYWNjb3VudC9jdXN0b21lci1hdXRoZW50aWNhdGlvbi9jdXN0b21lci1sb2dpbi9fY3VzdG9tZXItbG9naW4uc2NzcyIsImJhc2UvbWl4aW5zL2Zvcm0vX2Zvcm0tbGFiZWwuc2NzcyIsImJhc2UvcGFnZXMvY3VzdG9tZXItYWNjb3VudC9jdXN0b21lci1hdXRoZW50aWNhdGlvbi9jdXN0b21lci1sb2dpbi9fY3VzdG9tZXItZm9ybS1sb2dpbi5zY3NzIiwiYmFzZS9wYWdlcy9jdXN0b21lci1hY2NvdW50L2N1c3RvbWVyLWF1dGhlbnRpY2F0aW9uL2N1c3RvbWVyLXJlZ2lzdGVyL19pbmRleC5zY3NzIiwiYmFzZS9wYWdlcy9jdXN0b21lci1hY2NvdW50L2N1c3RvbWVyLWF1dGhlbnRpY2F0aW9uL2N1c3RvbWVyLXJlZ2lzdGVyL19sYXlvdXQuc2NzcyIsImJhc2UvcGFnZXMvY3VzdG9tZXItYWNjb3VudC9jdXN0b21lci1hdXRoZW50aWNhdGlvbi9jdXN0b21lci1yZWdpc3Rlci9fY3VzdG9tZXItcmVnaXN0ZXItZm9ybS5zY3NzIiwiYmFzZS9wYWdlcy9jdXN0b21lci1hY2NvdW50L19jYXB0Y2hhLnNjc3MiLCJiYXNlL3BhZ2VzL2N1c3RvbWVyLWFjY291bnQvX2luZGV4LnNjc3MiLCJiYXNlL3BhZ2VzL2N1c3RvbWVyLWFjY291bnQvX2xheW91dC5zY3NzIiwiYmFzZS9wYWdlcy9jdXN0b21lci1hY2NvdW50L19jdXN0b21lci1hY2NvdW50LW5hdmlnYXRpb24uc2NzcyIsImJhc2UvcGFnZXMvY3VzdG9tZXItYWNjb3VudC9fY3VzdG9tZXItdGFibGUuc2NzcyIsImJhc2UvcGFnZXMvY3VzdG9tZXItYWNjb3VudC9fY3VzdG9tZXItdGFibGUtdG9vbGJhci5zY3NzIiwiYmFzZS9wYWdlcy9jdXN0b21lci1hY2NvdW50L2N1c3RvbWVyLWRhc2hib2FyZC9faW5kZXguc2NzcyIsImJhc2UvcGFnZXMvY3VzdG9tZXItYWNjb3VudC9jdXN0b21lci1kYXNoYm9hcmQvX2N1c3RvbWVyLWRhc2hib2FyZC1pbmZvLnNjc3MiLCJiYXNlL3BhZ2VzL2N1c3RvbWVyLWFjY291bnQvY3VzdG9tZXItZGFzaGJvYXJkL19jdXN0b21lci1kYXNoYm9hcmQtYWRkcmVzc2VzLnNjc3MiLCJiYXNlL3BhZ2VzL2N1c3RvbWVyLWFjY291bnQvX2N1c3RvbWVyLWluZm8tYm94LnNjc3MiLCJiYXNlL3BhZ2VzL2N1c3RvbWVyLWFjY291bnQvY3VzdG9tZXItZGFzaGJvYXJkL19jdXN0b21lci1kYXNoYm9hcmQtb3JkZXJzLnNjc3MiLCJiYXNlL3BhZ2VzL2N1c3RvbWVyLWFjY291bnQvY3VzdG9tZXItbXktb3JkZXJzL19pbmRleC5zY3NzIiwiYmFzZS9wYWdlcy9jdXN0b21lci1hY2NvdW50L2N1c3RvbWVyLW15LW9yZGVycy1kZXRhaWxzL19pbmRleC5zY3NzIiwiYmFzZS9wYWdlcy9jdXN0b21lci1hY2NvdW50L2N1c3RvbWVyLWVkaXQvX2luZGV4LnNjc3MiLCJiYXNlL3BhZ2VzL2N1c3RvbWVyLWFjY291bnQvY3VzdG9tZXItZWRpdC9fZmllbGRzZXRzLnNjc3MiLCJiYXNlL3BhZ2VzL2N1c3RvbWVyLWFjY291bnQvY3VzdG9tZXItZWRpdC9fdG9vbHRpcC5zY3NzIiwiYmFzZS9wYWdlcy9jdXN0b21lci1hY2NvdW50L2N1c3RvbWVyLWFkZHJlc3MvX2luZGV4LnNjc3MiLCJiYXNlL3BhZ2VzL2N1c3RvbWVyLWFjY291bnQvY3VzdG9tZXItYWRkcmVzcy9fY3VzdG9tZXItYWRkcmVzcy5zY3NzIiwiYmFzZS9wYWdlcy9jdXN0b21lci1hY2NvdW50L2N1c3RvbWVyLWFkZHJlc3MvX2N1c3RvbWVyLWFkZHJlc3MtdGFibGUuc2NzcyIsImJhc2UvcGFnZXMvY3VzdG9tZXItYWNjb3VudC9jdXN0b21lci1hZGRyZXNzL19jdXN0b21lci1hZGRyZXNzLW5ldy5zY3NzIiwiYmFzZS9wYWdlcy9jaGVja291dC9fY2hlY2tvdXQuc2NzcyIsImJhc2UvcGFnZXMvY2hlY2tvdXQvX3N1Y2Nlc3Muc2NzcyIsImJhc2UvdmVuZG9yL293bGNhcm91c2VsL19vd2xjYXJvdXNlbC5zY3NzIiwiYmFzZS92ZW5kb3IvZmlyZWNoZWNrb3V0L19pbmRleC5zY3NzIiwiYmFzZS92ZW5kb3IvZmlyZWNoZWNrb3V0L19jaGVja291dC1wYWdlLWhlYWRlci5zY3NzIiwiYmFzZS92ZW5kb3IvZmlyZWNoZWNrb3V0L19jaGVja291dC1wYWdlLWhlYWRlci1yb3cuc2NzcyIsImJhc2UvdmVuZG9yL2ZpcmVjaGVja291dC9fY2hlY2tvdXQtY29udGlhbmVyLnNjc3MiLCJiYXNlL3ZlbmRvci9maXJlY2hlY2tvdXQvX2NoZWNrb3V0LXN0ZXAtc2hpcHBpbmctYWRkZXJzcy5zY3NzIiwiYmFzZS92ZW5kb3IvZmlyZWNoZWNrb3V0L19jaGVja291dC1zdGVwLXNoaXBwaW5nLW1ldGhvZC5zY3NzIiwiYmFzZS92ZW5kb3IvZmlyZWNoZWNrb3V0L19jaGVja291dC1zdGVwLXBheW1lbnQtbWV0aG9kLnNjc3MiLCJiYXNlL3ZlbmRvci9maXJlY2hlY2tvdXQvX2NoZWNrb3V0LWJpbGxpbmctYWRkcmVzcy5zY3NzIiwiYmFzZS92ZW5kb3IvZmlyZWNoZWNrb3V0L19jaGVja291dC1zdW1tYXJ5LnNjc3MiLCJiYXNlL3ZlbmRvci9maXJlY2hlY2tvdXQvX2NoZWNrb3V0LW1pbmljYXJ0LXByb2R1Y3QtaXRlbS5zY3NzIiwiX3RoZW1lLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7OztHQUtHO0FDOEpHO0VDdkhKO0lBQ0UsWUFBVztJQUNYLFdBQVU7SUFDVixlQUFjLEVBQ2YsRUFBQTs7QUNIRCxpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FBRUg7RUFDRSx3QkMxQ3VCO0VEMENTLE9BQU87RUFRckMsa0JBQWlCO0VBQUUsT0FBTztFQUU1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU8sRUFDeEM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7O09BRUc7QUFFSDs7Ozs7O0VBTUUsZUFBYyxFQUNmOztBQUVEOzs7T0FHRztBQUVIO0VFOUVGLGVBWHVDO0VGb0dqQyxpQkFBZ0IsRUFFbkI7O0FBb0NEO29GQUNnRjtBQXVDaEY7O09BRUc7QUFFSDs7RUFFRSxlQUFjLEVBQ2Y7O0FBRUQ7O09BRUc7QUFFSDtFQUtJLGlCQ3ZMWSxFRHlMZjs7QUFFRDs7O09BR0c7QUFFSDtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsVUFBUztFQUFFLE9BQU87RUFDbEIsa0JBQWlCO0VBQUUsT0FBTyxFQUMzQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQWFEOzs7T0FHRztBQUVIO0VBQ0Usa0NBQWlDO0VBQUUsT0FBTztFQUMxQyxlQUFjO0VBQUUsT0FBTyxFQUN4Qjs7QUFJRDtvRkFDZ0Y7QUFFaEY7OztPQUdHO0FBRUg7RUFDRSw4QkFBNkI7RUFBRSxPQUFPO0VBQ3RDLHNDQUFxQztFQUFFLE9BQU8sRUFDL0M7O0FBRUQ7OztPQUdHO0FBRUg7O0VBRUUsaUJBQWdCLEVBQ2pCOztBQUlEO29GQUNnRjtBQUVo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QTRCO0VBQTVCLHdCQUE0QixFRDhIakM7RVRLRztJU3BDSjtNQy9GTSxtQkFBNEI7TUFBNUIsb0JBQTRCLEVEOEhqQyxFQUFBO0VBL0JEOzs7SUdwREUsNEJBRDRFO0lGakMxRSxzQkFBNEI7SUFBNUIsdUJBQTRCLEVENEY3QjtFVDhCQztJU3BDSjs7O01HcERFLHlCQUQ0RTtNRmpDMUUsa0JBQTRCO01BQTVCLG1CQUE0QixFRG1HekIsRUFBQTtFQXJDUDtJR3pCRSxZQUFtQixFSDJCcEI7RUFFRDtJR3pCRSxZQUFtQixFSDJCcEI7RUFNQztJRzdCQSxnQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsaUNBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDJCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxpQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsaUNBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDJCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxpQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsaUNBRGdILEVIZ0MvRztFQUZEO0lHN0JBLDJCQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxpQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsaUNBRGdILEVIZ0MvRztFQUZEOzs7SUc3QkEsNEJBRGdILEVIZ0MvRztFVDhDQztJUzVESjtNR3pCRSxZQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxZQUFtQixFSDJCcEI7SUFNQztNRzdCQSw2QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLHdCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLHdCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLHdCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRztJQUZEOzs7TUc3QkEseUJBRGdILEVIZ0MvRztJQWRIO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsd0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSw4QkFEZ0gsRUhnQy9HO0lBRkQ7OztNRzdCQSx3QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSx3QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSx5QkFEZ0gsRUhnQy9HLEVBQUE7RVQ4Q0M7SVM1REo7TUd6QkUsWUFBbUIsRUgyQnBCO0lBRUQ7TUd6QkUsWUFBbUIsRUgyQnBCO0lBTUM7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSx3QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSx3QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSx3QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSx5QkFEZ0gsRUhnQy9HLEVBQUE7O0FBOENIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUR3SS9CO0VUTEM7SVNBSjtNQ25JTSxvQkFBNEI7TUFBNUIsbUJBQTRCLEVEd0kvQixFQUFBOztBQUlEO0VDNUlJLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUQ4SS9CO0VUWEM7SVNTRjtNQzVJSSxvQkFBNEI7TUFBNUIsbUJBQTRCLEVEOEkvQixFQUFBOztBQVhIOztFQ25JTSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVEbUovQjtFVGhCQztJU0FKOztNQ25JTSxvQkFBNEI7TUFBNUIsbUJBQTRCLEVEbUovQixFQUFBOztBSXRKSDs7RUR5REUsWUFEb0QsRUN0RHJEOztBQUZEOztFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7O0VEeURFLGlCQURvRCxFQ3REckQ7O0FBRkQ7O0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDs7RUR5REUsV0FEb0QsRUN0RHJEOztBQUZEOztFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEOztFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEOztFRHlERSxhQURvRCxFQ3REckQ7O0Fib0lHO0VhdElKOztJRHlERSxZQURvRCxFQ3REckQ7RUFGRDs7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7O0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDs7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7O0lEeURFLFdBRG9ELEVDdERyRDtFQUZEOztJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7O0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDs7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0Fib0lHO0VhdElKOztJRHlERSxZQURvRCxFQ3REckQ7RUFGRDs7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7O0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDs7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7O0lEeURFLFdBRG9ELEVDdERyRDtFQUZEOztJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7O0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDs7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FBRkQ7OztFRHlERSw0QkFEZ0gsRUN0RGpIOztBQUZEOzs7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDs7O0VEeURFLGlDQURnSCxFQ3REakg7O0FBRkQ7OztFRHlERSwyQkFEZ0gsRUN0RGpIOztBQUZEOzs7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDs7O0VEeURFLGlDQURnSCxFQ3REakg7O0FBRkQ7OztFRHlERSxpQ0FEZ0gsRUN0RGpIOztBQUZEOzs7RUR5REUsNkJBRGdILEVDdERqSDs7QWJvSUc7RWF0SUo7OztJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSx5QkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7OztJRHlERSwwQkFEZ0gsRUN0RGpILEVBQUE7O0Fib0lHO0VhdElKOzs7SUR5REUseUJBRGdILEVDdERqSDtFQUZEOzs7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEOzs7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEOzs7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEOzs7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEOzs7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEOzs7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEOzs7SUR5REUsMEJBRGdILEVDdERqSCxFQUFBOztBSmdNRztFS3ZNRSxnQkFBMEI7RUFBMUIsZUFBMEIsRUx5TTNCO0VLdE1EOztJQUVJLGdCQUEwQjtJQUExQixlQUEwQixFQUU3QjtFQW9CSztJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEOztJRm1DUixZQURvRCxFRWhDM0M7RWQ4R1A7SWNoSE07TUZtQ1IsZ0JBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEOztNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7RWQ4R1A7SWNoSE07TUZtQ1IsZ0JBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QUxnTFA7RUt0S0UsZ0JBQTBCO0VBQTFCLGVBQTBCLEVMd0szQjtFS3JLRDs7SUFFSSxpQkFBNEI7SUFBNUIsZ0JBQTRCLEVBRS9COztBZDZGRDtFUzREQTtJS3ZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx5TTNCO0lLdE1EOztNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBZG9JRDtFY3pITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEOztJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QWR1SFA7RWNoSE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEOztJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FkOEdQO0VjaEhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FkOEdQO0VTa0VBO0lLdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTHdLM0I7SUtyS0Q7O01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBZDZGRDtFUzREQTtJS3ZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx5TTNCO0lLdE1EOztNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBZG9JRDtFY3pITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEOztJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QWR1SFA7RWN6SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEOztJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FkdUhQO0VjaEhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FkOEdQO0VTa0VBO0lLdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTHdLM0I7SUtyS0Q7O01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBTDZLRDtFTTFORixnQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLGlDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsc0JBQTZCLEVONE4xQjs7QUFFRDtFTTlORix1Q0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QUFORDtFTTFORixpQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLGtDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORix3Q0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QUFORDtFTTFORixpQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLGtDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORix3Q0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QUFORDtFTTFORixpQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLGtDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORix3Q0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsd0NBQTZCLEVOZ08xQjs7QVR0RkQ7RVNnRkE7SU0xTkYsZ0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLDZCQUE2QixFTmdPMUI7RUFORDtJTTFORixzQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsbUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLDhCQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLDhCQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLDhCQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORixvQ0FBNkIsRU5nTzFCLEVBQUE7O0FUdEZEO0VTZ0ZBO0lNMU5GLGdCQUE2QixFTjROMUI7RUFFRDtJTTlORiw2QkFBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsb0NBQTZCLEVOZ08xQjtFQU5E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OEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLCtCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSx5QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLCtCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSx5QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLCtCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSx5QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLCtCQURnSCxFSGdDL0c7SUFGRDs7TUc3QkEsMEJBRGdILEVIZ0MvRztJQWRIO01HekJFLGFBQW1CLEVIMkJwQjtJQUVEO01HekJFLGFBQW1CLEVIMkJwQjtJQU1DO01HN0JBLDhCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEseUJBRGdILEVIZ0MvRztJQUZEO01HN0JBLCtCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7O01HN0JBLHlCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLHlCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLDBCQURnSCxFSGdDL0csRUFBQTtFVDhDQztJUzVESjtNR3pCRSxhQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxhQUFtQixFSDJCcEI7SUFNQztNRzdCQSw4QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLHlCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLHlCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJ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QURnSCxFSGdDL0c7SUFGRDtNRzdCQSx5QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLCtCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSx5QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLCtCQURnSCxFSGdDL0c7SUFGRDs7TUc3QkEsMEJBRGdILEVIZ0MvRztJQWRIO01HekJFLGFBQW1CLEVIMkJwQjtJQUVEO01HekJFLGFBQW1CLEVIMkJwQjtJQU1DO01HN0JBLDhCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEseUJBRGdILEVIZ0MvRztJQUZEO01HN0JBLCtCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7O01HN0JBLHlCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLHlCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLDBCQURnSCxFSGdDL0csRUFBQTtFVDhDQztJUzVESjtNR3pCRSxhQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxhQUFtQixFSDJCcEI7SUFNQztNRzdCQSw4QkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLHlCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLHlCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLHlCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSwrQkFEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsK0JBRGdILEVIZ0MvRztJQUZEO01HN0JBLDBCQURnSCxFSGdDL0csRUFBQTs7QUF5U0Q7RU8zWEksOEJBQW1DLEVQNlh0QztFVDdQQztJUzJQRjtNTzNYSSwyQkFBbUMsRVA2WHRDLEVBQUE7RVQ3UEM7SVMyUEY7TU8zWEksMkJBQW1DLEVQNlh0QyxFQUFBOztBVDdQQztFUytQQTtJTy9YRSwyQkFBbUMsRVBpWXBDLEVBQUE7O0FUalFEO0VTK1BBO0lPL1hFLDJCQUFtQyxFUGlZcEMsRUFBQTs7QVFyS0w7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxvQlYxRjBCO0VVNEYxQixtQkFBa0I7RUFDbEIsbUJWOUZ3QjtFVStGeEIsbUNWN0Z5QyxFVThGMUM7O0FBR0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFHRDs7RUFFRSxpQlZ0TG9CO0VVdUxwQixxQkFBb0IsRUFDckI7O0FmZ0RDO0VlNUNBLGVWcEhpQjtFVXFIakIscUJBQW9CLEVBQ3JCOztBQUdEOzs7Ozs7O0VBTUUsdUVWOU13RTtFVStNeEUsbUJWeEpzQjtFVXlKdEIsaUJWek1vQjtFVTBNcEIsZVY1T2M7RVU2T2QsbUNWcElzQyxFVTBJdkM7RUFoQkQ7Ozs7Ozs7SUFhSSxlQUFjO0lBQ2QsZVY1TmEsRVU2TmQ7O0FBUUc7RUFJSSxrQlh2UDZDO0VXbVE3QyxpQlZyTFc7RVU2TFgsY0FBYTtFQU9iLHNCVm5NaUIsRVVxTXBCOztBQWpDRDtFQUlJLG9CWHZQNkM7RVdtUTdDLGlCVnJMVztFVTZMWCxjQUFhO0VBT2Isc0JWbk1pQixFVXFNcEI7O0FBakNEO0VBSUksbUJYdlA2QztFV21RN0MsaUJWckxXO0VVNkxYLGNBQWE7RUFPYixzQlZuTWlCLEVVcU1wQjs7O0FBbkdQOztFQXNFVSxvQlh2UDZDO0VXbVE3QyxpQlZyTFc7RVU2TFgsY0FBYTtFQU9iLHNCVm5NaUIsRVVxTXBCOztBQWpDRDtFQUlJLGdCWHZQNkM7RVdtUTdDLGlCVnJMVztFVTZMWCxjQUFhO0VBT2Isc0JWbk1pQixFVXFNcEI7O0FBakNEO0VBSUksb0JYdlA2QztFV21RN0MsaUJWckxXO0VVNkxYLGNBQWE7RUFPYixzQlZuTWlCLEVVcU1wQjs7QWpCek1IO0VpQndLRTtJQUlJLGdCWHZQNkMsRVdvUmhEO0VBakNEO0lBSUksbUJYdlA2QyxFV29SaEQ7RUFqQ0Q7SUFJSSxrQlh2UDZDLEVXb1JoRDs7RUFuR1A7O0lBc0VVLG9CWHZQNkMsRVdvUmhEO0VBakNEO0lBSUksbUJYdlA2QyxFV29SaEQ7RUFqQ0Q7SUFJSSxnQlh2UDZDLEVXb1JoRCxFQUFBOztBZm5HTDtFZTBHQSxxQkFBb0I7RUFDcEIsZVY1U2dCO0VVNlNoQixzQlY3S3lCO0VVK0t6QixnQkFBZSxFQWFoQjtFQWxCRDtJQVNJLGVWcEwyRCxFVXdMNUQ7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FmdktEO0VlNEtBLFlBQVc7RUFFWCxtQlhsVHFEO0VXbVRyRCxVQUFTO0VBQ1QscUJWaE15QjtFVWtNekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNWNVNnQjtFVTZTaEIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQlYxTjBCO0VVMk4xQiw2QlZ6TXlCO0VVME16QixtQlY3TndCLEVVOE56Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHFCVm5Oc0I7RVVvTnRCLHNCVnROa0IsRVV1Tm5COztBQUdEO0VBQ0UscUJWek5zQixFVTBOdkI7O0FBR0Q7RUFFSSxxQlY5TjJCO0VVK04zQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQlZwT3lCLEVVME8xQjtFQVBEO0lBSUksc0JWck84QjtJVXNPOUIsaUJWeFVrQixFVXlVbkI7O0FBSUg7RUFDRSxpQlZuUTBCO0VVb1ExQixtQlgxV3FEO0VXMldyRCwrQlY5VmlCLEVVb1dsQjtFQVREO0lBTUksbUJWelFzQjtJVTBRdEIsZVZ0WFksRVV1WGI7O0FBSUg7RUFDRSxlQUFjO0VBQ2QsZ0JYdFhxRDtFV3VYckQsZVZ6V2UsRVU4V2hCO0VBUkQ7SUFNSSxjVnhQNkIsRUFBQTs7QVU2UGpDO0VBQ0Usa0NWdlljO0VVd1lkLGFBQVk7RUFDWixzQkFBcUIsRUFDdEI7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YyxFY2lJZjtJQW9ERDtNQTFEQSxjZDJINEI7TWMxSDVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCZHZJZ0I7UWN3SWhCLGVkaEljLEVjaUlmO0lBb0REO01BMURBLGNkMkg0QjtNYzFINUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJkdElvQjtRY3VJcEIsZWRoSWMsRWNpSWY7SUFvREQ7TUExREEsY2QySDRCO01jMUg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQmRySWtCO1Fjc0lsQixlZC9IYyxFY2dJZjtJQW9ERDtNQTFEQSxjZDJINEI7TWMxSDVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCZHBJWTtRY3FJWixlZGhJYyxFY2lJZjtJQW9ERDtNQTFEQSxjZDJINEI7TWMxSDVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCZG5JYztRY29JZCxlZGhJYyxFY2lJZjtJQW9ERDtNQTFEQSxjZDJINEI7TWMxSDVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCZGxJZ0I7UWNtSWhCLGVkaEljLEVjaUlmO0lBb0REO01BMURBLGNkMkg0QjtNYzFINUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJkaklnQjtRY2tJaEIsZWQvSGMsRWNnSWY7SUFvREQ7TUExREEsY2QySDRCO01jMUg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQmRoSWM7UWNpSWQsZWQvSGMsRWNnSWY7SUFvREQ7TUExREEsY2QySDRCO01jMUg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQmQvSGM7UWNnSWQsZWQvSGMsRWNnSWY7SUFvREQ7TUExREEsY2QySDRCO01jMUg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQmQ5SGM7UWMrSGQsZWRoSWMsRWNpSWY7SUFvREQ7TUExREEsY2QySDRCO01jMUg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQmQ3SGE7UWM4SGIsZWQvSGMsRWNnSWY7SUFvREQ7TUExREEsY2QySDRCO01jMUg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQmQ1SFk7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alNFLEVja1NIO0VBeEdYO0lBdUdZLDBCZGhTSSxFY2lTTDtFQXhHWDtJQXVHWSwwQmQvUk0sRWNnU1A7RUF4R1g7SUF1R1ksMEJkOVJNLEVjK1JQO0VBeEdYO0lBdUdZLDBCZDdSSSxFYzhSTDtFQXhHWDtJQXVHWSwwQmQ1UkksRWM2Ukw7RUF4R1g7SUF1R1ksMEJkM1JJLEVjNFJMO0VBeEdYO0lBdUdZLDBCZDFSRyxFYzJSSjtFQXhHWDtJQXVHWSwwQmR6UkUsRWMwUkg7RUF4R1g7SUFnSEksWUFBVztJQUNYLFlBQVc7SUFDWCxlQUFnQyxFQUNqQzs7QUFFSDtFQUdJLHNCQUFxQixFQUN0Qjs7QXZCMjhFTDs7RXdCbHZGRSxlQUFjO0VBQ2QsdUJBQXNCO0VBQ3RCLFlBQVc7RUFDWCxpQkFMc0o7RUFNdEosaUJoQkh1RDtFZ0JJdkQsaUNoQkp1RDtFZ0JNdkQsMEJmTWtCO0VlTGxCLGlCZnFCZTtFZXBCZiwwQmZoQmdCO0VlaUJoQiwrQ2ZoQmdCO0Vla0JoQixxQmZ5V3lCO0VleFd6QixnQmhCWnVEO0VnQmF2RCxvQmZhMkI7RWVaM0IsaUJmaENxQjtFZWlDckIsZWZ0QmdCO0VleUJkLDREZjhXOEQ7RWV6VjlELHlCQUFnQjtLQUFoQixzQkFBZ0I7VUFBaEIsaUJBQWdCLEVBQ2pCO0V4QjR0RkQ7O0l3Qjd1RkUsY0FBYTtJQUNiLDBCZlpnQjtJZWFoQiwwQmZqQ2M7SWVrQ2QsNEJmYmlCO0llZ0JmLDREZm1XNEQsRWVqVy9EOztBcEJxZEM7RW9CeGNBLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZWZ6Q2EsRWUwQ2Q7O0FBTEg7O0VBSUksZWZ6Q2EsRWUwQ2Q7O0FBTEg7O0VBSUksZWZ6Q2EsRWUwQ2Q7O0FBTEg7OztFQVVJLDBCZjZUNkI7RWU1VDdCLG9CZmlVNkIsRWVoVTlCOztBeEI0dEZMOztFd0J0dEZJLHlCQUFnQjtLQUFoQixzQkFBZ0I7VUFBaEIsaUJBQWdCO0VBQ2hCLGlCZjFDYSxFZTJDZDs7QUFHRDtFQUNFLHVCQUFzQixFQUN2Qjs7QXhCdXRGSDs7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QTNHTDtJQUVJLHNCQUFhO1FBQWIsa0JBQWE7WUFBYixjQUFhLEVBdUJoQjtFQTJFRDtJZGpEQSwwQmQxRWtCO0ljMkVsQixlZG5FZ0IsRTRCcUlUO0lkaEVQO01BQ0UsMEJBUG9GO01BUXBGLGVkdkVjLEVjd0VmO0VjMkNEO0lkakRBLDBCZHpFc0I7SWMwRXRCLGVkbkVnQixFNEJxSVQ7SWRoRVA7TUFDRSwwQkFQb0Y7TUFRcEYsZWR2RWMsRWN3RWY7RWMyQ0Q7SWRqREEsMEJkeEVvQjtJY3lFcEIsZWRsRWdCLEU0Qm9JVDtJZGhFUDtNQUNFLDBCQVBvRjtNQVFwRixlZHRFYyxFY3VFZjtFYzJDRDtJZGpEQSwwQmR2RWM7SWN3RWQsZWRuRWdCLEU0QnFJVDtJZGhFUDtNQUNFLDBCQVBvRjtNQVFwRixlZHZFYyxFY3dFZjtFYzJDRDtJZGpEQSwwQmR0RWdCO0ljdUVoQixlZG5FZ0IsRTRCcUlUO0lkaEVQO01BQ0UsMEJBUG9GO01BUXBGLGVkdkVjLEVjd0VmO0VjMkNEO0lkakRBLDBCZHJFa0I7SWNzRWxCLGVkbkVnQixFNEJxSVQ7SWRoRVA7TUFDRSwwQkFQb0Y7TUFRcEYsZWR2RWMsRWN3RWY7RWMyQ0Q7SWRqREEsMEJkcEVrQjtJY3FFbEIsZWRsRWdCLEU0Qm9JVDtJZGhFUDtNQUNFLDBCQVBvRjtNQVFwRixlZHRFYyxFY3VFZjtFYzJDRDtJZGpEQSwwQmRuRWdCO0ljb0VoQixlZGxFZ0IsRTRCb0lUO0lkaEVQO01BQ0UsMEJBUG9GO01BUXBGLGVkdEVjLEVjdUVmO0VjMkNEO0lkakRBLDBCZGxFZ0I7SWNtRWhCLGVkbEVnQixFNEJvSVQ7SWRoRVA7TUFDRSx3QkFQb0Y7TUFRcEYsZWR0RWMsRWN1RWY7RWMyQ0Q7SWRqREEsMEJkakVnQjtJY2tFaEIsZWRuRWdCLEU0QnFJVDtJZGhFUDtNQUNFLDBCQVBvRjtNQVFwRixlZHZFYyxFY3dFZjtFYzJDRDtJZGpEQSwwQmRoRWU7SWNpRWYsZWRsRWdCLEU0Qm9JVDtJZGhFUDtNQUNFLDBCQVBvRjtNQVFwRixlZHRFYyxFY3VFZjtFYzJDRDtJZGpEQSww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bEIsVUFBUztFQUNULG9CckMwRHVEO0VxQ3pEdkQsb0JDdUNzQjtFRHRDdEIsaUJBQWdCLEVBMEJmO0VBeEJEOzs7Ozs7OztJQUlFLG1CQUFrQjtJQUNsQixPQUFNO0lBQ04sUUFBa0I7SUFDbEIsWUFBVztJQUNYLGFBQVksRUFDYjtFQUlEOztJQVFNLHVCQ2VnQixFRGRqQjs7QUVOTDtFQVpBLHNCQUFxQjtFQUNyQiwyQnRDOGIrQjtFc0M1Yi9CLG1CdEM2YmdCO0VzQzNiaEIsb0J0Q3lid0I7RXNDeGJ4QixlQUFjO0VBQ2Qsb0JBQW1CO0VBQ25CLGdCQUFlO0VBT2Isb0J0Q21CZ0I7RXNDbEJoQixldEMwQmMsRXNDbEJmO0VBWkQ7SUFRTSxvQnRDY1k7SXNDYlosZXRDcUJVLEVzQ3BCWDtFQVZMO0lBUU0sb0J0Q2VnQjtJc0NkaEIsZXRDcUJVLEVzQ3BCWDtFQVZMO0lBUU0sb0J0Q2dCYztJc0NmZCxldENzQlUsRXNDckJYO0VBVkw7SUFRTSxvQnRDaUJRO0lzQ2hCUixldENxQlUsRXNDcEJYO0VBVkw7SUFRTSxvQnRDa0JVO0lzQ2pCVixldENxQlUsRXNDcEJYO0VBVkw7SUFRTSxvQnRDbUJZO0lzQ2xCWixldENxQlUsRXNDcEJYO0VBVkw7SUFRTSxvQnRDb0JZO0lzQ25CWixldENzQlUsRXNDckJYO0VBVkw7SUFRTSxvQnRDcUJVO0lzQ3BCVixldENzQlUsRXNDckJYO0VBVkw7SUFRTSxvQnRDc0JVO0lzQ3JCVixldENzQlUsRXNDckJYO0VBVkw7SUFRTSxvQnRDdUJVO0lzQ3RCVixldENxQlUsRXNDcEJYO0VBVkw7SUFRTSxvQnRDd0JTO0lzQ3ZCVCxldENzQlUsRXNDckJYO0VBVkw7SUFRTSxvQnRDeUJRO0lzQ3hCUixldENzQlUsRXNDckJYOztBQ2FMO0VBbkRBLHNCQUFpQztFQUFqQyxxQkFBaUM7RUFBakMsY0FBaUM7RUFDakMsb0J2Q3dGa0I7RXVDckZoQiwwQkFBaUI7TUFBakIsc0JBQWlCO1VBQWpCLGtCQUFpQixFQW1FbEI7RUFwQkQ7SUFJSSxnQkFBZSxFQUNoQjtFOUMwRkM7SThD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bEIsb0JBdkRrQixFRG9GZjs7QUFJSDtFQ2xEQSxnQ0EvQ2dCO01BK0NoQixzQkEvQ2dCO1VBK0NoQix3QkEvQ2dCO0VBZ0RoQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCO0VEMkZkLDhCQUFxQjtNQUFyQiwyQkFBcUI7VUFBckIsc0JBQXFCLEVBQ3RCOztBQUtHO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBOURxREQ7RThEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBOURxREQ7RThEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xD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QkFBNEIsRTJIaEJqQyxFQUFBO0lOekJEO01NNEJJLGlCQUFnQjtNQUNoQixpQkFBZ0IsRUErQm5CO01ONUREO1ExR3FGRSxzQkFBcUI7UUFDckIsdUJBQXNCO1FBQ3RCLG1CZGdPa0M7UWMvTmxDLHFCZDZOMEI7UWNuTnhCLHdCZG9OOEI7UWNqTmhDLHlCQUF3QjtRQUN4Qiw4QkFBNkI7UUFDN0IsaUJkYWU7UWNaZiwrQmRpT29DO1FjL05wQyxvQmR3Tm1CO1Fjdk5uQixlQUFjO1FBQ2QsbUJBQWtCO1FBQ2xCLGdCQUFlO1FBcUNmLDBCZDFFa0I7UWMyRWxCLGVkbkVnQjtRK0RuRWQsbUJBQWtCO1FBQ2xCLGlCQUFnQjtRQUdaLG1CL0RrVFUsRThIN1JiO1F2SWdxVkc7VVU1L1VKLFdBQVUsRUFDWDtRYXRERDtVQUNFLDBCaUQxSW9HO1VqRDJJcEcsZWR2RWMsRWN3RWY7UWlEcElDO1VBQ0ksaUIvRDhGZ0IsRStEN0ZuQjtRQUVEO1VBQ0ksNkMvRCtDWSxFK0Q5Q2Y7UUFFRDtVQUNJLG9CL0R1RVk7VStEdEVaLG9CQUFtQixFQUN0QjtRQUVEO1VBQ0ksaUJBQWdCLEVBQ25CO1F0RXFJQztVK0h4S047WTFHcUZFLHNCQUFxQjtZQUNyQix1QkFBc0I7WUFDdEIsbUJkZ09rQztZYy9ObEMscUJkNk4wQjtZY25OeEIsd0Jkb044QjtZY2pOaEMseUJBQXdCO1lBQ3hCLDhCQUE2QjtZQUM3QixpQmRhZTtZY1pmLCtCZGlPb0M7WWMvTnBDLG9CZHdObUI7WWN2Tm5CLGVBQWM7WUFDZCxtQkFBa0I7WUFDbEIsZ0JBQWU7WUFxQ2YsMEJkMUVrQjtZYzJFbEIsZWRuRWdCO1ljb0NkLGVBQWM7WUFDZCxZQUFXO1lBQ1gsZ0JBQWU7WUFDZixlQUFjO1lpRDFHZCxtQkFBa0I7WUFDbEIsaUJBQWdCO1krRHNCUixpQkFBZ0IsRUFFdkI7WXZJc3NWTztjVWxpVlIsV0FBVSxFQUNYO1lhdEREO2NBQ0UsMEJpRDFJb0c7Y2pEMklwRyxlZHZFYyxFY3dFZjtZaURwSUM7Y0FDSSxpQi9EOEZnQixFK0Q3Rm5CO1lBRUQ7Y0FD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MUIsNEJBQTJCO01BQzNCLHdCM0Y2c0JnQztNMkY1c0JoQywrQkFBOEIsRWdGRjNCO0lUekJMO01TNEJRLDZCQUFvQjtNQUFwQiw0QkFBb0I7TUFBcEIscUJBQW9CLEVBSXZCO01UaENMO1FTOEJZLFVBQVMsRUFDWjtJVC9CVDtNU21DUSxrQkFBaUI7TUFDakIsMkJBQWtCO1VBQWxCLDRCQUFrQjtjQUFsQixtQkFBa0I7TUFFbEIsZ0JBQWU7TUFDZixpQkFBZ0IsRUFLbkI7TVQ1Q0w7UVMwQ1ksZTNLK0JNLEUySzlCVDtJVDNDVDtNUytDUSxzQkFBcUI7TUFDckIsc0I1S2tDaUQsRTRLOUJwRDtNVHBETDtRU2tEWSxlM0trQlUsRTJLakJiOztBVG5EVDtFUTRFUSxpQjFLaUNnQixFMEtoQ25COztBUjdFTDtFUWtGZ0IsWUFBVztFQUNYLHNCM0tEeUM7RTJLRXpDLHVCM0tGeUMsRTJLRzVDOztBUnJGYjtFUXVGZ0IsVUFBUTtFQUNSLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQW1CLEVBS3RCO0VSOUZiO0lRMkZvQixnQkFBZTtJQUNmLG9CQUFtQixFQUN0Qjs7QUVsR2pCO0VBQ0UsMkJBQTBCLEVBTTNCO0VBUEQ7SUFJSSx5QkFBd0I7SUFDeEIsVUFBUyxFQUNWIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2UsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLnJldmVhbC5jb250aW51ZSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24ucmV2ZWFsLmNoZWNrb3V0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNGMUY0ZjY7XG4gIGZvbnQtZmFtaWx5OiBcIklUQ0ZyYW5rbGluR290aGljXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3OS41cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5mb290ZXItbmF2aWdhdGlvbixcbmZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zdWJzY3JpYmUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0bywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hdXRvLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmF1dG8uZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zdWJzY3JpYmUge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnNocmluay5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zaHJpbmsuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zaHJpbmsuc3Vic2NyaWJlIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5hdXRvLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLmF1dG8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5hdXRvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmdyaWQteCA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuYWNjb3JkaW9uLW1lbnUgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zdWJzY3JpYmUsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciAuYWN0aW9ucyBmb3JtLnN1YnNjcmliZSA+IC5zdWJzY3JpYmUsIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5zdWJzY3JpYmUge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluaywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNocmluaywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zaHJpbmssIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLXNocmluaywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC1zaHJpbmssIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLWZ1bGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtZnVsbCwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtMSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtMiwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTMsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtMywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTQsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtNCwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtNSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTYsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtNiwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTcsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtNywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTgsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtOCwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTksIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtOSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC0xMCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC0xMCwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtMTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtMTEsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTEyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLnNtYWxsLTEyLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuc21hbGwtMTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC14ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuZm9vdGVyLW5hdmlnYXRpb24sIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgZm9ybS5zdWJzY3JpYmUgPiAuZm9vdGVyLW5hdmlnYXRpb24sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQteCA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4uZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIGZvcm0uc3Vic2NyaWJlID4gLmZvb3Rlci1jb250YWN0LWluZm8sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLXNocmluaywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5tZWRpdW0tc2hyaW5rLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS1mdWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLm1lZGl1bS1mdWxsLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5tZWRpdW0tMSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTIsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS0zLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLm1lZGl1bS0zLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tNCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5tZWRpdW0tNCwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLm1lZGl1bS00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51IC5ncmlkLXggPiBsaSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IGxpLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gbGksIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51IGZvcm0uc3Vic2NyaWJlID4gbGksIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gbGksIC5ncmlkLXggPiAubWVkaXVtLTUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tNSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5tZWRpdW0tNSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTYsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTYsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLXggPiAuZm9vdGVyLW5hdmlnYXRpb24sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5mb290ZXItbmF2aWdhdGlvbiwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciBmb3JtLnN1YnNjcmliZSA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLXggPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciBmb3JtLnN1YnNjcmliZSA+IC5mb290ZXItY29udGFjdC1pbmZvLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5ncmlkLXggPiAubWVkaXVtLTcsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tNywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5tZWRpdW0tNywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTgsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTgsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS05LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLm1lZGl1bS05LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubWVkaXVtLTksIC5mb290ZXItY3VzdG9tZXItY2x1YiAuZ3JpZC14ID4gLmZpZWxkLm5ld3NsZXR0ZXIsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZmllbGQubmV3c2xldHRlciwgLmZvb3Rlci1jdXN0b21lci1jbHViIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5maWVsZC5uZXdzbGV0dGVyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY2NvcmRpb24tbWVudSA+IC5maWVsZC5uZXdzbGV0dGVyLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5maWVsZC5uZXdzbGV0dGVyLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuZmllbGQubmV3c2xldHRlciwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tMTAsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTEwLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5tZWRpdW0tMTEsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTEyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLm1lZGl1bS0xMiwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2Utc2hyaW5rLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLmxhcmdlLXNocmluaywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtZnVsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS1mdWxsLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS0xLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS0yLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtMywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS0zLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtNCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS00LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtNSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS01LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS02LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtNywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS03LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtOCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS04LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtOSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS05LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLTEwLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLmxhcmdlLTEwLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS0xMSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtMTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubGFyZ2UtMTIsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtMSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC0yLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0zLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtMywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC0zLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtNCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC00LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtNSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC01LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC02LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC02LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtNywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC03LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtOCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC04LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtOSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC05LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTEwLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLnNtYWxsLTEwLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5zbWFsbC0xMSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtMTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuc21hbGwtMTIsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5zbWFsbC0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLXggPiAuZm9vdGVyLW5hdmlnYXRpb24sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5mb290ZXItbmF2aWdhdGlvbiwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciBmb3JtLnN1YnNjcmliZSA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5mb290ZXItbmF2aWdhdGlvbixcbmZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC14ID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbmZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbi5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgZm9ybS5zdWJzY3JpYmUgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5mb290ZXItY29udGFjdC1pbmZvIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0bywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS1hdXRvLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLm1lZGl1bS1hdXRvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLXNocmluaywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5tZWRpdW0tc2hyaW5rLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS0xLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLm1lZGl1bS0xLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTIsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTMsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTMsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTQsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTQsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tNCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSAuZ3JpZC14ID4gbGksIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiBsaSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IGxpLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSBmb3JtLnN1YnNjcmliZSA+IGxpLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51IC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IGxpIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tNSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5tZWRpdW0tNSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5tZWRpdW0tNiwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLm1lZGl1bS02LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQteCA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIGZvcm0uc3Vic2NyaWJlID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQteCA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuICAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIGZvcm0uc3Vic2NyaWJlID4gLmZvb3Rlci1jb250YWN0LWluZm8sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTcsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTcsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTgsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTgsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTksIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTksIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tOSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5ncmlkLXggPiAuZmllbGQubmV3c2xldHRlciwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5maWVsZC5uZXdzbGV0dGVyLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZpZWxkLm5ld3NsZXR0ZXIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjY29yZGlvbi1tZW51ID4gLmZpZWxkLm5ld3NsZXR0ZXIsIC5mb290ZXItY3VzdG9tZXItY2x1YiBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLmZpZWxkLm5ld3NsZXR0ZXIsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5maWVsZC5uZXdzbGV0dGVyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTEwLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLm1lZGl1bS0xMCwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5tZWRpdW0tMTEsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tMTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubWVkaXVtLTEyLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0bywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLWF1dG8sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubGFyZ2UtYXV0bywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS1zaHJpbmssIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubGFyZ2Utc2hyaW5rLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS0xLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLmxhcmdlLTEsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS0yLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS0zLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLmxhcmdlLTMsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLTQsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubGFyZ2UtNCwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtNSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS01LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS02LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLmxhcmdlLTYsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLTcsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgPiAubGFyZ2UtNywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtOCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS04LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTksIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS05LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51ID4gLmxhcmdlLTksIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciBmb3JtLnN1YnNjcmliZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS0xMCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS0xMCwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS0xMSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSA+IC5sYXJnZS0xMiwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXI6bm90KC5ncmlkLXgpID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuZm9vdGVyLW5hdmlnYXRpb24sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlcjpub3QoLmdyaWQteCkgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXI6bm90KC5ncmlkLXgpID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyOm5vdCguZ3JpZC14KSA+IC5zdWJzY3JpYmUsIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXI6bm90KC5ncmlkLXgpID4gLnN1YnNjcmliZSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLnN1YnNjcmliZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teCA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14ID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zdWJzY3JpYmUsIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gICAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14ID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gICAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teCA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5hdXRvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmdyaWQtbWFyZ2luLXggPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zdWJzY3JpYmUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluaywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTksIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTEyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXggPiAuZm9vdGVyLW5hdmlnYXRpb24sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14ID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItY29udGFjdC1pbmZvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuYXV0bywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14ID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zdWJzY3JpYmUsIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtMTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teCA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICAgIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teCA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuICAgIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItY29udGFjdC1pbmZvIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tNCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5hY2NvcmRpb24tbWVudSAuZ3JpZC1tYXJnaW4teCA+IGxpLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51IC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gbGkge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gICAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14ID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gICAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8ge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLTksIC5mb290ZXItY3VzdG9tZXItY2x1YiAuZ3JpZC1tYXJnaW4teCA+IC5maWVsZC5uZXdzbGV0dGVyLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZpZWxkLm5ld3NsZXR0ZXIsIC5mb290ZXItY3VzdG9tZXItY2x1YiBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZmllbGQubmV3c2xldHRlciB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLXBhZGRpbmcteCA+IC5mb290ZXItbmF2aWdhdGlvbixcbmZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1wYWRkaW5nLXggPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLXBhZGRpbmcteCA+IC5zdWJzY3JpYmUge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtcGFkZGluZy14ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICAgIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1wYWRkaW5nLXggPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLXBhZGRpbmcteCA+IC5zdWJzY3JpYmUge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG5cbi5zbWFsbC11cC0xID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuc21hbGwtdXAtMSA+IC5mb290ZXItbmF2aWdhdGlvbixcbmZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuc21hbGwtdXAtMSA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLnNtYWxsLXVwLTEgPiAuc3Vic2NyaWJlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC11cC0yID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC11cC0yID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtdXAtMiA+IC5zdWJzY3JpYmUge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuc21hbGwtdXAtMyA+IC5mb290ZXItbmF2aWdhdGlvbixcbmZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuc21hbGwtdXAtMyA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLnNtYWxsLXVwLTMgPiAuc3Vic2NyaWJlIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnNtYWxsLXVwLTQgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnNtYWxsLXVwLTQgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC11cC00ID4gLnN1YnNjcmliZSB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC11cC01ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC11cC01ID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtdXAtNSA+IC5zdWJzY3JpYmUge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuc21hbGwtdXAtNiA+IC5mb290ZXItbmF2aWdhdGlvbixcbmZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuc21hbGwtdXAtNiA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLnNtYWxsLXVwLTYgPiAuc3Vic2NyaWJlIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnNtYWxsLXVwLTcgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnNtYWxsLXVwLTcgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC11cC03ID4gLnN1YnNjcmliZSB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC11cC04ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC11cC04ID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtdXAtOCA+IC5zdWJzY3JpYmUge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubWVkaXVtLXVwLTEgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubWVkaXVtLXVwLTEgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5tZWRpdW0tdXAtMSA+IC5zdWJzY3JpYmUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC0yID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC0yID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubWVkaXVtLXVwLTIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC0zID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC0zID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubWVkaXVtLXVwLTMgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC00ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC00ID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubWVkaXVtLXVwLTQgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC01ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC01ID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubWVkaXVtLXVwLTUgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC02ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC02ID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubWVkaXVtLXVwLTYgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC03ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC03ID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubWVkaXVtLXVwLTcgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC04ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS11cC04ID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubWVkaXVtLXVwLTggPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmxhcmdlLXVwLTEgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubGFyZ2UtdXAtMSA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmxhcmdlLXVwLTEgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmxhcmdlLXVwLTIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubGFyZ2UtdXAtMiA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmxhcmdlLXVwLTIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubGFyZ2UtdXAtMyA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5sYXJnZS11cC0zID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubGFyZ2UtdXAtMyA+IC5zdWJzY3JpYmUge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5sYXJnZS11cC00ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmxhcmdlLXVwLTQgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS11cC00ID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmxhcmdlLXVwLTUgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubGFyZ2UtdXAtNSA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmxhcmdlLXVwLTUgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubGFyZ2UtdXAtNiA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5sYXJnZS11cC02ID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubGFyZ2UtdXAtNiA+IC5zdWJzY3JpYmUge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5sYXJnZS11cC03ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmxhcmdlLXVwLTcgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS11cC03ID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmxhcmdlLXVwLTggPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubGFyZ2UtdXAtOCA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmxhcmdlLXVwLTggPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwsIGZvb3RlciAuc21hbGwtdXAtMS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLnNtYWxsLXVwLTEuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbixcbmZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG5mb290ZXIgLnNtYWxsLXVwLTEuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLnNtYWxsLXVwLTEuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zdWJzY3JpYmUsIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyBmb290ZXIgLnNtYWxsLXVwLTEuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zdWJzY3JpYmUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTIuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC0yLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuZm9vdGVyIC5zbWFsbC11cC0yLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC11cC0yLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5zbWFsbC11cC0yLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTMuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC0zLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuZm9vdGVyIC5zbWFsbC11cC0zLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC11cC0zLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5zbWFsbC11cC0zLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTQuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC00LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuZm9vdGVyIC5zbWFsbC11cC00LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC11cC00LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5zbWFsbC11cC00LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTUuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC01LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuZm9vdGVyIC5zbWFsbC11cC01LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC11cC01LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5zbWFsbC11cC01LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTYuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC02LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuZm9vdGVyIC5zbWFsbC11cC02LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC11cC02LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5zbWFsbC11cC02LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTcuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC03LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuZm9vdGVyIC5zbWFsbC11cC03LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC11cC03LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5zbWFsbC11cC03LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTguZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC04LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG5mb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuZm9vdGVyIC5zbWFsbC11cC04LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC11cC04LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5zbWFsbC11cC04LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwsIGZvb3RlciAuc21hbGwtdXAtMS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLnNtYWxsLXVwLTEuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5zbWFsbC11cC0xLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC11cC0xLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5zbWFsbC11cC0xLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTIuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC0yLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gIGZvb3RlciAuc21hbGwtdXAtMi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtdXAtMi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIGZvb3RlciAuc21hbGwtdXAtMi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTMuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC0zLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gIGZvb3RlciAuc21hbGwtdXAtMy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtdXAtMy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIGZvb3RlciAuc21hbGwtdXAtMy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTQuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC00LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gIGZvb3RlciAuc21hbGwtdXAtNC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtdXAtNC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIGZvb3RlciAuc21hbGwtdXAtNC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTUuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC01LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gIGZvb3RlciAuc21hbGwtdXAtNS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtdXAtNS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIGZvb3RlciAuc21hbGwtdXAtNS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTYuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC02LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gIGZvb3RlciAuc21hbGwtdXAtNi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtdXAtNi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIGZvb3RlciAuc21hbGwtdXAtNi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTcuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC03LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gIGZvb3RlciAuc21hbGwtdXAtNy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtdXAtNy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIGZvb3RlciAuc21hbGwtdXAtNy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsLCBmb290ZXIgLnNtYWxsLXVwLTguZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5zbWFsbC11cC04LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmZvb3Rlci1jb250YWN0LWluZm8sXG4gIGZvb3RlciAuc21hbGwtdXAtOC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtdXAtOC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIGZvb3RlciAuc21hbGwtdXAtOC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsLCBmb290ZXIgLm1lZGl1bS11cC0xLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLm1lZGl1bS11cC0xLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuICBmb290ZXIgLm1lZGl1bS11cC0xLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLnN1YnNjcmliZSwgZm9vdGVyIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubWVkaXVtLXVwLTEuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zdWJzY3JpYmUsIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyBmb290ZXIgLm1lZGl1bS11cC0xLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCwgZm9vdGVyIC5tZWRpdW0tdXAtMi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5tZWRpdW0tdXAtMi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5tZWRpdW0tdXAtMi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLm1lZGl1bS11cC0yLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5tZWRpdW0tdXAtMi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCwgZm9vdGVyIC5tZWRpdW0tdXAtMy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5tZWRpdW0tdXAtMy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5tZWRpdW0tdXAtMy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLm1lZGl1bS11cC0zLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5tZWRpdW0tdXAtMy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCwgZm9vdGVyIC5tZWRpdW0tdXAtNC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5tZWRpdW0tdXAtNC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5tZWRpdW0tdXAtNC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLm1lZGl1bS11cC00LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5tZWRpdW0tdXAtNC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCwgZm9vdGVyIC5tZWRpdW0tdXAtNS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5tZWRpdW0tdXAtNS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5tZWRpdW0tdXAtNS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLm1lZGl1bS11cC01LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5tZWRpdW0tdXAtNS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCwgZm9vdGVyIC5tZWRpdW0tdXAtNi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5tZWRpdW0tdXAtNi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5tZWRpdW0tdXAtNi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLm1lZGl1bS11cC02LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5tZWRpdW0tdXAtNi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCwgZm9vdGVyIC5tZWRpdW0tdXAtNy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5tZWRpdW0tdXAtNy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5tZWRpdW0tdXAtNy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLm1lZGl1bS11cC03LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5tZWRpdW0tdXAtNy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCwgZm9vdGVyIC5tZWRpdW0tdXAtOC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5mb290ZXItbmF2aWdhdGlvbiwgZm9vdGVyIC5tZWRpdW0tdXAtOC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5tZWRpdW0tdXAtOC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLm1lZGl1bS11cC04LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5tZWRpdW0tdXAtOC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnN1YnNjcmliZSB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAycmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCwgZm9vdGVyIC5sYXJnZS11cC0xLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuZm9vdGVyLW5hdmlnYXRpb24sIGZvb3RlciAubGFyZ2UtdXAtMS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5mb290ZXItY29udGFjdC1pbmZvLFxuICBmb290ZXIgLmxhcmdlLXVwLTEuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5zdWJzY3JpYmUsIGZvb3RlciAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmxhcmdlLXVwLTEuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zdWJzY3JpYmUsIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyBmb290ZXIgLmxhcmdlLXVwLTEuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zdWJzY3JpYmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwsIGZvb3RlciAubGFyZ2UtdXAtMi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmxhcmdlLXVwLTIuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5sYXJnZS11cC0yLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS11cC0yLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5sYXJnZS11cC0yLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwsIGZvb3RlciAubGFyZ2UtdXAtMy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmxhcmdlLXVwLTMuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5sYXJnZS11cC0zLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS11cC0zLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5sYXJnZS11cC0zLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwsIGZvb3RlciAubGFyZ2UtdXAtNC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmxhcmdlLXVwLTQuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5sYXJnZS11cC00LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS11cC00LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5sYXJnZS11cC00LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwsIGZvb3RlciAubGFyZ2UtdXAtNS5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmxhcmdlLXVwLTUuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5sYXJnZS11cC01LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS11cC01LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5sYXJnZS11cC01LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwsIGZvb3RlciAubGFyZ2UtdXAtNi5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmxhcmdlLXVwLTYuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5sYXJnZS11cC02LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS11cC02LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5sYXJnZS11cC02LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwsIGZvb3RlciAubGFyZ2UtdXAtNy5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmxhcmdlLXVwLTcuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5sYXJnZS11cC03LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS11cC03LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5sYXJnZS11cC03LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwsIGZvb3RlciAubGFyZ2UtdXAtOC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLCBmb290ZXIgLmxhcmdlLXVwLTguZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyxcbiAgZm9vdGVyIC5sYXJnZS11cC04LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuc3Vic2NyaWJlLCBmb290ZXIgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS11cC04LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgZm9vdGVyIC5sYXJnZS11cC04LmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc3Vic2NyaWJlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmZvb3Rlci1jb250YWN0LWluZm8ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51IC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiBsaSB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gICAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuZmllbGQubmV3c2xldHRlciB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5zdWJzY3JpYmUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gICAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zdWJzY3JpYmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5mb290ZXItY29udGFjdC1pbmZvIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiBsaSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmZpZWxkLm5ld3NsZXR0ZXIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICAgIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5zdWJzY3JpYmUge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gICAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc3Vic2NyaWJlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmZvb3Rlci1jb250YWN0LWluZm8ge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51IC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiBsaSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5mb290ZXItY29udGFjdC1pbmZvIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5maWVsZC5uZXdzbGV0dGVyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLnN1YnNjcmliZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDFyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDFyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxcmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDFyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxcmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNywgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDFyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxcmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDFyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDFyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxcmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDFyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxcmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDFyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxcmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTksIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDFyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxcmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQteSA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLXkgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLXkgPiAuc3Vic2NyaWJlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLmF1dG8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC15ID4gLnN1YnNjcmliZSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLXkgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC15ID4gLmZvb3Rlci1jb250YWN0LWluZm8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgLmdyaWQteSA+IGxpLCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQteSA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQteSA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmdyaWQteSA+IC5maWVsZC5uZXdzbGV0dGVyLCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLXkgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC15ID4gLmZvb3Rlci1jb250YWN0LWluZm8ge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgLmdyaWQteSA+IGxpIHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC15ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICAgIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC15ID4gLmZvb3Rlci1jb250YWN0LWluZm8ge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTksIC5mb290ZXItY3VzdG9tZXItY2x1YiAuZ3JpZC15ID4gLmZpZWxkLm5ld3NsZXR0ZXIge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtcGFkZGluZy15ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLXBhZGRpbmcteSA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmdyaWQtcGFkZGluZy15ID4gLnN1YnNjcmliZSB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1wYWRkaW5nLXkgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gICAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLXBhZGRpbmcteSA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmdyaWQtcGFkZGluZy15ID4gLnN1YnNjcmliZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXkgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teSA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmdyaWQtbWFyZ2luLXkgPiAuc3Vic2NyaWJlIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi15ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICAgIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teSA+IC5mb290ZXItY29udGFjdC1pbmZvLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLmdyaWQtbWFyZ2luLXkgPiAuc3Vic2NyaWJlIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teSA+IC5zdWJzY3JpYmUge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi15ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXkgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teSA+IC5zdWJzY3JpYmUge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teSA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXkgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51IC5ncmlkLW1hcmdpbi15ID4gbGkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teSA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgICBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXkgPiAuZm9vdGVyLWNvbnRhY3QtaW5mbyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5ncmlkLW1hcmdpbi15ID4gLmZpZWxkLm5ld3NsZXR0ZXIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1uYXZpZ2F0aW9uIC5ncmlkLWZyYW1lLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1jb250YWN0LWluZm8gLmdyaWQtZnJhbWUsIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc3Vic2NyaWJlIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14LCBmb290ZXIgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuYWNjb3JkaW9uLW1lbnUsIC5mb290ZXItY3VzdG9tZXItY2x1YiAubmV3c2xldHRlciAuY2VsbC1ibG9jay1jb250YWluZXIgPiBmb3JtLnN1YnNjcmliZSB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZm9vdGVyLW5hdmlnYXRpb24gLm1lZGl1bS1ncmlkLWZyYW1lLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1jb250YWN0LWluZm8gLm1lZGl1bS1ncmlkLWZyYW1lLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLnN1YnNjcmliZSAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgsIGZvb3RlciAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmFjY29yZGlvbi1tZW51LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IGZvcm0uc3Vic2NyaWJlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZm9vdGVyLW5hdmlnYXRpb24gLmxhcmdlLWdyaWQtZnJhbWUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZm9vdGVyLWNvbnRhY3QtaW5mbyAubGFyZ2UtZ3JpZC1mcmFtZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zdWJzY3JpYmUgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgsIGZvb3RlciAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5hY2NvcmRpb24tbWVudSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IGZvcm0uc3Vic2NyaWJlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZm9vdGVyLW5hdmlnYXRpb24gLmdyaWQteS5ncmlkLWZyYW1lLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1jb250YWN0LWluZm8gLmdyaWQteS5ncmlkLWZyYW1lLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLnN1YnNjcmliZSAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5mb290ZXItbmF2aWdhdGlvbiAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1jb250YWN0LWluZm8gLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zdWJzY3JpYmUgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1uYXZpZ2F0aW9uIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5mb290ZXItY29udGFjdC1pbmZvIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSwgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zdWJzY3JpYmUgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teSA+IC5mb290ZXItbmF2aWdhdGlvbixcbiAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi15ID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teSA+IC5zdWJzY3JpYmUge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXkgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gICAgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi15ID4gLmZvb3Rlci1jb250YWN0LWluZm8sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuZ3JpZC1tYXJnaW4teSA+IC5zdWJzY3JpYmUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0bywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi15ID4gLnN1YnNjcmliZSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmdyaWQtbWFyZ2luLXkgPiAuZm9vdGVyLW5hdmlnYXRpb24sXG4gIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teSA+IC5mb290ZXItY29udGFjdC1pbmZvIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0bywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5ncmlkLW1hcmdpbi15ID4gLnN1YnNjcmliZSB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi15ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICAgIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teSA+IC5mb290ZXItY29udGFjdC1pbmZvIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQsIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuYWNjb3JkaW9uLW1lbnUgLmdyaWQtbWFyZ2luLXkgPiBsaSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiwgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5ncmlkLW1hcmdpbi15ID4gLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICAgIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZ3JpZC1tYXJnaW4teSA+IC5mb290ZXItY29udGFjdC1pbmZvIHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05LCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmdyaWQtbWFyZ2luLXkgPiAuZmllbGQubmV3c2xldHRlciB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDJyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDJyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDJyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbi5wcm9kdWN0LXZpZXctZXh0ZW5kIC5kZXNjcmlwdGlvbiAudHlwZSxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjYxODtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCxcbi5wcm9kdWN0LXZpZXctZXh0ZW5kIC5kZXNjcmlwdGlvbiAudHlwZSwgLmg0LCAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLnN0ZXAtdGl0bGUsIC5jYXJkLWRpdmlkZXIsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQ0ZyYW5rbGluR290aGljXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgLnByb2R1Y3Qtdmlldy1leHRlbmQgLmRlc2NyaXB0aW9uIC50eXBlIHNtYWxsLCAuaDQgc21hbGwsIC5jaGVja291dC1pbmRleC1pbmRleCAuc3RlcC10aXRsZSBzbWFsbCwgLmNhcmQtZGl2aWRlciBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICM4QThEOTY7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuXG5oNCxcbi5wcm9kdWN0LXZpZXctZXh0ZW5kIC5kZXNjcmlwdGlvbiAudHlwZSwgLmg0LCAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLnN0ZXAtdGl0bGUsIC5jYXJkLWRpdmlkZXIge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICBcbiAgaDQsXG4gIC5wcm9kdWN0LXZpZXctZXh0ZW5kIC5kZXNjcmlwdGlvbiAudHlwZSwgLmg0LCAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLnN0ZXAtdGl0bGUsIC5jYXJkLWRpdmlkZXIge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMwMDM2NjA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAyZTUzOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3OS41cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkYmUwO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42MTg7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwIDMuNzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzlGQTZBRDsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYxODtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICM4QThEOTY7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMDAwMDAwO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5RkE2QUQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmRiZTA7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZGJlMDtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4QThEOTY7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDExMi41JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjE4OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciwgLnBhZ2UtaGVhZGVyIGhlYWRlciAubG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCwgLnBhZ2UtaGVhZGVyIGhlYWRlciAubG9nbyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4QThEOTY7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNjYwO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNjYwO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2UsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5jb250aW51ZSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNoZWNrb3V0IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDRkODk7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnByaW1hcnlEYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRTUyO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5RGFyazpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5RGFyazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NjdkO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOTVmMTM7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkNmUyODtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uY3RhLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5idXR0b24uY29udGludWUsIC5jaGVja291dC1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi5jaGVja291dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA0M0E2MztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uY3RhOmhvdmVyLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5idXR0b24uY29udGludWU6aG92ZXIsIC5jaGVja291dC1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi5jaGVja291dDpob3ZlciwgLmJ1dHRvbi5jdGE6Zm9jdXMsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5jb250aW51ZTpmb2N1cywgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNoZWNrb3V0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjUxOGE7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnN0b25lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzQTQzO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5zdG9uZTpob3ZlciwgLmJ1dHRvbi5zdG9uZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc0ZDU5O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDQwO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTY1MztcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQzgwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmNlMWE7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUY1OTU5O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjE2YTZhO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi53aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ud2hpdGU6aG92ZXIsIC5idXR0b24ud2hpdGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5ibGFjazpob3ZlciwgLmJ1dHRvbi5ibGFjazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi5waW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTNCOUQzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5waW5rOmhvdmVyLCAuYnV0dG9uLnBpbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2YzBkNztcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24ucmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYxNTAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5yZWQ6aG92ZXIsIC5idXR0b24ucmVkOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjJjMWE7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNjYwO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNjYwO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeURhcmssIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnlEYXJrIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnlEYXJrLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnlEYXJrOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnlEYXJrOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5RGFyaywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeURhcms6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnlEYXJrOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkU1MjtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U5NWYxMztcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmN0YSwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmRpc2FibGVkLmNvbnRpbnVlLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQuY2hlY2tvdXQsIC5idXR0b25bZGlzYWJsZWRdLmN0YSwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNvbnRpbnVlW2Rpc2FibGVkXSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNoZWNrb3V0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5jdGEsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZC5jb250aW51ZSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmRpc2FibGVkLmNoZWNrb3V0LCAuYnV0dG9uLmRpc2FibGVkLmN0YTpob3ZlciwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmRpc2FibGVkLmNvbnRpbnVlOmhvdmVyLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQuY2hlY2tvdXQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuY3RhOmZvY3VzLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQuY29udGludWU6Zm9jdXMsIC5jaGVja291dC1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZC5jaGVja291dDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uY3RhLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5idXR0b24uY29udGludWVbZGlzYWJsZWRdLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uY2hlY2tvdXRbZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXS5jdGE6aG92ZXIsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5jb250aW51ZVtkaXNhYmxlZF06aG92ZXIsIC5jaGVja291dC1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi5jaGVja291dFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmN0YTpmb2N1cywgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNvbnRpbnVlW2Rpc2FibGVkXTpmb2N1cywgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNoZWNrb3V0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDNBNjM7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdG9uZSwgLmJ1dHRvbltkaXNhYmxlZF0uc3RvbmUge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3RvbmUsIC5idXR0b24uZGlzYWJsZWQuc3RvbmU6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3RvbmU6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN0b25lLCAuYnV0dG9uW2Rpc2FibGVkXS5zdG9uZTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3RvbmU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzQTQzO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgwNDA7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQzgwMDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRjU5NTk7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53aGl0ZSwgLmJ1dHRvbltkaXNhYmxlZF0ud2hpdGUge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2hpdGUsIC5idXR0b24uZGlzYWJsZWQud2hpdGU6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2hpdGU6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndoaXRlLCAuYnV0dG9uW2Rpc2FibGVkXS53aGl0ZTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2hpdGU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYmxhY2ssIC5idXR0b25bZGlzYWJsZWRdLmJsYWNrIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmJsYWNrLCAuYnV0dG9uLmRpc2FibGVkLmJsYWNrOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmJsYWNrOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5ibGFjaywgLmJ1dHRvbltkaXNhYmxlZF0uYmxhY2s6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmJsYWNrOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnBpbmssIC5idXR0b25bZGlzYWJsZWRdLnBpbmsge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucGluaywgLmJ1dHRvbi5kaXNhYmxlZC5waW5rOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnBpbms6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnBpbmssIC5idXR0b25bZGlzYWJsZWRdLnBpbms6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnBpbms6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTNCOUQzO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucmVkLCAuYnV0dG9uW2Rpc2FibGVkXS5yZWQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucmVkLCAuYnV0dG9uLmRpc2FibGVkLnJlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5yZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnJlZCwgLmJ1dHRvbltkaXNhYmxlZF0ucmVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5yZWQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYxNTAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMzY2MDtcbiAgICBjb2xvcjogIzAwMzY2MDsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMzY2MDtcbiAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMzY2MDtcbiAgICAgICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgICBjb2xvcjogIzAwMzY2MDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMzY2MDtcbiAgICAgICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAzNjYwO1xuICAgICAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeURhcmsge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMkU1MjtcbiAgICAgIGNvbG9yOiAjMDAyRTUyOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5RGFyazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeURhcms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDJlNTI7XG4gICAgICAgIGNvbG9yOiAjMDAyZTUyOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnlEYXJrOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5RGFyazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnlEYXJrOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5RGFyazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDJFNTI7XG4gICAgICAgICAgY29sb3I6ICMwMDJFNTI7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2U5NWYxMztcbiAgICAgIGNvbG9yOiAjZTk1ZjEzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2U5NWYxMztcbiAgICAgICAgY29sb3I6ICNlOTVmMTM7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlOTVmMTM7XG4gICAgICAgICAgY29sb3I6ICNlOTVmMTM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5jdGEsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5ob2xsb3cuY29udGludWUsIC5jaGVja291dC1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi5ob2xsb3cuY2hlY2tvdXQge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzA0M0E2MztcbiAgICAgIGNvbG9yOiAjMDQzQTYzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5jdGE6aG92ZXIsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5ob2xsb3cuY29udGludWU6aG92ZXIsIC5jaGVja291dC1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi5ob2xsb3cuY2hlY2tvdXQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmN0YTpmb2N1cywgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmhvbGxvdy5jb250aW51ZTpmb2N1cywgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmhvbGxvdy5jaGVja291dDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzA0M2E2MztcbiAgICAgICAgY29sb3I6ICMwNDNhNjM7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuY3RhOmhvdmVyLmRpc2FibGVkLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5idXR0b24uaG9sbG93LmNvbnRpbnVlOmhvdmVyLmRpc2FibGVkLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uaG9sbG93LmNoZWNrb3V0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5jdGE6aG92ZXJbZGlzYWJsZWRdLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5idXR0b24uaG9sbG93LmNvbnRpbnVlOmhvdmVyW2Rpc2FibGVkXSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmhvbGxvdy5jaGVja291dDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmN0YTpmb2N1cy5kaXNhYmxlZCwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmhvbGxvdy5jb250aW51ZTpmb2N1cy5kaXNhYmxlZCwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmhvbGxvdy5jaGVja291dDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuY3RhOmZvY3VzW2Rpc2FibGVkXSwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmhvbGxvdy5jb250aW51ZTpmb2N1c1tkaXNhYmxlZF0sIC5jaGVja291dC1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi5ob2xsb3cuY2hlY2tvdXQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDQzQTYzO1xuICAgICAgICAgIGNvbG9yOiAjMDQzQTYzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3RvbmUge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzM2M0E0MztcbiAgICAgIGNvbG9yOiAjMzYzQTQzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdG9uZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3RvbmU6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzNjNhNDM7XG4gICAgICAgIGNvbG9yOiAjMzYzYTQzOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnN0b25lOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdG9uZTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN0b25lOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdG9uZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMzNjNBNDM7XG4gICAgICAgICAgY29sb3I6ICMzNjNBNDM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDgwNDA7XG4gICAgICBjb2xvcjogIzAwODA0MDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwODA0MDtcbiAgICAgICAgY29sb3I6ICMwMDgwNDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA4MDQwO1xuICAgICAgICAgIGNvbG9yOiAjMDA4MDQwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjRkZDODAwO1xuICAgICAgY29sb3I6ICNGRkM4MDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmM4MDA7XG4gICAgICAgIGNvbG9yOiAjZmZjODAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0ZGQzgwMDtcbiAgICAgICAgICBjb2xvcjogI0ZGQzgwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNFRjU5NTk7XG4gICAgICBjb2xvcjogI0VGNTk1OTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWY1OTU5O1xuICAgICAgICBjb2xvcjogI2VmNTk1OTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjRUY1OTU5O1xuICAgICAgICAgIGNvbG9yOiAjRUY1OTU5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI0ZGRkZGRjtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53aGl0ZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2hpdGU6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2hpdGU6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LndoaXRlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2hpdGU6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LndoaXRlOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0ZGRkZGRjtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uaG9sbG93LmJsYWNrIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYmxhY2s6aG92ZXIsIC5idXR0b24uaG9sbG93LmJsYWNrOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmJsYWNrOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5ibGFjazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmJsYWNrOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5ibGFjazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5waW5rIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNFM0I5RDM7XG4gICAgICBjb2xvcjogI0UzQjlEMzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2UzYjlkMztcbiAgICAgICAgY29sb3I6ICNlM2I5ZDM7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnBpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnBpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjRTNCOUQzO1xuICAgICAgICAgIGNvbG9yOiAjRTNCOUQzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucmVkIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZjE1MDA7XG4gICAgICBjb2xvcjogI2ZmMTUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucmVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5yZWQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjE1MDA7XG4gICAgICAgIGNvbG9yOiAjZmYxNTAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnJlZDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucmVkOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucmVkOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5yZWQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmYxNTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmYxNTAwOyB9XG4gIC5idXR0b24uY2xlYXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAzNjYwO1xuICAgICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgICAgIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgICBjb2xvcjogIzAwMzY2MDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDM2NjA7XG4gICAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAzNjYwO1xuICAgICAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucHJpbWFyeURhcmsge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMkU1MjtcbiAgICAgIGNvbG9yOiAjMDAyRTUyOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnlEYXJrOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlEYXJrOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAyZTUyO1xuICAgICAgICBjb2xvcjogIzAwMmU1MjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnlEYXJrOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlEYXJrOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5RGFyazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5RGFyazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDJFNTI7XG4gICAgICAgICAgY29sb3I6ICMwMDJFNTI7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeURhcmssIC5idXR0b24uY2xlYXIucHJpbWFyeURhcmsuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeURhcmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlEYXJrOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlEYXJrOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlEYXJrOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5RGFyazpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5RGFyazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5RGFyazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2U5NWYxMztcbiAgICAgIGNvbG9yOiAjZTk1ZjEzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICNlOTVmMTM7XG4gICAgICAgIGNvbG9yOiAjZTk1ZjEzOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlOTVmMTM7XG4gICAgICAgICAgY29sb3I6ICNlOTVmMTM7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5jdGEsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5jbGVhci5jb250aW51ZSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNsZWFyLmNoZWNrb3V0IHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwNDNBNjM7XG4gICAgICBjb2xvcjogIzA0M0E2MzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5jdGE6aG92ZXIsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5jbGVhci5jb250aW51ZTpob3ZlciwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNsZWFyLmNoZWNrb3V0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmN0YTpmb2N1cywgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNsZWFyLmNvbnRpbnVlOmZvY3VzLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uY2xlYXIuY2hlY2tvdXQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwNDNhNjM7XG4gICAgICAgIGNvbG9yOiAjMDQzYTYzOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuY3RhOmhvdmVyLmRpc2FibGVkLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5idXR0b24uY2xlYXIuY29udGludWU6aG92ZXIuZGlzYWJsZWQsIC5jaGVja291dC1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi5jbGVhci5jaGVja291dDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5jdGE6aG92ZXJbZGlzYWJsZWRdLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5idXR0b24uY2xlYXIuY29udGludWU6aG92ZXJbZGlzYWJsZWRdLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uY2xlYXIuY2hlY2tvdXQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmN0YTpmb2N1cy5kaXNhYmxlZCwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNsZWFyLmNvbnRpbnVlOmZvY3VzLmRpc2FibGVkLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uY2xlYXIuY2hlY2tvdXQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuY3RhOmZvY3VzW2Rpc2FibGVkXSwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNsZWFyLmNvbnRpbnVlOmZvY3VzW2Rpc2FibGVkXSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNsZWFyLmNoZWNrb3V0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzA0M0E2MztcbiAgICAgICAgICBjb2xvcjogIzA0M0E2MzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5jdGEsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5jbGVhci5jb250aW51ZSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNsZWFyLmNoZWNrb3V0LCAuYnV0dG9uLmNsZWFyLmN0YS5kaXNhYmxlZCwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNsZWFyLmRpc2FibGVkLmNvbnRpbnVlLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uY2xlYXIuZGlzYWJsZWQuY2hlY2tvdXQsIC5idXR0b24uY2xlYXIuY3RhW2Rpc2FibGVkXSwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNsZWFyLmNvbnRpbnVlW2Rpc2FibGVkXSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNsZWFyLmNoZWNrb3V0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5jdGE6aG92ZXIsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5jbGVhci5jb250aW51ZTpob3ZlciwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNsZWFyLmNoZWNrb3V0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmN0YTpob3Zlci5kaXNhYmxlZCwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNsZWFyLmNvbnRpbnVlOmhvdmVyLmRpc2FibGVkLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uY2xlYXIuY2hlY2tvdXQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuY3RhOmhvdmVyW2Rpc2FibGVkXSwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNsZWFyLmNvbnRpbnVlOmhvdmVyW2Rpc2FibGVkXSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNsZWFyLmNoZWNrb3V0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5jdGE6Zm9jdXMsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5jbGVhci5jb250aW51ZTpmb2N1cywgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNsZWFyLmNoZWNrb3V0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmN0YTpmb2N1cy5kaXNhYmxlZCwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNsZWFyLmNvbnRpbnVlOmZvY3VzLmRpc2FibGVkLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uY2xlYXIuY2hlY2tvdXQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuY3RhOmZvY3VzW2Rpc2FibGVkXSwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLmNsZWFyLmNvbnRpbnVlOmZvY3VzW2Rpc2FibGVkXSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLmNsZWFyLmNoZWNrb3V0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN0b25lIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMzNjNBNDM7XG4gICAgICBjb2xvcjogIzM2M0E0MzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdG9uZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdG9uZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM2M2E0MztcbiAgICAgICAgY29sb3I6ICMzNjNhNDM7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdG9uZTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdG9uZTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3RvbmU6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3RvbmU6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMzYzQTQzO1xuICAgICAgICAgIGNvbG9yOiAjMzYzQTQzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN0b25lLCAuYnV0dG9uLmNsZWFyLnN0b25lLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN0b25lW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdG9uZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdG9uZTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdG9uZTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3RvbmU6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3RvbmU6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3RvbmU6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA4MDQwO1xuICAgICAgY29sb3I6ICMwMDgwNDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA4MDQwO1xuICAgICAgICBjb2xvcjogIzAwODA0MDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwODA0MDtcbiAgICAgICAgICBjb2xvcjogIzAwODA0MDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI0ZGQzgwMDtcbiAgICAgIGNvbG9yOiAjRkZDODAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmYzgwMDtcbiAgICAgICAgY29sb3I6ICNmZmM4MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkM4MDA7XG4gICAgICAgICAgY29sb3I6ICNGRkM4MDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5hbGVydCB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjRUY1OTU5O1xuICAgICAgY29sb3I6ICNFRjU5NTk7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZjU5NTk7XG4gICAgICAgIGNvbG9yOiAjZWY1OTU5OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0VGNTk1OTtcbiAgICAgICAgICBjb2xvcjogI0VGNTk1OTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLndoaXRlIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkZGRkY7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53aGl0ZTpob3ZlciwgLmJ1dHRvbi5jbGVhci53aGl0ZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndoaXRlOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndoaXRlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53aGl0ZTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53aGl0ZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkZGRkY7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2hpdGUsIC5idXR0b24uY2xlYXIud2hpdGUuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2hpdGVbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndoaXRlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndoaXRlOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndoaXRlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53aGl0ZTpmb2N1cywgLmJ1dHRvbi5jbGVhci53aGl0ZTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53aGl0ZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5ibGFjayB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYmxhY2s6aG92ZXIsIC5idXR0b24uY2xlYXIuYmxhY2s6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrO1xuICAgICAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5ibGFjazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5ibGFjazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYmxhY2s6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYmxhY2s6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmJsYWNrLCAuYnV0dG9uLmNsZWFyLmJsYWNrLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmJsYWNrW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5ibGFjazpob3ZlciwgLmJ1dHRvbi5jbGVhci5ibGFjazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5ibGFjazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYmxhY2s6Zm9jdXMsIC5idXR0b24uY2xlYXIuYmxhY2s6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYmxhY2s6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucGluayB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjRTNCOUQzO1xuICAgICAgY29sb3I6ICNFM0I5RDM7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5waW5rOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTNiOWQzO1xuICAgICAgICBjb2xvcjogI2UzYjlkMzsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnBpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5waW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0UzQjlEMztcbiAgICAgICAgICBjb2xvcjogI0UzQjlEMzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5waW5rLCAuYnV0dG9uLmNsZWFyLnBpbmsuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucGlua1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5waW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnBpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnBpbms6Zm9jdXMsIC5idXR0b24uY2xlYXIucGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5waW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnJlZCB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmYxNTAwO1xuICAgICAgY29sb3I6ICNmZjE1MDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucmVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnJlZDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmMTUwMDtcbiAgICAgICAgY29sb3I6ICNmZjE1MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5yZWQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucmVkOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5yZWQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucmVkOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmMTUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmMTUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5yZWQsIC5idXR0b24uY2xlYXIucmVkLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnJlZFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucmVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnJlZDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5yZWQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnJlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5yZWQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucmVkOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAzNjYwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAzNjYwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnlEYXJrOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMkU1MjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZTk1ZjEzOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmN0YTo6YWZ0ZXIsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuY29udGludWU6OmFmdGVyLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5idXR0b24uZHJvcGRvd24uaG9sbG93LmNoZWNrb3V0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzA0M0E2MzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdG9uZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzNjNBNDM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDgwNDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNGRkM4MDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRUY1OTU5OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LndoaXRlOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5ibGFjazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNFM0I5RDM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucmVkOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmMTUwMDsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMy4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuODc1cmVtIDFyZW0gMC44MTI1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDZkYmUwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZDZkYmUwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjOUZBNkFEO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM4QThEOTY7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjRGNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmRiZTA7XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG4gIGNvbG9yOiAjOEE4RDk2O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZGJlMDsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC44NzVyZW0gMXJlbSAwLjgxMjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkNmRiZTA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTQxLCAxNTAlMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkNmRiZTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICM5RkE2QUQ7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGNEY2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjRUY1OTU5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlZWVlOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNFRjU5NTk7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI0VGNTk1OTsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjRUY1OTU5OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAxMnB4OyB9XG4gIGlucHV0W3R5cGU9XCJyYW5nZVwiXTpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl1bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGhlaWdodDogMC4zMTNyZW07XG4gICAgYmFja2dyb3VuZDogI2Q2ZGJlMDsgfVxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi13ZWJraXQtc2xpZGVyLWhhbmRsZSB7XG4gICAgd2lkdGg6IDEuMzEzcmVtO1xuICAgIGhlaWdodDogMS4zMTNyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4OyB9XG4gIGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgaGVpZ2h0OiAwLjMxM3JlbTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2Q2ZGJlMDsgfVxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAxLjMxM3JlbTtcbiAgICBoZWlnaHQ6IDEuMzEzcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDsgfVxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tcy10cmFjayB7XG4gICAgaGVpZ2h0OiAwLjMxM3JlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMC41cmVtIHNvbGlkICNGMUY0ZjY7XG4gICAgYm9yZGVyLWJvdHRvbTogMC41cmVtIHNvbGlkICNGMUY0ZjY7XG4gICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbXMtdGh1bWIge1xuICAgIHdpZHRoOiAxLjMxM3JlbTtcbiAgICBoZWlnaHQ6IDEuMzEzcmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7IH1cbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogIzAwMkU1MjsgfVxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwOyB9XG4gIG91dHB1dCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEzcmVtOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMDMxMzIxOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwIDAgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGQUZEO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMi41cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzAzMTMyMTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIuKGklwiO1xuICAgICAgY29sb3I6ICM5RkE2QUQ7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMDMxMzIxOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNkNmRiZTA7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5idXR0b24tZ3JvdXAuY29udGludWUgLmJ1dHRvbiwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmNoZWNrb3V0IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM2NjA7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNGQ4OTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeURhcmsgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkU1MjtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeURhcmsgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5RGFyayAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQ2N2Q7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTk1ZjEzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQ2ZTI4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jdGEgLmJ1dHRvbiwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLWdyb3VwLmNvbnRpbnVlIC5idXR0b24sIC5jaGVja291dC1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jaGVja291dCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzQTYzO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5jdGEgLmJ1dHRvbjpob3ZlciwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uYnV0dG9uLWdyb3VwLmNvbnRpbnVlIC5idXR0b246aG92ZXIsIC5jaGVja291dC1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jaGVja291dCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmN0YSAuYnV0dG9uOmZvY3VzLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5idXR0b24tZ3JvdXAuY29udGludWUgLmJ1dHRvbjpmb2N1cywgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmNoZWNrb3V0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2NTE4YTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RvbmUgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM2M0E0MztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RvbmUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdG9uZSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NzRkNTk7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODA0MDtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNjUzO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkM4MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2UxYTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VGNTk1OTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMTZhNmE7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLndoaXRlIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndoaXRlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2hpdGUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuYmxhY2sgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24tZ3JvdXAuYmxhY2sgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ibGFjayAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLWdyb3VwLnBpbmsgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UzQjlEMztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucGluayAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnBpbmsgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZjMGQ3O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5yZWQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMTUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmVkIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucmVkIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMmMxYTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAyLjVyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICBjb2xvcjogI0YxRjRmNjsgfVxuICAuY2FsbG91dC5wcmltYXJ5RGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMmU1MjtcbiAgICBjb2xvcjogI0YxRjRmNjsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOTVmMTM7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuY3RhLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5jYWxsb3V0LmNvbnRpbnVlLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5jYWxsb3V0LmNoZWNrb3V0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzYTYzO1xuICAgIGNvbG9yOiAjRjFGNGY2OyB9XG4gIC5jYWxsb3V0LnN0b25lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYTQzO1xuICAgIGNvbG9yOiAjRjFGNGY2OyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgwNDA7XG4gICAgY29sb3I6ICNGMUY0ZjY7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzgwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmNTk1OTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC53aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIGNvbG9yOiAjRjFGNGY2OyB9XG4gIC5jYWxsb3V0LnBpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlM2I5ZDM7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQucmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYxNTAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5jYWxsb3V0LmNvbnRpbnVlLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5jYWxsb3V0LmNoZWNrb3V0IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCwgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmRiZTA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQsIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuc2hpcHBpbmctYWRkcmVzcy1pdGVtID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjY2NjY3cmVtO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDAuNjY2NjdyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOEE4RDk2O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuMzNyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDAuNXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzAwMzY2MDtcbiAgICBjb2xvcjogIzBFNTU4RDsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzAwMzY2MDtcbiAgICBjb2xvcjogIzBFNTU4RDsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNGRkZGRkYsIDAgMTRweCAwICNGRkZGRkY7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5RkE2QUQ7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOUZBNkFELCAwIDE0cHggMCAjOUZBNkFEOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMDAwMDAwLCAwIDE0cHggMCAjMDAwMDAwO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM4QThEOTY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOEE4RDk2LCAwIDE0cHggMCAjOEE4RDk2OyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZjsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiA1MDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkYmUwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5kcm9wZG93bi1wYW5lLmNvbnRpbnVlLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bi1wYW5lLmNoZWNrb3V0IHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4uZHJvcGRvd24ubWVudSBhIHtcbiAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMzY2MDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmZmY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZjsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZGJlMDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmZmZmOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGZvbnQtc2l6ZTogMC42ODhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMwMDM2NjA7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAzNjYwO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5wcmltYXJ5RGFyayB7XG4gICAgYmFja2dyb3VuZDogIzAwMkU1MjtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZTk1ZjEzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5sYWJlbC5jdGEsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLmxhYmVsLmNvbnRpbnVlLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5sYWJlbC5jaGVja291dCB7XG4gICAgYmFja2dyb3VuZDogIzA0M0E2MztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwuc3RvbmUge1xuICAgIGJhY2tncm91bmQ6ICMzNjNBNDM7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMwMDgwNDA7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNGRkM4MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjRUY1OTU5O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5sYWJlbC53aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubGFiZWwuYmxhY2sge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLnBpbmsge1xuICAgIGJhY2tncm91bmQ6ICNFM0I5RDM7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxhYmVsLnJlZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmMTUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDU2LCA1NiwgNTYsIDAuNyk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogNXB4IDAgMTVweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiA1cHggMCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03NSUpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03NSUpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3NSUpOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogNzUlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNzUlKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNzUlKTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNzUlKTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDc1JTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3NSU7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogNzUlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogNzUlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1JTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNzUlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNzUlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDc1JTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogNzUlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1JTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOUZBNkFEOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4QThEOTY7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4QThEOTY7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgY29sb3I6ICM5RkE2QUQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogbm9uZTtcbiAgICBjb2xvcjogI2Q2ZGJlMDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IG5vbmU7XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICM5RkE2QUQ7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAwLjMxM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZGJlMDsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM2NjA7IH1cbiAgLnByb2dyZXNzLnByaW1hcnlEYXJrIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkU1MjsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5NWYxMzsgfVxuICAucHJvZ3Jlc3MuY3RhIC5wcm9ncmVzcy1tZXRlciwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24ucHJvZ3Jlc3MuY29udGludWUgLnByb2dyZXNzLW1ldGVyLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5wcm9ncmVzcy5jaGVja291dCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDNBNjM7IH1cbiAgLnByb2dyZXNzLnN0b25lIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM2M0E0MzsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgwNDA7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDODAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFRjU5NTk7IH1cbiAgLnByb2dyZXNzLndoaXRlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAucHJvZ3Jlc3MuYmxhY2sgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC5wcm9ncmVzcy5waW5rIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UzQjlEMzsgfVxuICAucHJvZ3Jlc3MucmVkIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMTUwMDsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkU1MjtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuMzEzcmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkYmUwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuMzEzcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRTUyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuMzEzcmVtO1xuICBoZWlnaHQ6IDEuMzEzcmVtO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5OyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuMzEzcmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjMxM3JlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjMxM3JlbTtcbiAgICBoZWlnaHQ6IDEuMzEzcmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU0LCA1OCwgNjcsIDAuOCk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDY0MHB4O1xuICAgICAgbWF4LXdpZHRoOiA3OS41cmVtOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3OS41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc5LjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2UsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLnJldmVhbC5jb250aW51ZSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24ucmV2ZWFsLmNoZWNrb3V0IHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDc5LjVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMuNzVyZW07XG4gIGhlaWdodDogMS44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4xMjVyZW07XG4gICAgbGVmdDogMC4xMjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNjI1cmVtO1xuICAgIGhlaWdodDogMS42MjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzAwODA0MDsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMnJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMTI1cmVtO1xuICAgIGxlZnQ6IDAuMTI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS42MjVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4xMjVyZW07XG4gICAgbGVmdDogMC4xMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuODc1cmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgYnV0dG9uLnN3aXRjaC5jb250aW51ZSwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uc3dpdGNoLmNoZWNrb3V0IHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uc3dpdGNoLmNvbnRpbnVlIC5zd2l0Y2gtcGFkZGxlLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5zd2l0Y2guY2hlY2tvdXQgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciwgLmNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBidXR0b24uc3dpdGNoLmNvbnRpbnVlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uc3dpdGNoLmNoZWNrb3V0IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjEyNXJlbTtcbiAgICBsZWZ0OiAwLjEyNXJlbTtcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5zd2l0Y2guY29udGludWUgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciwgLmNoZWNrb3V0LWNvbnRhaW5lciBidXR0b24uc3dpdGNoLmNoZWNrb3V0IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNjI1cmVtOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZGJlMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMC42MjVyZW0gMS4zMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwLjYyNXJlbSAxLjMxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwLjYyNXJlbSAxLjMxMjVyZW07IH1cbiAgdGJvZHkgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmRiZTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICB0YWJsZS5zdHJpcGVkIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYzsgfVxuXG50YWJsZS5ob3Zlci5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMDAzNjYwOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA0Mjc1OyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDEuMjVyZW0gMXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCBub25lO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW0gMCAwIDA7IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogc29saWQgNHB4ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMCwgNTQsIDk2LCAwLjUpOyB9XG4gIGEudGh1bWJuYWlsIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMyNjJhMzI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzhBOEQ5NjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuMTg3NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTJyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM4LCAzOSwgNDAsIDAuOSk7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuMzc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2JhKDM4LCAzOSwgNDAsIDAuOSk7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC4zNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMzgsIDM5LCA0MCwgMC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLnRvcC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuMzc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2JhKDM4LCAzOSwgNDAsIDAuOSk7XG4gICAgbGVmdDogMTAwJTsgfVxuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuMzc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCByZ2JhKDM4LCAzOSwgNDAsIDAuOSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyYTMyOyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uYmctb3JhbmdlIHtcbiAgYmFja2dyb3VuZDogI2U5NWYxMzsgfVxuXG4uYmctZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjNDFhNjJhOyB9XG5cbi5iZy1yZWQge1xuICBiYWNrZ3JvdW5kOiAjRUY1OTU5OyB9XG5cbi5iZy1saWdodGdyYXksXG4uYmctbGlnaHRncmV5IHtcbiAgYmFja2dyb3VuZDogI2Q2ZGJlMDsgfVxuXG4uY29sb3ItcmVkIHtcbiAgY29sb3I6ICNFRjU5NTk7IH1cblxuLmZvbnQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi53aGl0ZS1zcGFjZSxcbi5zcGFjZS10b3Age1xuICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud2hpdGUtc3BhY2UsXG4gICAgLnNwYWNlLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAud2hpdGUtc3BhY2UsXG4gICAgLnNwYWNlLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuXG4uc3BhY2UtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNwYWNlLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3BhY2UtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5zcGFjZS1ib3R0b20gaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4vKipcbiogQ1NTIGJhc2VkIGNoZXZyb24gKGFycm93KVxuKiBUT0RPIFN1cHBvcnQgYWxsIGRpcmVjdGlvbnMgKHRyYW5zZm9ybSwgc3dpdGNoIHByb3BlcnRpZXMpXG4qIFRPRE8gU2hvcnRlbiBhcmd1bWVudHMgbGlzdCB0aHJvdWdoICRtaXhpbi1kZWZhdWx0LXZhcmlhYmxlc1xuKiBUT0RPIFJlZmFjdG9yIHRoaXMgd2l0aCBAbWl4aW4gYGFycm93LWRvd25gXG4qKiovXG4uX2hpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJVENGcmFua2xpbkdvdGhpYyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaXRjZnJhbmtsaW5nb3RoaWMvSVRDRnJhbmtsaW5Hb3RoaWNCb29rLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaXRjZnJhbmtsaW5nb3RoaWMvSVRDRnJhbmtsaW5Hb3RoaWNCb29rLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0lUQ0ZyYW5rbGluR290aGljLUNkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pdGNmcmFua2xpbmdvdGhpYy9JVENGcmFua2xpbkdvdGhpY0Jvb2tDb25kZW5zZWQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pdGNmcmFua2xpbmdvdGhpYy9JVENGcmFua2xpbkdvdGhpY0Jvb2tDb25kZW5zZWQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSVRDRnJhbmtsaW5Hb3RoaWMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2l0Y2ZyYW5rbGluZ290aGljL0lUQ0ZyYW5rbGluR290aGljTWVkaXVtLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaXRjZnJhbmtsaW5nb3RoaWMvSVRDRnJhbmtsaW5Hb3RoaWNNZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSVRDRnJhbmtsaW5Hb3RoaWMtQ2QnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2l0Y2ZyYW5rbGluZ290aGljL0lUQ0ZyYW5rbGluR290aGljTWVkaXVtQ29uZGVuc2VkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaXRjZnJhbmtsaW5nb3RoaWMvSVRDRnJhbmtsaW5Hb3RoaWNNZWRpdW1Db25kZW5zZWQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3Njb3V0L3Njb3V0LnR0Zj93c3NhZ21cIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3Njb3V0L3Njb3V0LndvZmY/d3NzYWdtXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3Njb3V0L3Njb3V0LnN2Zz93c3NhZ20jc2NvdXRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuW2NsYXNzXj1cImljb24tXCJdLFxuW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnc2NvdXQnICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uaWNvbi1jYXJldC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSZXCI7IH1cblxuLmljb24tY2FyZXQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kmlwiOyB9XG5cbi5pY29uLWNhcmV0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSbXCI7IH1cblxuLmljb24tY2FyZXQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJxcIjsgfVxuXG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kgFwiOyB9XG5cbi5pY29uLWJhZy15ZWxsb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmljb24tYmFnLXllbGxvdyAucGF0aDE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6kgVwiO1xuICAgIGNvbG9yOiAjZmFjMjQxOyB9XG4gIC5pY29uLWJhZy15ZWxsb3cgLnBhdGgyOmJlZm9yZSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwi7qSCXCI7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmljb24tYmFnLXllbGxvdyAucGF0aDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6kg1wiO1xuICAgIGNvbG9yOiAjZmFjMjQxO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgfVxuXG4uaWNvbi1iYWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmljb24tYmFnIC5wYXRoMTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qSEXCI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmljb24tYmFnIC5wYXRoMjpiZWZvcmUge1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIu6khVwiO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5pY29uLWJhZyAucGF0aDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6khlwiO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgfVxuXG4uaWNvbi1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kh1wiOyB9XG5cbi5pY29uLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIhcIjsgfVxuXG4uaWNvbi10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kiVwiOyB9XG5cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kilwiOyB9XG5cbi5pY29uLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupItcIjsgfVxuXG4uaWNvbi1ydWxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kjFwiOyB9XG5cbi5pY29uLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kjVwiOyB9XG5cbi5pY29uLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCLupI5cIjsgfVxuXG4uaWNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kj1wiOyB9XG5cbi5pY29uLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSQXCI7IH1cblxuLmljb24tc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kkVwiOyB9XG5cbi5pY29uLWNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJJcIjsgfVxuXG4uaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupJNcIjsgfVxuXG4uaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSUXCI7IH1cblxuLmljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSVXCI7IH1cblxuLmljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kllwiOyB9XG5cbi5pY29uLWVjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kl1wiOyB9XG5cbi5pY29uLWRvbmF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSYXCI7IH1cblxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpJcIjsgfVxuXG4ubWF0ZXJpYWwtaWNvbnMge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI0cHg7XG4gIC8qIFByZWZlcnJlZCBpY29uIHNpemUgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgLyogU3VwcG9ydCBmb3IgYWxsIFdlYktpdCBicm93c2Vycy4gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC8qIFN1cHBvcnQgZm9yIFNhZmFyaSBhbmQgQ2hyb21lLiAqL1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAvKiBTdXBwb3J0IGZvciBGaXJlZm94LiAqL1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAvKiBTdXBwb3J0IGZvciBJRS4gKi9cbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7IH1cblxuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDM2NjA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICBidXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTM5MztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBidXR0b246bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICBidXR0b246aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE1cHggcmdiYSgwLCA1NCwgOTYsIDAuNDUpOyB9XG4gIGJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIGJ1dHRvbjpkaXNhYmxlZDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ub3V0LW9mLXN0b2NrLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTk1ZjEzO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vdXQtb2Ytc3RvY2stYnRuIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vdXQtb2Ytc3RvY2stYnRuOmhvdmVyLCAub3V0LW9mLXN0b2NrLWJ0bjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmN2U0MDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAub3V0LW9mLXN0b2NrLWJ0bjpub3QoLmNsb3NlLWJ1dHRvbik6bm90KC5hY3Rpb24tY2xvc2UpIHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5vdXQtb2Ytc3RvY2stYnRuOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoMjMzLCA5NSwgMTksIDAuNDUpOyB9XG4gIC5vdXQtb2Ytc3RvY2stYnRuOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLm91dC1vZi1zdG9jay1idG46ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmNvbmZpZ3VyYWJsZS1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2M0E0MztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY29uZmlndXJhYmxlLWJ0biB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY29uZmlndXJhYmxlLWJ0bjpob3ZlciwgLmNvbmZpZ3VyYWJsZS1idG46Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDUyNWY7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmNvbmZpZ3VyYWJsZS1idG46bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuY29uZmlndXJhYmxlLWJ0bjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDU0LCA1OCwgNjcsIDAuNDUpOyB9XG4gIC5jb25maWd1cmFibGUtYnRuOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmNvbmZpZ3VyYWJsZS1idG46ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnNjb3V0LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDM2NjA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zY291dC1idXR0b24ge1xuICAgICAgcGFkZGluZzogMXJlbSAyLjVyZW07XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gIC5zY291dC1idXR0b24uZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuc2NvdXQtYnV0dG9uLmFsdCB7XG4gICAgYmFja2dyb3VuZDogI2U5NWYxMztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogMC44cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNjb3V0LWJ1dHRvbi5hbHQge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDIuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIC5zY291dC1idXR0b24uYWx0LmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5zY291dC1idXR0b24ud2hpdGUge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGNvbG9yOiAjMDAzNjYwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zY291dC1idXR0b24ud2hpdGUge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDIuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIC5zY291dC1idXR0b24ud2hpdGUuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnNjb3V0LWJ1dHRvbi5zbWFsbCB7XG4gICAgYmFja2dyb3VuZDogIzAwMzY2MDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogMC44cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuc2NvdXQtYnV0dG9uLnNtYWxsLmFsdCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTk1ZjEzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gMS41cmVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc2NvdXQtYnV0dG9uLnNtYWxsLmFsdCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAgIC5zY291dC1idXR0b24uc21hbGwuYWx0LmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zY291dC1idXR0b24uc21hbGwud2hpdGUge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgY29sb3I6ICMwMDM2NjA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgcGFkZGluZzogMC44cmVtIDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNjb3V0LWJ1dHRvbi5zbWFsbC53aGl0ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAgIC5zY291dC1idXR0b24uc21hbGwud2hpdGUuZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zY291dC1idXR0b24uc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuICAgIC5zY291dC1idXR0b24uc21hbGwuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uY2FsbG91dC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGNEY2O1xuICBib3JkZXItY29sb3I6ICM5OUExQjU7XG4gIGNvbG9yOiAjNTE1NDVDOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSAuY2xvc2UtYnV0dG9uLCAuY2FsbG91dC5zZWNvbmRhcnkgaDEsIC5jYWxsb3V0LnNlY29uZGFyeSBoMiwgLmNhbGxvdXQuc2Vjb25kYXJ5IGgzLCAuY2FsbG91dC5zZWNvbmRhcnkgaDQsIC5jYWxsb3V0LnNlY29uZGFyeSAucHJvZHVjdC12aWV3LWV4dGVuZCAuZGVzY3JpcHRpb24gLnR5cGUsIC5wcm9kdWN0LXZpZXctZXh0ZW5kIC5kZXNjcmlwdGlvbiAuY2FsbG91dC5zZWNvbmRhcnkgLnR5cGUsIC5jYWxsb3V0LnNlY29uZGFyeSBoNSwgLmNhbGxvdXQuc2Vjb25kYXJ5IGg2IHtcbiAgICBjb2xvcjogIzUxNTQ1QzsgfVxuXG4uY2FsbG91dC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U0RjlEODtcbiAgYm9yZGVyLWNvbG9yOiAjNkJCNDQyO1xuICBjb2xvcjogIzM3N0ExMTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIC5jbG9zZS1idXR0b24sIC5jYWxsb3V0LnN1Y2Nlc3MgaDEsIC5jYWxsb3V0LnN1Y2Nlc3MgaDIsIC5jYWxsb3V0LnN1Y2Nlc3MgaDMsIC5jYWxsb3V0LnN1Y2Nlc3MgaDQsIC5jYWxsb3V0LnN1Y2Nlc3MgLnByb2R1Y3Qtdmlldy1leHRlbmQgLmRlc2NyaXB0aW9uIC50eXBlLCAucHJvZHVjdC12aWV3LWV4dGVuZCAuZGVzY3JpcHRpb24gLmNhbGxvdXQuc3VjY2VzcyAudHlwZSwgLmNhbGxvdXQuc3VjY2VzcyBoNSwgLmNhbGxvdXQuc3VjY2VzcyBoNiB7XG4gICAgY29sb3I6ICMzNzdBMTE7IH1cblxuLmNhbGxvdXQud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkYxQ0M7XG4gIGJvcmRlci1jb2xvcjogI0ZGQkEwMDtcbiAgY29sb3I6ICM4RjVCMDA7IH1cbiAgLmNhbGxvdXQud2FybmluZyAuY2xvc2UtYnV0dG9uLCAuY2FsbG91dC53YXJuaW5nIGgxLCAuY2FsbG91dC53YXJuaW5nIGgyLCAuY2FsbG91dC53YXJuaW5nIGgzLCAuY2FsbG91dC53YXJuaW5nIGg0LCAuY2FsbG91dC53YXJuaW5nIC5wcm9kdWN0LXZpZXctZXh0ZW5kIC5kZXNjcmlwdGlvbiAudHlwZSwgLnByb2R1Y3Qtdmlldy1leHRlbmQgLmRlc2NyaXB0aW9uIC5jYWxsb3V0Lndhcm5pbmcgLnR5cGUsIC5jYWxsb3V0Lndhcm5pbmcgaDUsIC5jYWxsb3V0Lndhcm5pbmcgaDYge1xuICAgIGNvbG9yOiAjOEY1QjAwOyB9XG5cbi5jYWxsb3V0LmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRUFFQTtcbiAgYm9yZGVyLWNvbG9yOiAjRUY1OTU5O1xuICBjb2xvcjogI0IxMUYxRjsgfVxuICAuY2FsbG91dC5hbGVydCAuY2xvc2UtYnV0dG9uLCAuY2FsbG91dC5hbGVydCBoMSwgLmNhbGxvdXQuYWxlcnQgaDIsIC5jYWxsb3V0LmFsZXJ0IGgzLCAuY2FsbG91dC5hbGVydCBoNCwgLmNhbGxvdXQuYWxlcnQgLnByb2R1Y3Qtdmlldy1leHRlbmQgLmRlc2NyaXB0aW9uIC50eXBlLCAucHJvZHVjdC12aWV3LWV4dGVuZCAuZGVzY3JpcHRpb24gLmNhbGxvdXQuYWxlcnQgLnR5cGUsIC5jYWxsb3V0LmFsZXJ0IGg1LCAuY2FsbG91dC5hbGVydCBoNiB7XG4gICAgY29sb3I6ICNCMTFGMUY7IH1cblxuLmNvbXBhbnktc3dpdGNoZXItbGlzdCAuY29tcGFueS1zd2l0Y2hlci1saXN0LWl0ZW0gLmNvbXBhbnktbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jb21wYW55LXN3aXRjaGVyLWxpc3QgLmNvbXBhbnktc3dpdGNoZXItbGlzdC1pdGVtIC5jb21wYW55LW5hbWUubGluayB7XG4gICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgICAuY29tcGFueS1zd2l0Y2hlci1saXN0IC5jb21wYW55LXN3aXRjaGVyLWxpc3QtaXRlbSAuY29tcGFueS1uYW1lLmxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDJlNTM7IH1cbiAgLmNvbXBhbnktc3dpdGNoZXItbGlzdCAuY29tcGFueS1zd2l0Y2hlci1saXN0LWl0ZW0gLmNvbXBhbnktbmFtZS5jdXJyZW50IHtcbiAgICBjb2xvcjogI2Q2ZGJlMDsgfVxuXG4qIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YxRjRmNjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi8qIElubGluZSAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5jb250ZW50LW92ZXJsYXkgLnBhZ2Utd3JhcHBlcjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNCwgMTksIDMzLCAwLjgpO1xuICBib3R0b206IDA7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxOyB9XG5cbm1haW4ge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3OS41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgbWFpbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBtYWluIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyOHB4OyB9IH1cblxuLmJyZWFkY3J1bWJzICsgbWFpbiB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbnAubGVhZCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbnAuc21hbGwge1xuICBmb250LXNpemU6IC44MTNyZW07IH1cblxuYmxvY2txdW90ZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmNhcHRpb24ge1xuICBjb2xvcjogIzhBOEQ5NjtcbiAgZm9udC1zaXplOiAuODc1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuY2FwdGlvbi5hc2lkZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZGJlMDsgfVxuXG4ubGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYmxvZy1zZWxsIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLmJsb2ctc2VsbCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ibG9nLW1ldGEge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZGJlMDsgfVxuICAuYmxvZy1tZXRhIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjOEE4RDk2O1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsgfVxuXG5oNSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogRm9ybSAqL1xuZmllbGRzZXQsIC5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwOyB9XG4gIGZpZWxkc2V0IGxlZ2VuZCwgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5sYWJlbC5sYWJlbCwgc3Bhbi5sYWJlbCwgbGVnZW5kLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbnRleHRhcmVhIHtcbiAgbWluLWhlaWdodDogMTAwcHg7IH1cblxuLmFjY29yZGlvbiB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0ZEM0RDOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NGRDNEQzsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICByaWdodDogMDsgfVxuXG4vKiBFbGVtZW50cyAqL1xuaDQgKyBociwgLnByb2R1Y3Qtdmlldy1leHRlbmQgLmRlc2NyaXB0aW9uIC50eXBlICsgaHIge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5wcm9ncmVzcy1tZXRlcixcbi5zbGlkZXItZmlsbCxcbi5zbGlkZXIge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgLnNsaWRlci1oYW5kbGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiA5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNnB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2NmZDNkYztcbiAgICBib3gtc2hhZG93OiAzcHggMCAwICNjZmQzZGMsIC0zcHggMCAwICNjZmQzZGM7IH1cblxuLyogTWlzYyAqL1xuLnRvb2x0aXAge1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm94LXNoYWRvdzogMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jYXJkIGJ1dHRvbiwgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0gYnV0dG9uLCAuY2FyZCAuYnV0dG9uLCAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbSAuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZCAuY2FyZC1zZWN0aW9uLCAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbSAuY2FyZC1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuXG4udGFicyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwICNkNmRiZTA7IH1cbiAgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMCAjMzYzQTQzOyB9XG5cbnRhYmxlIHtcbiAgZm9udC1zaXplOiAuODEzcmVtOyB9XG4gIHRhYmxlLnN0cmlwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZGJlMDsgfVxuICB0YWJsZSB0aGVhZCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IC43NXJlbTsgfVxuXG4uZmllbGQtdG9vbHRpcC1jb250ZW50LCBzcGFuLm5vdGUge1xuICBmb250LXNpemU6IC44MTNyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4ucmV2ZWFsIHtcbiAgYm94LXNoYWRvdzogMCAwIDI0cHggcmdiYSgwLCAwLCAwLCAwLjIyKSwgMCAyNHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi8qIE1hZ2VudG8gKi9cbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICNGNTc1MDA7XG4gIC8qIFdlYktpdC9CbGluayBCcm93c2VycyAqLyB9XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogI0Y1NzUwMDtcbiAgLyogR2Vja28gQnJvd3NlcnMgKi8gfVxuXG4ubm8tbWFyZ2luIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5kdW1teS11bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnNraXAge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzkuNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nLXRvcDogMjVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgLmJyZWFkY3J1bWJzOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICBjb250ZW50OiBcIu6kjVwiO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cbiAgLmJyZWFkY3J1bWJzID4gdWwge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiB1bDo6YmVmb3JlLCAuYnJlYWRjcnVtYnMgPiB1bDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiB1bDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiB1bCBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGNvbG9yOiAjMDMxMzIxO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAuYnJlYWRjcnVtYnMgPiB1bCBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogXCLihpJcIjtcbiAgICAgICAgY29sb3I6ICM5RkE2QUQ7IH1cbiAgICAuYnJlYWRjcnVtYnMgPiB1bCBhIHtcbiAgICAgIGNvbG9yOiAjMDMxMzIxOyB9XG4gICAgICAuYnJlYWRjcnVtYnMgPiB1bCBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTsgfVxuICAgIC5icmVhZGNydW1icyBsaTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5icmVhZGNydW1icyBsaSBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4ucGFnZXMtaXRlbXMge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZXMtaXRlbXMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogLjVyZW07IH1cbiAgICAucGFnZXMtaXRlbXMgbGk6Zmlyc3QtY2hpbGQ6bm90KC5jdXJyZW50KSwgLnBhZ2VzLWl0ZW1zIGxpOmxhc3QtY2hpbGQ6bm90KC5jdXJyZW50KSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucGFnZXMtaXRlbXMgbGk6Zmlyc3QtY2hpbGQ6bm90KC5jdXJyZW50KSB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLnBhZ2VzLWl0ZW1zIGxpOmxhc3QtY2hpbGQ6bm90KC5jdXJyZW50KSB7XG4gICAgICByaWdodDogMDsgfVxuICAgIC5wYWdlcy1pdGVtcyBsaSAuYWN0aW9uLnByZXZpb3VzOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogJ3Njb3V0JztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgY29udGVudDogXCLupJpcIjsgfVxuICAgIC5wYWdlcy1pdGVtcyBsaSAuYWN0aW9uLm5leHQ6YWZ0ZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgIGNvbnRlbnQ6IFwi7qSbXCI7IH1cbiAgICAucGFnZXMtaXRlbXMgbGkgLmFjdGlvbi5wcmV2aW91cyxcbiAgICAucGFnZXMtaXRlbXMgbGkgLmFjdGlvbi5uZXh0LFxuICAgIC5wYWdlcy1pdGVtcyBsaSAucGFnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xNXMgZWFzZS1vdXQ7IH1cbiAgICAucGFnZXMtaXRlbXMgbGkgaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDdweDsgfVxuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG5baHJlZio9XCJyZXF1aXNpdGlvbl9saXN0XCJdLFxuI2ludml0YXRpb24tc2VuZC1saW5rIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDM2NjA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnBhZ2UtaGVhZGVyIC5kZXNrdG9wLWxvZ28ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLnBhZ2UtaGVhZGVyIC5tb2JpbGUtbG9nbyB7XG4gICAgbWF4LWhlaWdodDogMjBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS1oZWFkZXIgLm1vYmlsZS1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLnBhZ2UtaGVhZGVyIGEge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5wYWdlLWhlYWRlciAudG9wLWJhciB7XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnBhZ2UtaGVhZGVyIC50b3AtYmFyIGltZ1tzcmMkPVwiLnN2Z1wiXSB7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgLnBhZ2UtaGVhZGVyIC50b3AtYmFyIC5zd2l0Y2gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC50b3AtYmFyIC5zd2l0Y2ggc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC50b3AtYmFyIC5zd2l0Y2ggLnN3aXRjaC1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBsZWZ0OiAxNSU7IH1cbiAgICAgIC5wYWdlLWhlYWRlciAudG9wLWJhciAuc3dpdGNoIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICByaWdodDogMTMlOyB9XG4gICAgICAucGFnZS1oZWFkZXIgLnRvcC1iYXIgLnN3aXRjaCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0OTRENTY7XG4gICAgICAgIHdpZHRoOiAxNTBweDsgfVxuICAgICAgICAucGFnZS1oZWFkZXIgLnRvcC1iYXIgLnN3aXRjaCAuc3dpdGNoLXBhZGRsZTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzJiMmUzNztcbiAgICAgICAgICB3aWR0aDogNzVweDsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC50b3AtYmFyIC5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzQ5NEQ1NiAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5wYWdlLWhlYWRlciAudG9wLWJhciAuc3dpdGNoIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTphZnRlciB7XG4gICAgICAgICAgbGVmdDogNzJweDsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC50b3AtYmFyIC5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSxcbiAgICAgIC5wYWdlLWhlYWRlciAudG9wLWJhciAuc3dpdGNoIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnBhZ2UtaGVhZGVyIC5wYW5lbC53cmFwcGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMjY0NDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmctdG9wOiA3cHg7IH1cbiAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIgLmhlYWRlci10b3AtbWVzc2FnZS13cmFwcGVyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAucGFnZS1oZWFkZXIgLmhlYWRlciAuaGVhZGVyLXRvcC1tZXNzYWdlLXdyYXBwZXIgLmhlYWRlci10b3AtbWVzc2FnZSB7XG4gICAgICBtYXJnaW46IDAuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIgLmhlYWRlci10b3AtbWVzc2FnZS13cmFwcGVyIC5oZWFkZXItdG9wLW1lc3NhZ2UuaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIgLmhlYWRlci10b3AtbWVzc2FnZS13cmFwcGVyIC5oZWFkZXItdG9wLW1lc3NhZ2UuZmFkZUluIHtcbiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMC41cyBlYXNlLWluLW91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIgLmhlYWRlci10b3AtbWVzc2FnZS13cmFwcGVyIC5oZWFkZXItdG9wLW1lc3NhZ2UuaGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyIC5oZWFkZXItdG9wLW1lc3NhZ2Utd3JhcHBlciAuaGVhZGVyLXRvcC1tZXNzYWdlLmZhZGVJbiB7XG4gICAgICAgICAgYW5pbWF0aW9uOiB1bnNldDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucGFnZS1oZWFkZXIgLmhlYWRlciAuaGVhZGVyLXRvcC1tZXNzYWdlLXdyYXBwZXIgLmhlYWRlci10b3AtbWVzc2FnZTpsYXN0LW9mLXR5cGU6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIgLmhlYWRlci10b3AtbWVzc2FnZS13cmFwcGVyIC5oZWFkZXItdG9wLW1lc3NhZ2U6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgMXJlbTsgfSB9XG4gIC5wYWdlLWhlYWRlciAuaGVhZGVyIC5teS1hY2NvdW50OmFmdGVyLFxuICAucGFnZS1oZWFkZXIgLmhlYWRlciAubXktd2lzaGxpc3Q6YWZ0ZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB3aWR0aDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIgLm15LWFjY291bnQ6YWZ0ZXIsXG4gICAgICAucGFnZS1oZWFkZXIgLmhlYWRlciAubXktd2lzaGxpc3Q6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5wYWdlLWhlYWRlciAuaGVhZGVyIC5teS1hY2NvdW50OmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogJ3Njb3V0JztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgIGNvbnRlbnQ6IFwi7qSIXCI7XG4gICAgY29sb3I6ICNBN0MzREM7IH1cbiAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIgLm15LXdpc2hsaXN0OmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogJ3Njb3V0JztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgY29udGVudDogXCLupIdcIjtcbiAgICBjb2xvcjogI0UzQjlEMzsgfVxuICAucGFnZS1oZWFkZXIgLmhlYWRlci5saW5rcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIucGFuZWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0byAxZnI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLXRvcC1tZW51IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXItdG9wLW1lbnUgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLXRvcC1tZW51IGEge1xuICAgICAgICBjb2xvcjogI2FkYmJjNztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLXRvcC1tZW51IGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIubGlua3Mge1xuICAgICAgZGlzcGxheTogdW5zZXQ7XG4gICAgICBncmlkLWNvbHVtbjogMy80O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmxpbmtzIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmxpbmtzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmxpbmtzIGEge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTsgfSB9XG4gIC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50IC5uYXYtdG9nZ2xlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDQ1cHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQgLm5hdi10b2dnbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgICAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50IC5uYXYtdG9nZ2xlIGltZyB7XG4gICAgICAgIGhlaWdodDogMS41cmVtOyB9XG4gICAgICAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50IC5uYXYtdG9nZ2xlIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQgLmxvZ28ge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCAubG9nbyAubG9nby10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDAgMCA1cHg7IH1cbiAgICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCAubG9nbyAubG9nby10ZXh0IHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiSVRDRnJhbmtsaW5Hb3RoaWMtQ2RcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQgLmxvZ28gaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAzNjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCAuYXV0aG9yaXphdGlvbi1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCAuYWNjb3VudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAuODc1cmVtOyB9XG4gICAgICAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50IC5hY2NvdW50IC5hdXRob3JpemF0aW9uLWxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50IC5hY2NvdW50IC5hdXRob3JpemF0aW9uLWxpbmsgaW1nW3NyYyQ9XCIuc3ZnXCJdIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQgLmJsb2NrLWhlYWRlci1yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQgLmJsb2NrLWhlYWRlci1yaWdodCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9IH1cbiAgICAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50IC5ibG9jay1oZWFkZXItcmlnaHQtdGV4dCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50ICNidWRnZXQtaGVhZGVyIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cbiAgICAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50ICNidWRnZXQtaGVhZGVyIHNwYW4ge1xuICAgICAgY29sb3I6ICNDRkQzREM7XG4gICAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCBzcGFuI2J1ZGdldC1oZWFkZXItYmFsYW5jZSB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50ICNjdXN0b21lci1mdWxsbmFtZS13cmFwcGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQgI2N1c3RvbWVyLWZ1bGxuYW1lLXdyYXBwZXIgYSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsgfVxuICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQgI2N1c3RvbWVyLWZ1bGxuYW1lLXdyYXBwZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50IC5sb2dvIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAwOyB9XG4gICAgICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCAubG9nbyAubG9nby10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLWhlYWRlciAuaGVhZGVyLmNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCAubG9nbyB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgICAgICAgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCAubG9nbyAubG9nby10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9IH1cblxuLnN0aWNreS1oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0aWNreS1oZWFkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLnVzcCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM1MjY1ODA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnVzcCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAudXNwIC5ncmlkLXgsIC51c3AgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyLCBmb290ZXIgLnVzcCAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciwgLnVzcCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnVzcCAuYWNjb3JkaW9uLW1lbnUsIC51c3AgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgLnVzcCBmb3JtLnN1YnNjcmliZSB7XG4gICAgaGVpZ2h0OiA0MHB4OyB9XG4gIC51c3Agc3BhbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTRweDsgfVxuICAudXNwIGltZyxcbiAgLnVzcCBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDsgfVxuICAudXNwIHN2ZyBjaXJjbGUsXG4gIC51c3Agc3ZnIGVsbGlwc2UsXG4gIC51c3Agc3ZnIGxpbmUsXG4gIC51c3Agc3ZnIHBhdGgsXG4gIC51c3Agc3ZnIHBvbHlsaW5lIHtcbiAgICBzdHJva2U6ICM1MjY1ODA7IH1cbiAgLnVzcCBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4uaGVhZGVyLWFjY291bnQtZHJvcGRvd24ge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHdpZHRoOiAyMDBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuXG4uaGVhZGVyLWFjY291bnQtZHJvcGRvd25fX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzNjNBNDMgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44ZW07IH1cblxuLmhlYWRlci1hY2NvdW50LWRyb3Bkb3duX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNGNTc1MDAgIWltcG9ydGFudDsgfVxuXG4uaGVhZGVyLWFjY291bnQtZHJvcGRvd25fX2RpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllY2VmOyB9XG5cbi8qIE1lbnUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubmF2LXNlY3Rpb25zIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMsIDE5LCAzMywgMC44KTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogNi42cmVtO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICAgLm5hdi1zZWN0aW9ucyAjc3RvcmVcXC5saW5rcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjdGQUZEO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2M4ZDRlMDsgfVxuICAgICAgLm5hdi1zZWN0aW9ucyAjc3RvcmVcXC5saW5rcyAuaGVhZGVyLmxpbmtzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gICAgICAubmF2LXNlY3Rpb25zICNzdG9yZVxcLmxpbmtzIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgICAgIGNvbG9yOiAjMDMxMzIxO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLm5hdi1zZWN0aW9ucyAubmF2LXNlY3Rpb25zLWl0ZW1zIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgIHotaW5kZXg6IDExOyB9XG4gICAgICAubmF2LXNlY3Rpb25zIC5uYXYtc2VjdGlvbnMtaXRlbXMgdWwge1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgLm5hdi1vcGVuIC5uYXYtc2VjdGlvbnMge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAubmF2LW9wZW4gLm5hdi1zZWN0aW9ucyAubmF2LXNlY3Rpb25zLWl0ZW1zIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDIwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5uYXYtc2VjdGlvbnMge1xuICAgIGJhY2tncm91bmQ6ICMwMDJFNTI7IH1cbiAgICAubmF2LXNlY3Rpb25zIC5oZWFkZXIubGlua3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uYXYtc2VjdGlvbnMgLnNlY3Rpb24taXRlbS10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiB1bCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiB1bCBsaS5sZXZlbDAge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzhkNGUwOyB9XG4gIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgbGkgYSB7XG4gICAgY29sb3I6ICMwMzEzMjE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHBhZGRpbmc6IDlweCAzMHB4IDdweCAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIGxpLmFsbC1jYXRlZ29yeSBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIGxpLmFjdGl2ZSBhIHtcbiAgICBjb2xvcjogIzBFNTU4RDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGQUZEO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzhkNGUwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgdWwge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB6LWluZGV4OiAxMDsgfSB9XG4gICAgLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiB1bCB1bCBsaSBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgdWwgbGkgLnVpLWljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIHJpZ2h0OiAtMTBweDsgfVxuICAgICAgLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiB1bCB1bCBsaSAudWktaWNvbiBzdmcgcGF0aCB7XG4gICAgICAgIGZpbGw6ICMwMDAwMDA7IH1cbiAgICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIHVsIGxpIGEge1xuICAgICAgY29sb3I6ICMwMzEzMjE7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgdWwgbGkgdWwge1xuICAgICAgd2lkdGg6IDY2LjY4JTtcbiAgICAgIGxlZnQ6IDMzLjM0JTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gICAgICB6LWluZGV4OiAxMTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0NGRDNEQztcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDhweCAwIDVweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgICAgIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgdWwgbGkgdWwgbGkge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIHVsIGxpIHVsIHVsIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB6LWluZGV4OiAxMjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIHVsIGxpIHVsIHVsIGxpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgdWwgLmltYWdlLXdyYXBwZXIge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgbGk6aG92ZXIgPiB1bC5zdWJtZW51IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1heC13aWR0aDogNzkuNXJlbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiB1bCB1bCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgN3B4IDEzcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMzYpO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgdWwgbGkge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkYmUwOyB9XG4gICAgICAgICAgLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiB1bCB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIHVsIGxpLmFjdGl2ZSwgLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiB1bCB1bCBsaTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjdGQUZEOyB9XG4gICAgICAgICAgICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIHVsIGxpLmFjdGl2ZSBhLCAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIHVsIGxpOmhvdmVyIGEge1xuICAgICAgICAgICAgICBjb2xvcjogIzBFNTU4RDsgfVxuICAgICAgLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiB1bCBsaS5sZXZlbC10b3Age1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgbGkubGV2ZWwtdG9wID4gYSB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgcGFkZGluZzogMThweCAxNXB4IDE1cHg7IH1cbiAgICAgIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgbGkubGV2ZWwxIGEge1xuICAgICAgICBjb2xvcjogIzJlMzEzNDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgbGkucGFyZW50ID4gYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgICAgIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgLmxldmVsLXRvcC5wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qSZXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC4zNzVyZW07XG4gICAgICAgIHJpZ2h0OiAxMHB4OyB9XG4gICAgICAubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIC5sZXZlbC10b3AucGFyZW50ID4gYS51aS1zdGF0ZS1mb2N1cywgLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiB1bCAubGV2ZWwtdG9wLnBhcmVudCA+IGEudWktc3RhdGUtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgY29sb3I6ICMwNDNBNjM7IH1cbiAgICAgICAgLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiB1bCAubGV2ZWwtdG9wLnBhcmVudCA+IGEudWktc3RhdGUtZm9jdXM6YWZ0ZXIsIC5uYXYtc2VjdGlvbnMgbmF2Lm5hdmlnYXRpb24gdWwgLmxldmVsLXRvcC5wYXJlbnQgPiBhLnVpLXN0YXRlLWFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICMwNDNBNjM7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpOyB9IH1cblxuLm5hdi1zZWN0aW9ucyBuYXYubmF2aWdhdGlvbiAubGV2ZWwwLnN1Ym1lbnUgLnBhcmVudDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4ubmF2LXNlY3Rpb25zIG5hdi5uYXZpZ2F0aW9uIHVsIHVsIGxpIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG4ubmF2LXNlY3Rpb25zIC5sZXZlbC10b3AucGFyZW50ID4gYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMnJlbTsgfVxuICAubmF2LXNlY3Rpb25zIC5sZXZlbC10b3AucGFyZW50ID4gYTphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgIGNvbnRlbnQ6IFwi7qSVXCI7XG4gICAgY29sb3I6ICM5RkE2QUQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5uYXYtc2VjdGlvbnMgLmxldmVsMC5zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5hdi1zZWN0aW9ucyAubGV2ZWwwLnN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cblxuLmhhbWJ1cmdlci1tZW51IHtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvOyB9XG4gIC5oYW1idXJnZXItbWVudSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDI3cHg7IH1cbiAgICAuaGFtYnVyZ2VyLW1lbnUgc3BhbjpudGgtY2hpbGQoMSkge1xuICAgICAgdG9wOiAwcHg7IH1cbiAgICAuaGFtYnVyZ2VyLW1lbnUgc3BhbjpudGgtY2hpbGQoMikge1xuICAgICAgdG9wOiA4cHg7IH1cbiAgICAuaGFtYnVyZ2VyLW1lbnUgc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgdG9wOiAxNnB4OyB9XG5cbi5uYXYtb3BlbiAuaGFtYnVyZ2VyLW1lbnUgc3BhbjpudGgtY2hpbGQoMyksXG4uaGFtYnVyZ2VyLW1lbnUub3BlbiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gIHRvcDogN3B4O1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cblxuLm5hdi1vcGVuIC5oYW1idXJnZXItbWVudSBzcGFuOm50aC1jaGlsZCgyKSxcbi5oYW1idXJnZXItbWVudS5vcGVuIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4ubmF2LW9wZW4gLmhhbWJ1cmdlci1tZW51IHNwYW46bnRoLWNoaWxkKDEpLFxuLmhhbWJ1cmdlci1tZW51Lm9wZW4gc3BhbjpudGgtY2hpbGQoMSkge1xuICB0b3A6IDdweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cblxuLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbiAuaWNvbi1iYWcge1xuICBmb250LXNpemU6IDMwcHg7IH1cbiAgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbiAuaWNvbi1iYWcgLnBhdGgxOmJlZm9yZSwgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbiAuaWNvbi1iYWcgLnBhdGgyOmJlZm9yZSwgLm1pbmljYXJ0LXdyYXBwZXIgLmFjdGlvbiAuaWNvbi1iYWcgLnBhdGgzOmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjNzOyB9XG5cbi5taW5pY2FydC13cmFwcGVyIC5hY3Rpb246aG92ZXIgLmljb24tYmFnIC5wYXRoMTpiZWZvcmUsIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb246aG92ZXIgLmljb24tYmFnIC5wYXRoMzpiZWZvcmUsIC5taW5pY2FydC13cmFwcGVyIC5hY3Rpb24uYWN0aXZlIC5pY29uLWJhZyAucGF0aDE6YmVmb3JlLCAubWluaWNhcnQtd3JhcHBlciAuYWN0aW9uLmFjdGl2ZSAuaWNvbi1iYWcgLnBhdGgzOmJlZm9yZSB7XG4gIGNvbG9yOiAjZTk1ZjEzOyB9XG5cbi5taW5pY2FydC13cmFwcGVyIC5hY3Rpb246YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5taW5pY2FydC13cmFwcGVyIC5jb3VudGVyIC5jb3VudGVyLW51bWJlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOTVmMTM7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIG1pbi13aWR0aDogMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAxcHg7XG4gIHJpZ2h0OiAtM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmNvdW50ZXIgLmNvdW50ZXItbnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICB0b3A6IC01cHg7IH0gfVxuXG4ubWluaWNhcnQtd3JhcHBlciAuY291bnRlciAuY291bnRlci1sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1pbmljYXJ0LXdyYXBwZXIgLmNvdW50ZXIuZW1wdHkge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm1pbmljYXJ0LXdyYXBwZXIgLnByaWNlLWNvbnRhaW5lci5hbW91bnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubWluaWNhcnQtd3JhcHBlciB7XG4gICAgcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWluaWNhcnQtd3JhcHBlciB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG9yZGVyOiAzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciBhIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLmljb24tYmFnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLnNob3djYXJ0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAubWluaWNhcnQtd3JhcHBlciAuc2hvd2NhcnQgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAubWluaWNhcnQtd3JhcHBlciAuc2hvd2NhcnQgLnRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgLm1pbmljYXJ0LXdyYXBwZXIgLnNob3djYXJ0IC50ZXh0IC52YXQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjY4OHJlbTtcbiAgICAgICAgICBjb2xvcjogI2ZhYmE4MDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAubWluaWNhcnQtd3JhcHBlciAuc2hvd2NhcnQgLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5taW5pY2FydC13cmFwcGVyIC5xdWljay1vcmRlci1saW5rLmljb24tY3VzdG9tIGE6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbnMvdG9jLXdoaXRlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmJsb2NrLW1vYmlsZS1zZWFyY2gtaWNvbiB7XG4gIG1hcmdpbjogMCAxLjI1cmVtIDAgMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ibG9jay1tb2JpbGUtc2VhcmNoLWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zZWFyY2gtaWNvbi10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmJsb2NrLXNlYXJjaCAuYmxvY2stdGl0bGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ibG9jay1zZWFyY2ggLm1hZ25pZmllci1sZW5zIHtcbiAgY29udGVudDogXCLupIpcIjsgfVxuXG4uYmxvY2stc2VhcmNoIGZvcm0ge1xuICBwYWRkaW5nOiAwIDEwcHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuYmxvY2stc2VhcmNoIGZvcm0gLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ibG9jay1zZWFyY2ggZm9ybSAuZmllbGQuc2VhcmNoIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLmJsb2NrLXNlYXJjaCBmb3JtIC5maWVsZC5zZWFyY2ggaW5wdXQge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG4gIC5ibG9jay1zZWFyY2ggZm9ybSAuYWN0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMHB4OyB9XG4gICAgLmJsb2NrLXNlYXJjaCBmb3JtIC5hY3Rpb25zIGJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmJsb2NrLXNlYXJjaCBmb3JtIC5hY3Rpb25zIGJ1dHRvbiA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ibG9jay1zZWFyY2ggZm9ybSAuYWN0aW9uLmFkdmFuY2VkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYmxvY2stc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNjYwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiB0b3AgMC41cyBjdWJpYy1iZXppZXIoMC4yNSwgMC4yNSwgMC43NSwgMC43NSk7XG4gICAgLW1vei10cmFuc2l0aW9uOiB0b3AgMC41cyBjdWJpYy1iZXppZXIoMC4yNSwgMC4yNSwgMC43NSwgMC43NSk7XG4gICAgLW8tdHJhbnNpdGlvbjogdG9wIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuMjUsIDAuNzUsIDAuNzUpO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjVzIGN1YmljLWJlemllcigwLjI1LCAwLjI1LCAwLjc1LCAwLjc1KTtcbiAgICB0b3A6IC0zMDBweDsgfVxuICAgIC5ibG9jay1zZWFyY2guYWN0aXZlIHtcbiAgICAgIHRvcDogMTAwJTsgfVxuICAgIC5ibG9jay1zZWFyY2ggZm9ybSAuY29udHJvbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAuYmxvY2stc2VhcmNoIGZvcm0gLmZpZWxkLnNlYXJjaCBpbnB1dCB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QzZDNkMzsgfVxuICAgIC5ibG9jay1zZWFyY2ggZm9ybSAuYWN0aW9ucyB7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYmxvY2stc2VhcmNoIHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgb3JkZXI6IDI7IH1cbiAgICAuYmxvY2stc2VhcmNoIGZvcm0ge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ibG9jay1zZWFyY2gge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTsgfSB9XG5cbi5wYWdlLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMwMDM2NjA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDEzcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLWZvb3RlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAgICAgLnBhZ2UtZm9vdGVyIC5hY2NvcmRpb24tbWVudSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgICAgLnBhZ2UtZm9vdGVyIC5hY2NvcmRpb24tbWVudSBsaSBhIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgIC5wYWdlLWZvb3RlciAuYWNjb3JkaW9uLW1lbnUgbGkgLm1lbnUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAucGFnZS1mb290ZXIgLmZvb3RlciAuc21hbGwgYSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAucGFnZS1mb290ZXIgLmZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyIC5hY2NvcmRpb24ge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyIC5ibG9jayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMjQ0MDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyIC5ibG9jayB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuICAgICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmJsb2NrIC50aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucGFnZS1mb290ZXIgLmZvb3RlciAuYmxvY2sgLnRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAgICAgICAucGFnZS1mb290ZXIgLmZvb3RlciAuYmxvY2sgLnRpdGxlIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmJsb2NrIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmJsb2NrIC5jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAgICAgICAucGFnZS1mb290ZXIgLmZvb3RlciAuYmxvY2sgLmNvbnRlbnQgdWwgbGkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjU7IH1cbiAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyIC5ibG9jayAuaGlnaGxpZ2h0IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMkU1MjtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmJsb2NrIC5oaWdobGlnaHQ6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ3Njb3V0JztcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAgICAgY29udGVudDogXCLupJFcIjtcbiAgICAgICAgICBjb2xvcjogI2U5NWYxMztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAucGFnZS1mb290ZXIgLmZvb3Rlci1jb2wtY29udGFjdCAuY29udGVudCBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnBhZ2UtZm9vdGVyIC5mb290ZXItY29sLW5ld3NsZXR0ZXIgZm9ybSBsYWJlbCAubGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyLWNvbC1uZXdzbGV0dGVyIGZvcm0gaW5wdXQge1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyLWNvbC1uZXdzbGV0dGVyIGZvcm0gYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5wYWdlLWZvb3RlciAuZm9vdGVyLWNvbC1uZXdzbGV0dGVyIGZvcm0gYnV0dG9uIHtcbiAgICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgLnBhZ2UtZm9vdGVyIC5mb290ZXItY29sLW5ld3NsZXR0ZXIgZm9ybSBidXR0b246aG92ZXIsIC5wYWdlLWZvb3RlciAuZm9vdGVyLWNvbC1uZXdzbGV0dGVyIGZvcm0gYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTM5MztcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyLWNvbC1uZXdzbGV0dGVyIGZvcm0gYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKTpub3QoLmFjdGlvbi1jbG9zZSkge1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAucGFnZS1mb290ZXIgLmZvb3Rlci1jb2wtbmV3c2xldHRlciBmb3JtIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE1cHggcmdiYSgwLCA1NCwgOTYsIDAuNDUpOyB9XG4gICAgICAucGFnZS1mb290ZXIgLmZvb3Rlci1jb2wtbmV3c2xldHRlciBmb3JtIGJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyLWNvbC1uZXdzbGV0dGVyIGZvcm0gYnV0dG9uOmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyIC5hY2NvcmRpb24gLnRpdGxlOmFmdGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICBjb250ZW50OiBcIu6klVwiO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmFjY29yZGlvbiAudGl0bGU6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmFjY29yZGlvbiAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAyRTUyO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmFjY29yZGlvbiAuYmxvY2suaXMtYWN0aXZlIC50aXRsZTphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyLmNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyIC5mb290ZXItY29sLXN0b3JlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAucGFnZS1mb290ZXIgLmZvb3RlciAuZm9vdGVyLWNvbC1jb250YWN0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIG9yZGVyOiAzOyB9XG4gICAgICAucGFnZS1mb290ZXIgLmZvb3RlciAuZm9vdGVyLWNvbC1pbmZvcm1hdGlvbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICBvcmRlcjogNDsgfVxuICAgICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1jb2wtbmV3c2xldHRlciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmJsb2NrIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgICAucGFnZS1mb290ZXIgLmZvb3RlciAuYmxvY2sgLnRpdGxlOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyIC5ibG9jayAuY29udGVudCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAgICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmJsb2NrIC5jb250ZW50IHVsIGxpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1jb2wtc3RvcmUge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyIC5mb290ZXItY29sLWNvbnRhY3Qge1xuICAgICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAycmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyIC5mb290ZXItY29sLWluZm9ybWF0aW9uIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgb3JkZXI6IDM7IH1cbiAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyIC5mb290ZXItY29sLW5ld3NsZXR0ZXIge1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgb3JkZXI6IDQ7IH0gfVxuICAucGFnZS1mb290ZXIgYSxcbiAgLnBhZ2UtZm9vdGVyIHAsXG4gIC5wYWdlLWZvb3RlciBoMSxcbiAgLnBhZ2UtZm9vdGVyIGgyLFxuICAucGFnZS1mb290ZXIgaDMsXG4gIC5wYWdlLWZvb3RlciBoNCxcbiAgLnBhZ2UtZm9vdGVyIC5wcm9kdWN0LXZpZXctZXh0ZW5kIC5kZXNjcmlwdGlvbiAudHlwZSxcbiAgLnByb2R1Y3Qtdmlldy1leHRlbmQgLmRlc2NyaXB0aW9uIC5wYWdlLWZvb3RlciAudHlwZSxcbiAgLnBhZ2UtZm9vdGVyIGg1LFxuICAucGFnZS1mb290ZXIgaDYge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5wYWdlLWZvb3RlciBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAucGFnZS1mb290ZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBhZ2UtZm9vdGVyIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnBhZ2UtZm9vdGVyIC5hY2NvcmRpb24tbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzM2M0E0MzsgfVxuICAgIC5wYWdlLWZvb3RlciAuYWNjb3JkaW9uLW1lbnUgYSxcbiAgICAucGFnZS1mb290ZXIgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMXJlbSAwLjVyZW07XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzM2M0E0MzsgfVxuICAgIC5wYWdlLWZvb3RlciAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5wYWdlLWZvb3RlciAuYWNjb3JkaW9uLW1lbnUgdWwubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIGJhY2tncm91bmQ6ICMxOTFDMjE7IH1cbiAgLnBhZ2UtZm9vdGVyIC5mb290ZXItYm90dG9tIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS1mb290ZXIgLmZvb3Rlci1ib3R0b20ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyLWJvdHRvbSAuZm9vdGVyLWRpdmlkZXItd3JhcHBlciB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICAgIG1pbi13aWR0aDogMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyLWJvdHRvbSAuZm9vdGVyLWRpdmlkZXItd3JhcHBlciBociB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM0MDQ1NTE7IH1cbiAgICAucGFnZS1mb290ZXIgLmZvb3Rlci1ib3R0b20gc21hbGwuY29weXJpZ2h0LFxuICAgIC5wYWdlLWZvb3RlciAuZm9vdGVyLWJvdHRvbSAuZm9vdGVyLXRydXN0LW1hcmtzIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWluLWhlaWdodDogMHB4O1xuICAgICAgbWluLXdpZHRoOiAwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnBhZ2UtZm9vdGVyIC5mb290ZXItYm90dG9tIC5mb290ZXItdHJ1c3QtbWFya3MgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA0ODRweDsgfVxuICAucGFnZS1mb290ZXIgLmFib3V0IHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICNmZmZmZmY7IH1cbiAgICAucGFnZS1mb290ZXIgLmFib3V0IC5ncmlkLXgsIC5wYWdlLWZvb3RlciAuYWJvdXQgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyLCBmb290ZXIgLnBhZ2UtZm9vdGVyIC5hYm91dCAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciwgLnBhZ2UtZm9vdGVyIC5hYm91dCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmFjY29yZGlvbi1tZW51LCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnBhZ2UtZm9vdGVyIC5hYm91dCAuYWNjb3JkaW9uLW1lbnUsIC5wYWdlLWZvb3RlciAuYWJvdXQgLmZvb3Rlci1jdXN0b21lci1jbHViIC5uZXdzbGV0dGVyIGZvcm0uc3Vic2NyaWJlLCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgLnBhZ2UtZm9vdGVyIC5hYm91dCBmb3JtLnN1YnNjcmliZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgNDBweDsgfVxuICAgIC5wYWdlLWZvb3RlciAuYWJvdXQgaDIsXG4gICAgLnBhZ2UtZm9vdGVyIC5hYm91dCBwIHtcbiAgICAgIGNvbG9yOiAjMzYzQTQzOyB9XG4gICAgLnBhZ2UtZm9vdGVyIC5hYm91dCBociB7XG4gICAgICBib3JkZXItY29sb3I6ICNkNmRiZTA7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uLWRlc2t0b3AgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7IH1cblxuLmZvb3Rlci1jb250YWN0LWluZm8gdWwge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmZvb3Rlci1jdXN0b21lci1jbHViIHtcbiAgbWFyZ2luLWJvdHRvbTogMS43cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXItY3VzdG9tZXItY2x1YiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cblxuLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zdWJzY3JpYmUge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLnN1YnNjcmliZTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5mb290ZXItY3VzdG9tZXItY2x1YiAuYmxvY2submV3c2xldHRlcixcbi5mb290ZXItY3VzdG9tZXItY2x1YiAuY3VzdG9tZXItY2x1YiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmJsb2NrLm5ld3NsZXR0ZXIsXG4gICAgLmZvb3Rlci1jdXN0b21lci1jbHViIC5jdXN0b21lci1jbHViIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuXG4uY29ycG9yYXRlLWxpbmstd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLnJlcXVpcmVkLXN5bWJvbCB7XG4gIGNvbG9yOiAjRUY1OTU5OyB9XG5cbi5oYXMtZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUY1OTU5OyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG5cbi5wcm9kdWN0cy1ncmlkLFxuLnByb2R1Y3RzLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5wcm9kdWN0LWl0ZW1zIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWl0ZW1zIC5wcmljZS1ib3gge1xuICAgIGNvbG9yOiAjZTk1ZjEzO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgIC5wcm9kdWN0LWl0ZW1zIC5wcmljZS1ib3gubG9hZGluZyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvbG9hZGVyLTEuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgIC5wcm9kdWN0LWl0ZW1zIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgICBjb2xvcjogIzlGQTZBRDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAucHJvZHVjdC1pdGVtcyAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAucHJvZHVjdC1pdGVtcyAucHJpY2UtYm94IC5wcmljZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAucHJvZHVjdC1pdGVtcyAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgICAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtLWRldGFpbHMgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbS1uYW1lIGEge1xuICAgICAgY29sb3I6ICMwNDNBNjM7IH1cbiAgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbS1za3Uge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAjOUZBNkFEOyB9XG5cbi5wcm9kdWN0cy1ncmlkIC5vd2wtY2Fyb3VzZWwgLm93bC1wcmV2LCAucHJvZHVjdHMtZ3JpZCAub3dsLWNhcm91c2VsIC5vd2wtbmV4dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7IH1cbiAgLnByb2R1Y3RzLWdyaWQgLm93bC1jYXJvdXNlbCAub3dsLXByZXYgaSwgLnByb2R1Y3RzLWdyaWQgLm93bC1jYXJvdXNlbCAub3dsLW5leHQgaSB7XG4gICAgYmFja2dyb3VuZDogIzAwMzY2MDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG5cbi5wcm9kdWN0cy1ncmlkIC5vd2wtY2Fyb3VzZWwgLm93bC1wcmV2IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHRyYW5zcGFyZW50LCAjZmZmZmZmKTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMCA0MHB4IDAgMDsgfVxuXG4ucHJvZHVjdHMtZ3JpZCAub3dsLWNhcm91c2VsIC5vd2wtbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsICNmZmZmZmYpO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMCAwIDAgNDBweDsgfVxuXG4ucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtLWluZm8gLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDE4MHB4OyB9XG4gIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW0taW5mbyAucHJvZHVjdC1pbWFnZS1jb250YWluZXIgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbS1pbmZvIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG5cbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIuY2Fyb3VzZWwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi50b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOGQ0ZTA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzhkNGUwO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgLnRvb2xiYXIgLm1vZGVzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnRvb2xiYXIgLmZpbHRlci1idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudG9vbGJhciAuZmlsdGVyLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAudG9vbGJhciAub2ZmLWNhbnZhcyB7XG4gICAgei1pbmRleDogOTk5OyB9XG4gICAgLnRvb2xiYXIgLm9mZi1jYW52YXMgLmZpbHRlciB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gIC50b29sYmFyIC50b29sYmFyLXNvcnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDJyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cbiAgICAudG9vbGJhciAudG9vbGJhci1zb3J0ZXIgLnNvcnRlci1sYWJlbCxcbiAgICAudG9vbGJhciAudG9vbGJhci1zb3J0ZXIgLnNvcnRlci1vcHRpb25zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG4gICAgLnRvb2xiYXIgLnRvb2xiYXItc29ydGVyIC5zb3J0ZXItYWN0aW9uIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAudG9vbGJhciAudG9vbGJhci1zb3J0ZXIgLnNvcnRlci1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAudG9vbGJhciAudG9vbGJhci1zb3J0ZXIgbGFiZWwubWlkZGxlIHtcbiAgICAgIHBhZGRpbmc6IDAuM3JlbSAwO1xuICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwOyB9XG4gICAgLnRvb2xiYXIgLnRvb2xiYXItc29ydGVyIHNlbGVjdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnRvb2xiYXIgLnRvb2xiYXItc29ydGVyIC5zb3J0ZXItYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgICAudG9vbGJhciAudG9vbGJhci1zb3J0ZXIgLnNvcnRlci1hY3Rpb246YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qSUXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAudG9vbGJhciAudG9vbGJhci1zb3J0ZXIgLnNvcnRlci1hY3Rpb24uc29ydC1hc2M6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLupJRcIjsgfVxuICAgICAgLnRvb2xiYXIgLnRvb2xiYXItc29ydGVyIC5zb3J0ZXItYWN0aW9uLnNvcnQtZGVzYzpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6klVwiOyB9XG4gICAgICAudG9vbGJhciAudG9vbGJhci1zb3J0ZXIgLnNvcnRlci1hY3Rpb24gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRvb2xiYXIgLnRvb2xiYXItYW1vdW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC50b29sYmFyIC5maWVsZC5saW1pdGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnRvb2xiYXIgLnBhZ2VzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudG9vbGJhciAucGFnZXMgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50b29sYmFyIC50b29sYmFyLXNvcnRlciB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC42MjVyZW0pOyB9IH1cblxuI3RvYXN0ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzAwMzY2MDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHBhZGRpbmc6IDIwcHggMzBweCAxNXB4O1xuICBtaW4taGVpZ2h0OiA2MHB4O1xuICBtaW4td2lkdGg6IDI4OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIGJvdHRvbTogLTYwcHg7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJveC1zaGFkb3c6IHJnYmEoNTQsIDU4LCA2NywgMC4xNSkgMCA1cHggMTBweCA2cHg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuNXMgZWFzZS1vdXQ7IH1cbiAgI3RvYXN0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICN0b2FzdGVyLnRvYXN0ZXItdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBib3R0b206IDA7IH1cbiAgI3RvYXN0ZXIgLm1lc3NhZ2VzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3RvYXN0ZXIgLm1lc3NhZ2VzOmxhc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICN0b2FzdGVyIC5tZXNzYWdlczpsYXN0LWNoaWxkIC5tZXNzYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAjdG9hc3RlciAubWVzc2FnZXM6bGFzdC1jaGlsZCAubWVzc2FnZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjdG9hc3Rlci5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI0VGNTk1OTsgfVxuICAjdG9hc3Rlci53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZDODAwOyB9XG4gICN0b2FzdGVyLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMwMDgwNDA7IH1cbiAgI3RvYXN0ZXIuY3RhLCAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbiN0b2FzdGVyLmNvbnRpbnVlLCAuY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbiN0b2FzdGVyLmNoZWNrb3V0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDQzQTYzOyB9XG5cbi5taW5pY2FydC13cmFwcGVyIHtcbiAgY29sb3I6ICMzNjNBNDM7IH1cbiAgLm1pbmljYXJ0LXdyYXBwZXIgLnRvdGFscy1leHRlcm5hbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjE4cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubWluaWNhcnQtd3JhcHBlciAudG90YWxzLWV4dGVybmFsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLnNob3djYXJ0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLnNob3djYXJ0ID4gaW1nIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubWluaWNhcnQtd3JhcHBlciAjdG9wLWNhcnQtYnRuLWNoZWNrb3V0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzQTYzO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWluaWNhcnQtd3JhcHBlciAjdG9wLWNhcnQtYnRuLWNoZWNrb3V0IHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciAjdG9wLWNhcnQtYnRuLWNoZWNrb3V0OmhvdmVyLCAubWluaWNhcnQtd3JhcHBlciAjdG9wLWNhcnQtYnRuLWNoZWNrb3V0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjU3OTQ7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5taW5pY2FydC13cmFwcGVyICN0b3AtY2FydC1idG4tY2hlY2tvdXQ6bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgI3RvcC1jYXJ0LWJ0bi1jaGVja291dDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoNCwgNTgsIDk5LCAwLjQ1KTsgfVxuICAgIC5taW5pY2FydC13cmFwcGVyICN0b3AtY2FydC1idG4tY2hlY2tvdXQ6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubWluaWNhcnQtd3JhcHBlciAjdG9wLWNhcnQtYnRuLWNoZWNrb3V0OmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmJsb2NrLW1pbmljYXJ0IHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZGJlMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogMCA3cHggMTNweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgY29sb3I6ICMwMzEzMjE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZSBub25lO1xuICBtYXJnaW46IDRweCAwIDAgMDtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyLjc1cmVtIDAgMC4yNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTIwcHg7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDM5MHB4O1xuICB6LWluZGV4OiAxMDA7IH1cbiAgLmJsb2NrLW1pbmljYXJ0OmFmdGVyLCAuYmxvY2stbWluaWNhcnQ6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwOyB9XG4gIC5ibG9jay1taW5pY2FydDpiZWZvcmUge1xuICAgIGJvcmRlcjogNnB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSByZ2JhKDAsIDAsIDAsIDApICNGRkZGRkYgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICB6LWluZGV4OiA5OTtcbiAgICB0b3A6IC0xMnB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDI2cHg7IH1cbiAgLmJsb2NrLW1pbmljYXJ0OmFmdGVyIHtcbiAgICBib3JkZXI6IDdweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKSAjYmJiIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgei1pbmRleDogOTg7XG4gICAgdG9wOiAtMTRweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAyNXB4OyB9XG4gIC5ibG9jay1taW5pY2FydCAuYmxvY2stdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJsb2NrLW1pbmljYXJ0IGJ1dHRvbi5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICByaWdodDogMXJlbTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgY29sb3I6ICM5RkE2QUQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5ibG9jay1taW5pY2FydCBidXR0b24uY2xvc2U6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmJsb2NrLW1pbmljYXJ0IGJ1dHRvbi5jbG9zZTpmb2N1cyB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5ibG9jay1taW5pY2FydCAuaXRlbXMtdG90YWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuYmxvY2stbWluaWNhcnQgLml0ZW1zLXRvdGFsIC5jb3VudCB7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5ibG9jay1taW5pY2FydCAuc3VidG90YWwge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuYmxvY2stbWluaWNhcnQgLnN1YnRvdGFsIC5sYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDsgfVxuICAgIC5ibG9jay1taW5pY2FydCAuc3VidG90YWwgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICBjb2xvcjogI2U5NWYxMztcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5ibG9jay1taW5pY2FydCAuYmxvY2stY29udGVudCAuc3VidGl0bGUuZW1wdHkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmJsb2NrLW1pbmljYXJ0IC5ibG9jay1jb250ZW50ID4gLmFjdGlvbnMge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5ibG9jay1taW5pY2FydCAuYWN0aW9ucyB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuYmxvY2stbWluaWNhcnQgLmFjdGlvbnMgLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmJsb2NrLW1pbmljYXJ0IC5hY3Rpb24uY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAuYmxvY2stbWluaWNhcnQgLmFjdGlvbi5jbG9zZSA+IHNwYW4ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4OyB9XG4gICAgLmJsb2NrLW1pbmljYXJ0IC5hY3Rpb24uY2xvc2U6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICBjb250ZW50OiBcIu6kgFwiOyB9XG4gIC5ibG9jay1taW5pY2FydCAuYWN0aW9uLnZpZXdjYXJ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTk1ZjEzO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5ibG9jay1taW5pY2FydCAuYWN0aW9uLnZpZXdjYXJ0IHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuYmxvY2stbWluaWNhcnQgLmFjdGlvbi52aWV3Y2FydDpob3ZlciwgLmJsb2NrLW1pbmljYXJ0IC5hY3Rpb24udmlld2NhcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmN2U0MDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJsb2NrLW1pbmljYXJ0IC5hY3Rpb24udmlld2NhcnQ6bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLmJsb2NrLW1pbmljYXJ0IC5hY3Rpb24udmlld2NhcnQ6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDIzMywgOTUsIDE5LCAwLjQ1KTsgfVxuICAgIC5ibG9jay1taW5pY2FydCAuYWN0aW9uLnZpZXdjYXJ0OmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJsb2NrLW1pbmljYXJ0IC5hY3Rpb24udmlld2NhcnQ6ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYmxvY2stbWluaWNhcnQgLnN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ibG9jay1taW5pY2FydCAubWluaWNhcnQtaXRlbXMge1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogLTJweCAwcHggNHB4IDRweCByZ2JhKDUwLCA1MCwgNTAsIDAuMSkgaW5zZXQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5ibG9jay1taW5pY2FydCAub3ZlcmZsb3dlZCAubWluaWNhcnQtaXRlbXMge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG5vbC5taW5pY2FydC1pdGVtcyBsaSB7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbSAycmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZGJlMDsgfVxuICBvbC5taW5pY2FydC1pdGVtcyBsaS5wcm9kdWN0IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgYSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDAzNjYwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgPiAucHJvZHVjdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAucHJvZHVjdCB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgLnByb2R1Y3QuYWN0aW9ucyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAucHJvZHVjdC1pbWFnZS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICBvbC5taW5pY2FydC1pdGVtcyBsaS5wcm9kdWN0IC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciAucHJvZHVjdC1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAucHJvZHVjdC1pdGVtLXBob3RvIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XG4gICAgICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgLnByb2R1Y3QtaXRlbS1waG90byBpbWcge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmRiZTA7IH1cbiAgICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICBvbC5taW5pY2FydC1pdGVtcyBsaS5wcm9kdWN0IC5wcm9kdWN0LWl0ZW0tbmFtZSBhIHtcbiAgICAgICAgICBjb2xvcjogIzA0M0E2MztcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBicmVhay1zcGFjZXM7IH1cbiAgICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5hY3Rpb25zIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLmFjdGlvbnMgLnByaW1hcnksXG4gICAgICAgICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLmFjdGlvbnMgLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCAxMHB4IDA7IH1cbiAgICAgICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLmFjdGlvbi5lZGl0IHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLmFjdGlvbi5lZGl0OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICAgIGNvbnRlbnQ6IFwi7qSLXCI7IH1cbiAgICAgICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLmFjdGlvbi5kZWxldGUgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBvbC5taW5pY2FydC1pdGVtcyBsaS5wcm9kdWN0IC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuYWN0aW9uLmRlbGV0ZTpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgICAgICBjb250ZW50OiBcIu6kiVwiOyB9XG4gICAgICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgLnByb2R1Y3QtaXRlbS1kZXRhaWxzOmFmdGVyIHtcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAucHJvZHVjdC1pdGVtLXByaWNpbmcge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgICBvbC5taW5pY2FydC1pdGVtcyBsaS5wcm9kdWN0IC5wcm9kdWN0LWl0ZW0tcHJpY2luZyAucHJpY2Uge1xuICAgICAgICAgIGNvbG9yOiAjZTk1ZjEzO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICBvbC5taW5pY2FydC1pdGVtcyBsaS5wcm9kdWN0IC5vcHRpb25zIC50b2dnbGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICBvbC5taW5pY2FydC1pdGVtcyBsaS5wcm9kdWN0IC5vcHRpb25zIC50b2dnbGU6YWZ0ZXIge1xuICAgICAgICBmb250LWZhbWlseTogJ3Njb3V0JztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICBjb250ZW50OiBcIu6klVwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzOyB9XG4gICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAub3B0aW9ucy5hY3RpdmUgLnRvZ2dsZTphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgb2wubWluaWNhcnQtaXRlbXMgbGkucHJvZHVjdCAuZGV0YWlscy1xdHkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgLmRldGFpbHMtcXR5IC5xdHktY29udHJvbC1idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjE4NzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICAgICAgd2lkdGg6IDJyZW07IH1cbiAgICAgIG9sLm1pbmljYXJ0LWl0ZW1zIGxpLnByb2R1Y3QgLmRldGFpbHMtcXR5IGlucHV0IHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjMDAzNjYwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tb2RhbC1wb3B1cCxcbi5tb2RhbC1zbGlkZSB7XG4gIHotaW5kZXg6IDk5OSAhaW1wb3J0YW50O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm1vZGFsLXBvcHVwLl9zaG93LFxuICAubW9kYWwtc2xpZGUuX3Nob3cge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAubW9kYWwtcG9wdXAuX3Nob3cgLm1vZGFsLWlubmVyLXdyYXAsXG4gICAgLm1vZGFsLXNsaWRlLl9zaG93IC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5tb2RhbC1wb3B1cCAubW9kYWxzLW92ZXJsYXksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWxzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiA4OTk7IH1cbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwLFxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDEycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtaGVhZGVyLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5tb2RhbC1oZWFkZXIsXG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLm1vZGFsLXRpdGxlLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjMmUzMTM0O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWluLWhlaWdodDogMWVtO1xuICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5tb2RhbC1jb250ZW50LFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICBib3gtc2hhZG93OiAtMnB4IDBweCA0cHggNHB4IHJnYmEoNTAsIDUwLCA1MCwgMC4xKSBpbnNldDsgfVxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLm1vZGFsLXNsaWRlIHtcbiAgbGVmdDogMi43NXJlbTsgfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgdmlzaWJpbGl0eTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5tb2RhbC1zbGlkZS5fc2hvdyAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIC5tb2RhbC1zbGlkZS5faW5uZXItc2Nyb2xsIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5tb2RhbC1zbGlkZS5faW5uZXItc2Nyb2xsIC5tb2RhbC1oZWFkZXIsXG4ubW9kYWwtc2xpZGUuX2lubmVyLXNjcm9sbCAubW9kYWwtZm9vdGVyIHtcbiAgLXdlYmtpdC1mbGV4LWdyb3c6IDA7XG4gIGZsZXgtZ3JvdzogMDtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgZmxleC1zaHJpbms6IDA7IH1cblxuLm1vZGFsLXNsaWRlLl9pbm5lci1zY3JvbGwgLm1vZGFsLWNvbnRlbnQge1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5tb2RhbC1wb3B1cCB7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLm1vZGFsLXBvcHVwLl9zaG93IC5tb2RhbC1pbm5lci13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAge1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW46IDVyZW0gYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCB2aXNpYmlsaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG5cbi5tb2RhbC1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAzNi4yNXJlbTsgfSB9XG5cbi5tb2RhbC1wb3B1cC5faW5uZXItc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuXG4uaWUxMCAubW9kYWwtcG9wdXAuX2lubmVyLXNjcm9sbCxcbi5pZTkgLm1vZGFsLXBvcHVwLl9pbm5lci1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5tb2RhbC1wb3B1cC5faW5uZXItc2Nyb2xsIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgbWF4LWhlaWdodDogOTAlOyB9XG5cbi5pZTEwIC5tb2RhbC1wb3B1cC5faW5uZXItc2Nyb2xsIC5tb2RhbC1pbm5lci13cmFwLFxuLmllOSAubW9kYWwtcG9wdXAuX2lubmVyLXNjcm9sbCAubW9kYWwtaW5uZXItd3JhcCB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7IH1cblxuLm1vZGFsLXBvcHVwLl9pbm5lci1zY3JvbGwgLm1vZGFsLWNvbnRlbnQge1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5tb2RhbC1wb3B1cCAubW9kYWwtY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXItYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZSxcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogNDAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG4gIC5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZTpob3ZlcixcbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2U6aG92ZXIsXG4gIC5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZTpmb2N1cyxcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlOmZvY3VzLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2U6Zm9jdXMsXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2U6YWN0aXZlLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2U6YWN0aXZlLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2U6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZTpob3Zlcixcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlOmhvdmVyLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlLmRpc2FibGVkLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2UuZGlzYWJsZWQsXG4ubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZS5kaXNhYmxlZCxcbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZVtkaXNhYmxlZF0sXG4ubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZVtkaXNhYmxlZF0sXG4ubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZVtkaXNhYmxlZF0sXG5maWVsZHNldFtkaXNhYmxlZF0gLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlLFxuZmllbGRzZXRbZGlzYWJsZWRdIC5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2UgPiBzcGFuLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2UgPiBzcGFuLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2UgPiBzcGFuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7IH1cblxuLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlOmJlZm9yZSxcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlOmJlZm9yZSxcbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlOmJlZm9yZSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBjb2xvcjogIzhBOEQ5NjtcbiAgY29udGVudDogJ8OXJztcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHNwZWFrOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlOmhvdmVyOmJlZm9yZSxcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlOmhvdmVyOmJlZm9yZSxcbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZTphY3RpdmU6YmVmb3JlLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2U6YWN0aXZlOmJlZm9yZSxcbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlOmFjdGl2ZTpiZWZvcmUge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2U6aG92ZXI6YmVmb3JlLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2U6aG92ZXI6YmVmb3JlLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2U6aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlIHtcbiAgbWFyZ2luOiAyNXB4OyB9XG5cbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlIHtcbiAgcGFkZGluZzogMTBweDsgfVxuXG4ubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSB7XG4gIHBhZGRpbmc6IDEuMXJlbSAycmVtOyB9XG5cbi5tb2RhbC1zbGlkZSAucGFnZS1tYWluLWFjdGlvbnMge1xuICBtYXJnaW4tYm90dG9tOiAtMTIuOXJlbTtcbiAgbWFyZ2luLXRvcDogMi4xcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC8qaW5jbHVkZSA3NjlweCA/Ki9cbiAgLm1vZGFsLXBvcHVwLS13aWRlIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICB3aWR0aDogOTAlOyB9IH1cblxuLl9oYXMtbW9kYWwge1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxuLnNuYWNrYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICBoZWlnaHQ6IDYwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjMxM3JlbTtcbiAgYmFja2dyb3VuZDogIzAwMzY2MDtcbiAgY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgLTVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAuc25hY2tiYXIgc3ZnIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gNXB4OyB9XG4gIC5zbmFja2JhciBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuNjg4cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zbmFja2Jhcl9fbGluayB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5zbmFja2Jhcl9fbGluazpob3Zlcixcbi5zbmFja2Jhcl9fbGluazphY3RpdmUsXG4uc25hY2tiYXJfX2xpbms6dmlzaXRlZCB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5wcm9kdWN0LW1lbnUtdHJpZ2dlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZm9vdGVyLXN0b3JlLXNlbGVjdG9yX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuN3JlbTsgfVxuXG4uZm9vdGVyLXN0b3JlLXNlbGVjdG9yX19pY29uIHtcbiAgd2lkdGg6IDIuMjVyZW07XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgbWFyZ2luLXRvcDogLTdweDsgfVxuXG4uZm9vdGVyLW15c3RvcmVfX3N0b3JlLW5hbWUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjFlbTsgfVxuXG4uZm9vdGVyLW15c3RvcmVfX3N0b3JlLWFkZHJlc3MtbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5pbmRpY2F0b3ItY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDVweDsgfVxuXG4uc3RvcmUtc3RvY2staW5kaWNhdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiNmb290ZXJ3YXJlaG91c2VsaXN0LFxuI3N0b3Jlc3RvY2stbW9kYWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zdG9yZS1zZWxlY3Rvci1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgd2lkdGg6IDY0MHB4OyB9IH1cblxuLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zdG9yZWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fcm93OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkYmUwO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RvcmUtc2VsZWN0b3ItbW9kYWxfX3JvdzphZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fcm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fcm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuICAuc3RvcmUtc2VsZWN0b3ItbW9kYWxfX3JvdyAuc3RvcmUtc2VsZWN0b3ItbW9kYWxfX3N0b3JlLW5hbWUtc3RhdHVzLXdyYXBwZXIge1xuICAgIHdpZHRoOiBjYWxjKDcwLjgzMzMzJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiA2cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19yb3cgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zdG9yZS1uYW1lLXN0YXR1cy13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMnJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAgICAgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19yb3cgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zdG9yZS1uYW1lLXN0YXR1cy13cmFwcGVyIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc3RvcmVuYW1lIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAycmVtKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19yb3cgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zdG9yZS1uYW1lLXN0YXR1cy13cmFwcGVyIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc3RvcmVzdGF0dXMge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDJyZW0pO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfSB9XG4gIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fcm93IC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc3RvcmVuYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fcm93IC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc3RvcmVuYW1lIHtcbiAgICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fcm93IC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc2VsZWN0LXN0b3JlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IGNhbGMoMjkuMTY2NjclIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19yb3cgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zZWxlY3Qtc3RvcmUtYnV0dG9uIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuc3RvcmUtc2VsZWN0b3ItbW9kYWxfX3JvdyAuc3RvcmUtc2VsZWN0b3ItbW9kYWxfX3NlbGVjdC1zdG9yZS1idXR0b246aG92ZXIsIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fcm93IC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc2VsZWN0LXN0b3JlLWJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MzkzO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuc3RvcmUtc2VsZWN0b3ItbW9kYWxfX3JvdyAuc3RvcmUtc2VsZWN0b3ItbW9kYWxfX3NlbGVjdC1zdG9yZS1idXR0b246bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19yb3cgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zZWxlY3Qtc3RvcmUtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE1cHggcmdiYSgwLCA1NCwgOTYsIDAuNDUpOyB9XG4gICAgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19yb3cgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zZWxlY3Qtc3RvcmUtYnV0dG9uOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19yb3cgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zZWxlY3Qtc3RvcmUtYnV0dG9uOmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19yb3cgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zZWxlY3Qtc3RvcmUtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuICAuc3RvcmUtc2VsZWN0b3ItbW9kYWxfX3JvdzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5pbml0aWFscy1jaXJjbGUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5pbml0aWFscy1jaXJjbGUtLXBhZ2UtaGVhZGVyIHtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmluaXRpYWxzLWNpcmNsZS0tcGFnZS1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmluaXRpYWxzLWNpcmNsZS0tcGFnZS1oZWFkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxOXB4O1xuICB3aWR0aDogMTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAtNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTYxOTI0O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBmb250LXNpemU6IDEuMWVtO1xuICBjb2xvcjogIzM2M0E0MztcbiAgY29udGVudDogXCJcXDI1QkVcIjtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjRkZGRkZGIDAlLCAjOTI5RkIwIDEwMCUpOyB9XG5cbi5pbml0aWFscy1jaXJjbGUtLWRhc2hib2FyZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiA5MHB4O1xuICBmb250LXNpemU6IDMycHg7IH1cblxuLmdvb2dsZW1hcCAubG9jYXRpb24tYm94LXZpZXcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmlzLWRyaWxsZG93bi1zdWJtZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudSBhLFxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51IGlucHV0LFxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgc2VsZWN0LFxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSxcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLm9mZi1jYW52YXMgLmxvZ28ge1xuICAgIHBhZGRpbmc6IDAuODc1cmVtOyB9XG4gIC5vZmYtY2FudmFzIGhyIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm9mZi1jYW52YXMgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNjg4cmVtO1xuICAgIGNvbG9yOiAjOEE4RDk2OyB9XG4gICAgLm9mZi1jYW52YXMgLnNtYWxsIGEge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLm9mZi1jYW52YXMgLnZlcnRpY2FsLm1lbnUgYSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgcGFkZGluZzogMC43MjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmRiZTA7IH1cbiAgLm9mZi1jYW52YXMgLnZlcnRpY2FsLm1lbnUgLmpzLWRyaWxsZG93bi1iYWNrIGEge1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7IH1cbiAgLm9mZi1jYW52YXMgLnRheC1zd2l0Y2hlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm9mZi1jYW52YXMgLnRheC1zd2l0Y2hlci13cmFwcGVyIC50YXgtc3dpdGNoZXItd3JhcHBlciB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAub2ZmLWNhbnZhcyAudGF4LXN3aXRjaGVyLXdyYXBwZXIgLnRheC1zd2l0Y2hlci1mb3JtLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzIC50YXgtc3dpdGNoZXItd3JhcHBlciAudGF4LXN3aXRjaGVyLWJ1dHRvbnMtd3JhcHBlciB7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGhlaWdodDogMjlweDtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5NEQ1NjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM0OTRENTY7IH1cbiAgICAub2ZmLWNhbnZhcyAudGF4LXN3aXRjaGVyLXdyYXBwZXIgLnRheC1zd2l0Y2hlci1idXR0b24ge1xuICAgICAgd2lkdGg6IDcycHg7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcmlnaHQ6IDBweDsgfVxuICAgIC5vZmYtY2FudmFzIC50YXgtc3dpdGNoZXItd3JhcHBlciAudGF4LXN3aXRjaGVyLWJ1dHRvbjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAub2ZmLWNhbnZhcyAudGF4LXN3aXRjaGVyLXdyYXBwZXIgLnRheC1zd2l0Y2hlci1idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgbGVmdDogMHB4OyB9XG4gICAgLm9mZi1jYW52YXMgLnRheC1zd2l0Y2hlci13cmFwcGVyICN0YXgtc3dpdGNoZXItYmcge1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgd2lkdGg6IDc2cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyQjJFMzc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAwOyB9XG4gICAgLm9mZi1jYW52YXMgLnRheC1zd2l0Y2hlci13cmFwcGVyIC50YXgtc3dpdGNoZXItYmctMSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDBweDsgfVxuICAgIC5vZmYtY2FudmFzIC50YXgtc3dpdGNoZXItd3JhcHBlciAudGF4LXN3aXRjaGVyLWJnLTIge1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgLm9mZi1jYW52YXMgLmNvcHlyaWdodCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4ubG9hZGluZy1tYXNrIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLmxvYWRpbmctbWFzayAubG9hZGVyID4gaW1nIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwO1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xuICB3aWR0aDogMnJlbTsgfVxuXG4uX2NvbGxhcHNpYmxlIC5hY3Rpb24tdG9nZ2xlOmFmdGVyLFxuLmNvbGxhcHNpYmxlIC5jb2xsYXBzaWJsZV9fdGl0bGU6YWZ0ZXIge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgY29udGVudDogXCJrZXlib2FyZF9hcnJvd19kb3duXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41czsgfVxuXG4uX2NvbGxhcHNpYmxlLl9hY3RpdmUgLmFjdGlvbi10b2dnbGU6YWZ0ZXIsXG4uY29sbGFwc2libGUuYWN0aXZlIC5jb2xsYXBzaWJsZV9fdGl0bGU6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5fd2l0aC10b29sdGlwIC5maWVsZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuX3dpdGgtdG9vbHRpcCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDsgfVxuICAuX3dpdGgtdG9vbHRpcCAuZmllbGQtdG9vbHRpcCAuYWN0aW9uLWhlbHA6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuX3dpdGgtdG9vbHRpcCAuZmllbGQtdG9vbHRpcCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5fd2l0aC10b29sdGlwIC5maWVsZC10b29sdGlwLl9hY3RpdmUgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtN3B4O1xuICAgIHRvcDogMjhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDZkYmUwO1xuICAgIHBhZGRpbmc6IDAuNjVyZW07XG4gICAgei1pbmRleDogOTsgfVxuXG4udWktdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudWktdG9vbHRpcCAudWktdG9vbHRpcC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM4LCAzOSwgNDAsIDAuOSk7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIG1heC13aWR0aDogMTJyZW07XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG5cbi5wYWdlLm1lc3NhZ2VzIHtcbiAgYm90dG9tOiAtMTguNzVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRyYW5zaXRpb246IGJvdHRvbSA0MDBtcyBlYXNlLWluLW91dDsgfVxuICAucGFnZS5tZXNzYWdlcy5oYXMtbWVzc2FnZXMge1xuICAgIGJvdHRvbTogMDsgfVxuICAucGFnZS5tZXNzYWdlcyA+IGRpdltkYXRhLXBsYWNlaG9sZGVyPVwibWVzc2FnZXNcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBhZ2UubWVzc2FnZXMgPiBkaXYge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI0ZGRkZGRjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzQTYzO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5wYWdlLm1lc3NhZ2VzIC5tZXNzYWdlIGRpdltkYXRhLWJpbmQ9XCJodG1sOiBtZXNzYWdlLnRleHRcIl0gYSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmhlcm8tZnVsbC13aWR0aCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmhlcm8tZnVsbC13aWR0aCBhIHtcbiAgICBkaXNwbGF5OiBjb250ZW50czsgfVxuICAuaGVyby1mdWxsLXdpZHRoLmZpZnR5LWZpZnR5IHtcbiAgICBkaXNwbGF5OiBncmlkOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZXJvLWZ1bGwtd2lkdGguZmlmdHktZmlmdHkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgLmhlcm8tZnVsbC13aWR0aC1pbWFnZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgbWF4LWhlaWdodDogdmFyKC0tbWF4SGVpZ2h0KTsgfVxuICAuaGVyby1mdWxsLXdpZHRoIC5zY291dC1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDJyZW07XG4gICAgbGVmdDogMnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVyby1mdWxsLXdpZHRoIC5zY291dC1idXR0b24ge1xuICAgICAgICBib3R0b206IDRyZW07XG4gICAgICAgIGxlZnQ6IDRyZW07IH0gfVxuICAuaGVyby1mdWxsLXdpZHRoLWZpZnR5LWZpZnR5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAzNjYwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgLmhlcm8tZnVsbC13aWR0aC1maWZ0eS1maWZ0eS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDJyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZXJvLWZ1bGwtd2lkdGgtZmlmdHktZmlmdHktY29udGVudCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgICBtYXJnaW46IDJyZW0gYXV0bztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMnJlbSAxcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5oZXJvLWZ1bGwtd2lkdGgtZmlmdHktZmlmdHktY29udGVudCB7XG4gICAgICAgICAgbWFyZ2luOiAzcmVtIGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMnJlbTsgfSB9XG4gICAgICAuaGVyby1mdWxsLXdpZHRoLWZpZnR5LWZpZnR5LWNvbnRlbnQgaDIge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgICAuaGVyby1mdWxsLXdpZHRoLWZpZnR5LWZpZnR5LWNvbnRlbnQgcCB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAgIC5oZXJvLWZ1bGwtd2lkdGgtZmlmdHktZmlmdHktY29udGVudCAuc2NvdXQtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLmhlcm8tZnVsbC13aWR0aC1maWZ0eS1maWZ0eS1jb250ZW50IC5zY291dC1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7IH0gfVxuXG4uYmxvY2stdGl0bGUge1xuICBjb2xvcjogIzAwMzY2MDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbjogMXJlbSAwOyB9XG5cbi5hZ2UtZ3JvdXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDFyZW0gMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmFnZS1ncm91cHMgYSB7XG4gICAgZGlzcGxheTogY29udGVudHM7IH1cbiAgICAuYWdlLWdyb3VwcyBhIC5hZ2UtZ3JvdXAge1xuICAgICAgbWluLXdpZHRoOiBjYWxjKDEwMHB4ICsgMXJlbSk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxMDBweCBhdXRvO1xuICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5hZ2UtZ3JvdXBzIGEgLmFnZS1ncm91cCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDYpOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5hZ2UtZ3JvdXBzIGEgLmFnZS1ncm91cCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDkpOyB9IH1cbiAgICAgIC5hZ2UtZ3JvdXBzIGEgLmFnZS1ncm91cC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmxvYi5zdmdcIik7XG4gICAgICAgIG1hc2stc2l6ZTogY292ZXI7IH1cbiAgICAgICAgLmFnZS1ncm91cHMgYSAuYWdlLWdyb3VwLWltYWdlIGltZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwcHg7IH1cbiAgICAgIC5hZ2UtZ3JvdXBzIGEgLmFnZS1ncm91cC10ZXh0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgLmFnZS1ncm91cHMub3dsLWNhcm91c2VsIC5vd2wtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmFnZS1ncm91cHMub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbltjbGFzcyo9b3dsLV0ge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmRiZTA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZTsgfVxuICAgICAgLmFnZS1ncm91cHMub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbltjbGFzcyo9b3dsLV0ub3dsLXByZXY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICBjb250ZW50OiBcIu6kk1wiO1xuICAgICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgICAgLmFnZS1ncm91cHMub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbltjbGFzcyo9b3dsLV0ub3dsLW5leHQ6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICBjb250ZW50OiBcIu6kllwiO1xuICAgICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgICAgLmFnZS1ncm91cHMub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbltjbGFzcyo9b3dsLV0gaSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRocmVlLWltYWdlcy1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudGhyZWUtaW1hZ2VzLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGhyZWUtaW1hZ2VzLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgY29sdW1uLWdhcDogMXJlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyOyB9IH1cbiAgLnRocmVlLWltYWdlcy1jb250YWluZXIgLnRocmVlLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBncmlkLXJvdzogMTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAudGhyZWUtaW1hZ2VzLWNvbnRhaW5lciAudGhyZWUtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICAgIC50aHJlZS1pbWFnZXMtY29udGFpbmVyIC50aHJlZS1pbWFnZSBpbWcge1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gICAgLnRocmVlLWltYWdlcy1jb250YWluZXIgLnRocmVlLWltYWdlIC5zY291dC1idXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAycmVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgLnRocmVlLWltYWdlcy1jb250YWluZXIgLnRocmVlLWltYWdlLWxpbmsge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAxLjVyZW0gMCAwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbi5jYW1wYWlnbi13cmFwcGVyIC5oZXJvLmNhbXBhaWduIHtcbiAgaGVpZ2h0OiAxMDB2dztcbiAgbWF4LWhlaWdodDogdW5zZXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYW1wYWlnbi13cmFwcGVyIC5oZXJvLmNhbXBhaWduIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIC5jYW1wYWlnbi13cmFwcGVyIC5oZXJvLmNhbXBhaWduIC50ZXh0LWhvbGRlciB7XG4gICAgYm90dG9tOiAycmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogdW5zZXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgLmNhbXBhaWduLXdyYXBwZXIgLmhlcm8uY2FtcGFpZ24gLnRleHQtaG9sZGVyIC5zY291dC1idXR0b24ge1xuICAgICAgcG9zaXRpb246IHVuc2V0OyB9XG5cbi5jYW1wYWlnbi13cmFwcGVyIC5wcm9kdWN0LWl0ZW0tY29udGFpbmVyOm50aC1jaGlsZChvZGQpIC5wcm9kdWN0LWl0ZW0taW5mbyB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5jYW1wYWlnbi13cmFwcGVyIC5wcm9kdWN0LWl0ZW0tY29udGFpbmVyOm50aC1jaGlsZChldmVuKSAucHJvZHVjdC1pdGVtLWluZm8ge1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5jYW1wYWlnbi13cmFwcGVyIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gIG1hcmdpbjogMC41cmVtIDA7IH1cblxuLmNhbXBhaWduLXdyYXBwZXIgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlci5jYW1wYWlnbiB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmNhbXBhaWduLXdyYXBwZXIgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlci5jYW1wYWlnbiBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0LXRvcC1saXN0IC5wcm9kdWN0LWl0ZW1zIC5vd2wtbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAucHJvZHVjdC10b3AtbGlzdCAucHJvZHVjdC1pdGVtcyAub3dsLW5hdiBidXR0b25bY2xhc3MqPW93bC1dIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmRiZTA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IC4zcyBlYXNlOyB9XG4gICAgLnByb2R1Y3QtdG9wLWxpc3QgLnByb2R1Y3QtaXRlbXMgLm93bC1uYXYgYnV0dG9uW2NsYXNzKj1vd2wtXS5vd2wtcHJldjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgIGNvbnRlbnQ6IFwi7qSTXCI7IH1cbiAgICAucHJvZHVjdC10b3AtbGlzdCAucHJvZHVjdC1pdGVtcyAub3dsLW5hdiBidXR0b25bY2xhc3MqPW93bC1dLm93bC1uZXh0OmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogJ3Njb3V0JztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgY29udGVudDogXCLupJZcIjsgfVxuICAgIC5wcm9kdWN0LXRvcC1saXN0IC5wcm9kdWN0LWl0ZW1zIC5vd2wtbmF2IGJ1dHRvbltjbGFzcyo9b3dsLV0gaSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi50b3Age1xuICByb3ctZ2FwOiAxLjVyZW07IH1cbiAgLnRvcCAuY2VsbCAuaGVybywgLnRvcCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1uYXZpZ2F0aW9uIC5oZXJvLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnRvcCAuZm9vdGVyLW5hdmlnYXRpb24gLmhlcm8sIC50b3AgZm9vdGVyIC5mb290ZXItbmF2aWdhdGlvbi13cmFwcGVyIC5mb290ZXItY29udGFjdC1pbmZvIC5oZXJvLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnRvcCAuZm9vdGVyLWNvbnRhY3QtaW5mbyAuaGVybywgLnRvcCAuZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLnN1YnNjcmliZSAuaGVybywgLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC50b3AgLnN1YnNjcmliZSAuaGVybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuICAgIC50b3AgLmNlbGwgLmhlcm8gLnNjb3V0LWJ1dHRvbiwgLnRvcCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLmZvb3Rlci1uYXZpZ2F0aW9uIC5oZXJvIC5zY291dC1idXR0b24sIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAudG9wIC5mb290ZXItbmF2aWdhdGlvbiAuaGVybyAuc2NvdXQtYnV0dG9uLCAudG9wIGZvb3RlciAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciAuZm9vdGVyLWNvbnRhY3QtaW5mbyAuaGVybyAuc2NvdXQtYnV0dG9uLCBmb290ZXIgLmZvb3Rlci1uYXZpZ2F0aW9uLXdyYXBwZXIgLnRvcCAuZm9vdGVyLWNvbnRhY3QtaW5mbyAuaGVybyAuc2NvdXQtYnV0dG9uLCAudG9wIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAuc3Vic2NyaWJlIC5oZXJvIC5zY291dC1idXR0b24sIC5mb290ZXItY3VzdG9tZXItY2x1YiAuYWN0aW9ucyAudG9wIC5zdWJzY3JpYmUgLmhlcm8gLnNjb3V0LWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDJyZW07XG4gICAgICBsZWZ0OiAycmVtOyB9XG5cbi5jbXMtaW5kZXgtaW5kZXggLnBhZ2UtbWFpbiB7XG4gIGJhY2tncm91bmQ6ICNGMUY0ZjY7IH1cblxuLmNtcy1pbmRleC1pbmRleCAuaGVybyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtaW5kZXgtaW5kZXggLmhlcm8ge1xuICAgICAgbWF4LWhlaWdodDogMjh2dzsgfSB9XG4gIC5jbXMtaW5kZXgtaW5kZXggLmhlcm8gLnRleHQtaG9sZGVyIHtcbiAgICBib3R0b206IDAuNjI1cmVtO1xuICAgIGxlZnQ6IDAuNjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMC42MjVyZW07XG4gICAgdG9wOiBhdXRvO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAuY21zLWluZGV4LWluZGV4IC5oZXJvIC50ZXh0LWhvbGRlciBoMixcbiAgICAuY21zLWluZGV4LWluZGV4IC5oZXJvIC50ZXh0LWhvbGRlciBoMyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAzNjYwO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5jbXMtaW5kZXgtaW5kZXggLmhlcm8gLnRleHQtaG9sZGVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9XG4gICAgLmNtcy1pbmRleC1pbmRleCAuaGVybyAudGV4dC1ob2xkZXIgaDMge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY21zLWluZGV4LWluZGV4IC5oZXJvIC50ZXh0LWhvbGRlciB7XG4gICAgICAgIGJvdHRvbTogMS44NzVyZW07XG4gICAgICAgIGxlZnQ6IDEuODc1cmVtO1xuICAgICAgICByaWdodDogMS44NzVyZW07IH1cbiAgICAgICAgLmNtcy1pbmRleC1pbmRleCAuaGVybyAudGV4dC1ob2xkZXIgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICAgICAgICAuY21zLWluZGV4LWluZGV4IC5oZXJvIC50ZXh0LWhvbGRlciBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY21zLWluZGV4LWluZGV4IC5zdHJldGNoLWl0ZW1zIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMnJlbSk7IH0gfVxuXG4uY21zLWluZGV4LWluZGV4IC5iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNtcy1pbmRleC1pbmRleCAuYmFubmVyLmZpeGVkLWhlaWdodCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jbXMtaW5kZXgtaW5kZXggLmJhbm5lci5maXhlZC1oZWlnaHQgaW1nIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAuY21zLWluZGV4LWluZGV4IC5iYW5uZXIgLnRleHQtaG9sZGVyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuY21zLWluZGV4LWluZGV4IC5iYW5uZXIgLnRleHQtaG9sZGVyLmJvdHRvbSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApLCAjMDAwMDAwKTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogYXV0bzsgfVxuICAgIC5jbXMtaW5kZXgtaW5kZXggLmJhbm5lciAudGV4dC1ob2xkZXIudG9wIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDsgfVxuICAgIC5jbXMtaW5kZXgtaW5kZXggLmJhbm5lciAudGV4dC1ob2xkZXIubGVmdCB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5jbXMtaW5kZXgtaW5kZXggLmJhbm5lciAudGV4dC1ob2xkZXIuZnVsbCB7XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwOyB9XG4gICAgLmNtcy1pbmRleC1pbmRleCAuYmFubmVyIC50ZXh0LWhvbGRlciAuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNtcy1pbmRleC1pbmRleCAuYmFubmVyIC50ZXh0LWhvbGRlciAuaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICAuY21zLWluZGV4LWluZGV4IC5iYW5uZXIgLnRleHQtaG9sZGVyIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLmNtcy1pbmRleC1pbmRleCAuYmFubmVyIC50ZXh0LWhvbGRlciBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWluZGV4LWluZGV4IC5iYW5uZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuY21zLWluZGV4LWluZGV4IC5iYW5uZXIuYXV0b3Bvc2l0aW9uIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICAuY21zLWluZGV4LWluZGV4IC5iYW5uZXIuYXV0b3Bvc2l0aW9uIGltZyB7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgIC5jbXMtaW5kZXgtaW5kZXggLmJhbm5lciAudGV4dC1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgICAgICAgLmNtcy1pbmRleC1pbmRleCAuYmFubmVyIC50ZXh0LWhvbGRlci50b3AtbGVmdCB7XG4gICAgICAgICAgcmlnaHQ6IDUwJTsgfVxuICAgICAgICAuY21zLWluZGV4LWluZGV4IC5iYW5uZXIgLnRleHQtaG9sZGVyLnRvcC1yaWdodCB7XG4gICAgICAgICAgbGVmdDogNTAlOyB9XG4gICAgICAgIC5jbXMtaW5kZXgtaW5kZXggLmJhbm5lciAudGV4dC1ob2xkZXIubGVmdCB7XG4gICAgICAgICAgcmlnaHQ6IDUwJTsgfVxuICAgICAgICAuY21zLWluZGV4LWluZGV4IC5iYW5uZXIgLnRleHQtaG9sZGVyLnJpZ2h0IHtcbiAgICAgICAgICBsZWZ0OiA1MCU7IH1cbiAgICAgIC5jbXMtaW5kZXgtaW5kZXggLmJhbm5lciAuaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY21zLWluZGV4LWluZGV4IC5iYW5uZXIgLnRleHQtaG9sZGVyIC5pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgbWFyZ2luOiAwIDEuODc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY21zLWluZGV4LWluZGV4IC5iYW5uZXIgLnRleHQtaG9sZGVyIC5pY29uIGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0gfVxuXG4uY21zLWluZGV4LWluZGV4IC5ncm91cCB7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY21zLWluZGV4LWluZGV4IC5ncm91cC1pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMzZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY21zLWluZGV4LWluZGV4IC5ncm91cC1ncmVlbiB7XG4gICAgYmFja2dyb3VuZDogIzQxYTYyYTsgfVxuICAuY21zLWluZGV4LWluZGV4IC5ncm91cC1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDBhOGUxOyB9XG4gIC5jbXMtaW5kZXgtaW5kZXggLmdyb3VwLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZDogI2U5NWYxMzsgfVxuICAuY21zLWluZGV4LWluZGV4IC5ncm91cC1mdWNoc2lhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGEwMDVlOyB9XG4gIC5jbXMtaW5kZXgtaW5kZXggLmdyb3VwLXllbGxvdyB7XG4gICAgYmFja2dyb3VuZDogI2UyZTAwMDtcbiAgICBjb2xvcjogIzgzN2EwMjsgfVxuICAuY21zLWluZGV4LWluZGV4IC5ncm91cC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAzNjYwOyB9XG4gIC5jbXMtaW5kZXgtaW5kZXggLmdyb3VwLXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZDogIzdkNDE5OTsgfVxuICAuY21zLWluZGV4LWluZGV4IC5ncm91cC1tYXR0ZWJsdWUge1xuICAgIGJhY2tncm91bmQ6ICMxZDQ0ODY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtaW5kZXgtaW5kZXggLmdyb3VwIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAgIC5jbXMtaW5kZXgtaW5kZXggLmdyb3VwLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDMyMXB4KSB7XG4gICAgLmNtcy1pbmRleC1pbmRleCAuZ3JvdXAge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jbXMtaW5kZXgtaW5kZXggLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIC5jbXMtaW5kZXgtaW5kZXggLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuY21zLWluZGV4LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTsgfVxuICAgICAgLmNtcy1pbmRleC1pbmRleCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWltYWdlLXBob3RvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jbXMtaW5kZXgtaW5kZXggLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pbWFnZS1waG90byB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmNtcy1pbmRleC1pbmRleCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyxcbiAgICAgIC5jbXMtaW5kZXgtaW5kZXggLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSAudG9jb21wYXJlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNtcy1pbmRleC1pbmRleCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLmNtcy1pbmRleC1pbmRleCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAuY21zLWluZGV4LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTsgfVxuICAgICAgLmNtcy1pbmRleC1pbmRleCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWltYWdlLXBob3RvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY21zLWluZGV4LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaW1hZ2UtcGhvdG8ge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY21zLWluZGV4LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbS1hY3Rpb25zLFxuICAgICAgLmNtcy1pbmRleC1pbmRleCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC50b2NvbXBhcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNtcy1pbmRleC1pbmRleCAuYmxvY2stcHJvZHVjdHMtbGlzdCAuYmxvY2stdGl0bGUge1xuICBjb2xvcjogIzAwMzY2MDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmNtcy1pbmRleC1pbmRleCAuYmxvY2stcHJvZHVjdHMtbGlzdCAuYmxvY2stdGl0bGUgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5jbXMtaW5kZXgtaW5kZXggLmJsb2NrLXByb2R1Y3RzLWxpc3QgLmJsb2NrLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtaW5kZXgtaW5kZXggLmJsb2NrLXByb2R1Y3RzLWxpc3QgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfSB9XG5cbi5jbXMtaW5kZXgtaW5kZXggLm1hcmdpbi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5jbXMtaW5kZXgtaW5kZXggLm1hcmdpbi1ib3R0b206bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY21zLWluZGV4LWluZGV4IC5tYXJnaW4tYm90dG9tLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4LnBhZ2UtbGF5b3V0LTFjb2x1bW4gLnBhZ2UtdGl0bGUtd3JhcHBlcixcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtbiAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXgucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuY29sdW1uLm1haW4sXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCAuY29sdW1uLm1haW4ge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDJyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfSB9XG5cbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuc2lkZWJhci5zaWRlYmFyLW1haW4sIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuc2lkZWJhci5zaWRlYmFyLWFkZGl0aW9uYWwsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5zaWRlYmFyLnNpZGViYXItbWFpbixcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnNpZGViYXIuc2lkZWJhci1hZGRpdGlvbmFsIHtcbiAgb3JkZXI6IDE7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnNpZGViYXIuc2lkZWJhci1tYWluLCAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnNpZGViYXIuc2lkZWJhci1hZGRpdGlvbmFsLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnNpZGViYXIuc2lkZWJhci1tYWluLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnNpZGViYXIuc2lkZWJhci1hZGRpdGlvbmFsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlLFxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5jb2x1bW4ubWFpbixcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNvbHVtbi5tYWluIHtcbiAgb3JkZXI6IDI7IH1cbiAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5jb2x1bW4ubWFpbiAuY2F0ZWdvcnktdmlldyxcbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY29sdW1uLm1haW4gLmNhdGVnb3J5LXZpZXcge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1pbWFnZSxcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jb2x1bW4ubWFpbiAuY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuY29sdW1uLm1haW4gLmNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LWRlc2NyaXB0aW9uLXdyYXBwZXIudHJ1bmNhdGUsXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY29sdW1uLm1haW4gLmNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LWRlc2NyaXB0aW9uLXdyYXBwZXIudHJ1bmNhdGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtaGVpZ2h0OiAxNC4zMTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1kZXNjcmlwdGlvbi13cmFwcGVyLnRydW5jYXRlLmFjdGl2ZSxcbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1kZXNjcmlwdGlvbi13cmFwcGVyLnRydW5jYXRlLmFjdGl2ZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDk5OXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtOyB9XG4gICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5jb2x1bW4ubWFpbiAuY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktZGVzY3JpcHRpb24tYnRuLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1idG4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1idG46OmJlZm9yZSxcbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1idG46OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogLTYwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgd2hpdGUgNzUlLCB3aGl0ZSAxMDAlKTtcbiAgICAgICAgLyogRkYzLjYtMTUgKi9cbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCB3aGl0ZSA3NSUsIHdoaXRlIDEwMCUpO1xuICAgICAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCB3aGl0ZSA3NSUsIHdoaXRlIDEwMCUpO1xuICAgICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNmZmZmZmYnLCBHcmFkaWVudFR5cGU9MCk7XG4gICAgICAgIC8qIElFNi05ICovIH1cbiAgICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuY29sdW1uLm1haW4gLmNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LWRlc2NyaXB0aW9uLWJ0biAubGluZS13cmFwcGVyLFxuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY29sdW1uLm1haW4gLmNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LWRlc2NyaXB0aW9uLWJ0biAubGluZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5jb2x1bW4ubWFpbiAuY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktZGVzY3JpcHRpb24tYnRuIC5saW5lLXdyYXBwZXIgLmxpbmUsXG4gICAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1idG4gLmxpbmUtd3JhcHBlciAubGluZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2M4ZDRlMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7IH1cbiAgICAgICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5jb2x1bW4ubWFpbiAuY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktZGVzY3JpcHRpb24tYnRuIC5saW5lLXdyYXBwZXIgLnRleHQsXG4gICAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1idG4gLmxpbmUtd3JhcHBlciAudGV4dCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgY29sb3I6ICMwNDNBNjM7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1idG4uYWN0aXZlLFxuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY29sdW1uLm1haW4gLmNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LWRlc2NyaXB0aW9uLWJ0bi5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNvbHVtbi5tYWluIC5wcm9kdWN0cy53cmFwcGVyLFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jb2x1bW4ubWFpbiAucHJvZHVjdHMud3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuY29sdW1uLm1haW4gLnByb2R1Y3RzLndyYXBwZXIsXG4gICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jb2x1bW4ubWFpbiAucHJvZHVjdHMud3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1pbWFnZSxcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jb2x1bW4ubWFpbiAuY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktaW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuY29sdW1uLm1haW4gLmNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LWltYWdlIGltZyxcbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNvbHVtbi5tYWluIC5jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1pbWFnZSBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNXJlbTsgfSB9XG5cbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAudG9vbGJhciAucGFnZXMsXG4uY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnRvb2xiYXIgLnRvb2xiYXItYW1vdW50LFxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAudG9vbGJhciAucGFnZXMsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyIC50b29sYmFyLWFtb3VudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wcm9kdWN0cy53cmFwcGVyICsgLnRvb2xiYXIudG9vbGJhci1wcm9kdWN0cyAudG9vbGJhci1hbW91bnQsXG4uY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLndyYXBwZXIgKyAudG9vbGJhci50b29sYmFyLXByb2R1Y3RzIC5wYWdlcyxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLndyYXBwZXIgKyAudG9vbGJhci50b29sYmFyLXByb2R1Y3RzIC50b29sYmFyLWFtb3VudCxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLndyYXBwZXIgKyAudG9vbGJhci50b29sYmFyLXByb2R1Y3RzIC5wYWdlcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnByb2R1Y3RzLndyYXBwZXIgKyAudG9vbGJhci50b29sYmFyLXByb2R1Y3RzIC5wYWdlcyxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLndyYXBwZXIgKyAudG9vbGJhci50b29sYmFyLXByb2R1Y3RzIC5wYWdlcyB7XG4gIG9yZGVyOiAxOyB9XG5cbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucHJvZHVjdHMud3JhcHBlciArIC50b29sYmFyLnRvb2xiYXItcHJvZHVjdHMgLnRvb2xiYXItYW1vdW50LFxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucHJvZHVjdHMud3JhcHBlciArIC50b29sYmFyLnRvb2xiYXItcHJvZHVjdHMgLnRvb2xiYXItYW1vdW50IHtcbiAgb3JkZXI6IDI7IH1cblxuLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wcm9kdWN0cy53cmFwcGVyICsgLnRvb2xiYXIudG9vbGJhci1wcm9kdWN0cyAuZmlsdGVyLWJ1dHRvbixcbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucHJvZHVjdHMud3JhcHBlciArIC50b29sYmFyLnRvb2xiYXItcHJvZHVjdHMgLm1vZGVzLFxuLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wcm9kdWN0cy53cmFwcGVyICsgLnRvb2xiYXIudG9vbGJhci1wcm9kdWN0cyAudG9vbGJhci1zb3J0ZXIsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wcm9kdWN0cy53cmFwcGVyICsgLnRvb2xiYXIudG9vbGJhci1wcm9kdWN0cyAuZmlsdGVyLWJ1dHRvbixcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLndyYXBwZXIgKyAudG9vbGJhci50b29sYmFyLXByb2R1Y3RzIC5tb2Rlcyxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnByb2R1Y3RzLndyYXBwZXIgKyAudG9vbGJhci50b29sYmFyLXByb2R1Y3RzIC50b29sYmFyLXNvcnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC50b29sYmFyLWFtb3VudCxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnRvb2xiYXItYW1vdW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzlGQTZBRDtcbiAgZm9udC1zaXplOiAuNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsOyB9XG4gIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAudG9vbGJhci1hbW91bnQgLnRvb2xiYXItbnVtYmVyLFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC50b29sYmFyLWFtb3VudCAudG9vbGJhci1udW1iZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyLXdyYXBwZXIsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXItd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyLXdyYXBwZXIgLmZpbHRlci1jb250ZW50LFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXItd3JhcHBlciAuZmlsdGVyLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyLXdyYXBwZXIgLmZpbHRlci1jb250ZW50IGhyLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlci13cmFwcGVyIC5maWx0ZXItY29udGVudCBociB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zLFxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyIC5maWx0ZXItb3B0aW9uc1tkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSxcbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9uc1tkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkLFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCxcbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gLmZpbHRlci1vcHRpb25zLXRpdGxlLFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSAuZmlsdGVyLW9wdGlvbnMtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMwMzEzMjE7IH1cbiAgICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtIC5maWx0ZXItb3B0aW9ucy10aXRsZSwgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID5cbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSAuZmlsdGVyLW9wdGlvbnMtdGl0bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtIC5maWx0ZXItb3B0aW9ucy10aXRsZTpob3ZlciwgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSAuZmlsdGVyLW9wdGlvbnMtdGl0bGU6Zm9jdXMsXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gLmZpbHRlci1vcHRpb25zLXRpdGxlOmhvdmVyLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtIC5maWx0ZXItb3B0aW9ucy10aXRsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gLmZpbHRlci1vcHRpb25zLXRpdGxlOjpiZWZvcmUsXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gLmZpbHRlci1vcHRpb25zLXRpdGxlOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7IH1cbiAgICAuaXMtYWN0aXZlID4gLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSAuZmlsdGVyLW9wdGlvbnMtdGl0bGU6OmJlZm9yZSwgLmlzLWFjdGl2ZSA+XG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gLmZpbHRlci1vcHRpb25zLXRpdGxlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7IH1cbiAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSAuZmlsdGVyLW9wdGlvbnMtY29udGVudCxcbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gLmZpbHRlci1vcHRpb25zLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMCAwIDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RkFGRDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIDpsYXN0LWNoaWxkID4gLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSAuZmlsdGVyLW9wdGlvbnMtY29udGVudDpsYXN0LWNoaWxkLCA6bGFzdC1jaGlsZCA+XG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gLmZpbHRlci1vcHRpb25zLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyIC5pdGVtcyxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlciAuaXRlbXMge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuc3dhdGNoLW9wdGlvbi1saW5rLWxheWVyZWQsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkIC5zd2F0Y2gtb3B0aW9uLFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkIC5zd2F0Y2gtb3B0aW9uIHtcbiAgICBmbG9hdDogdW5zZXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyLFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyLmFjdGl2ZSxcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIuYWN0aXZlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMDBweDsgfVxuICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyIC5maWx0ZXItY3VycmVudCAuZmlsdGVyLXN0YXRlLXJlbW92ZSxcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1jdXJyZW50IC5maWx0ZXItc3RhdGUtcmVtb3ZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1jdXJyZW50IC5maWx0ZXItbGFiZWwsXG4gICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1jdXJyZW50IC5maWx0ZXItdmFsdWUsXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItY3VycmVudCAuZmlsdGVyLWxhYmVsLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlciAuZmlsdGVyLWN1cnJlbnQgLmZpbHRlci12YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG4uY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLWFjdGlvbnMsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1hY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLWFjdGlvbnMgYSxcbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItYWN0aW9ucyBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzQTQzO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyIC5maWx0ZXItYWN0aW9ucyBhLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ11cbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1hY3Rpb25zIGEge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyIC5maWx0ZXItYWN0aW9ucyBhOmhvdmVyLCAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLWFjdGlvbnMgYTpmb2N1cyxcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1hY3Rpb25zIGE6aG92ZXIsXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItYWN0aW9ucyBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSAuZmlsdGVyLW9wdGlvbnMtdGl0bGUsXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtIC5maWx0ZXItb3B0aW9ucy10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOGQ0ZTA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjOGQ0ZTA7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtIC5maWx0ZXItb3B0aW9ucy10aXRsZTpiZWZvcmUsXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gLmZpbHRlci1vcHRpb25zLXRpdGxlOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogJ3Njb3V0JztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgY29udGVudDogXCLupJVcIjtcbiAgICAgIGNvbG9yOiAjOUZBNkFEO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7IH1cbiAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtIC5maWx0ZXItb3B0aW9ucy10aXRsZS5hY3RpdmU6YmVmb3JlLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtIC5maWx0ZXItb3B0aW9ucy10aXRsZS5hY3RpdmU6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSAuZmlsdGVyLW9wdGlvbnMtdGl0bGUuYWN0aXZlICsgLmZpbHRlci1vcHRpb25zLWNvbnRlbnQsXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtIC5maWx0ZXItb3B0aW9ucy10aXRsZS5hY3RpdmUgKyAuZmlsdGVyLW9wdGlvbnMtY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSAuZmlsdGVyLW9wdGlvbnMtY29udGVudCxcbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gLmZpbHRlci1vcHRpb25zLWNvbnRlbnQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzhkNGUwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTsgfVxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtIGxpLFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSBsaSB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNTsgfVxuICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gbGkgYSxcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMDMxMzIxOyB9XG4gICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSBsaSAuY291bnQsXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gbGkgLmNvdW50IHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSBsaSAuY291bnQ6YmVmb3JlLFxuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gbGkgLmNvdW50OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29udGVudDogXCIoXCI7IH1cbiAgICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gbGkgLmNvdW50OmFmdGVyLFxuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyIC5maWx0ZXItb3B0aW9ucyAuZmlsdGVyLWl0ZW0gbGkgLmNvdW50OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb250ZW50OiBcIilcIjsgfVxuICAgICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbSBsaSAuY291bnQgLmZpbHRlci1jb3VudC1sYWJlbCxcbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtIGxpIC5jb3VudCAuZmlsdGVyLWNvdW50LWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtLmlzLWFjdGl2ZSAuZmlsdGVyLW9wdGlvbnMtdGl0bGU6YmVmb3JlLFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIgLmZpbHRlci1vcHRpb25zIC5maWx0ZXItaXRlbS5pcy1hY3RpdmUgLmZpbHRlci1vcHRpb25zLXRpdGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLupJRcIjsgfVxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtOmxhc3QtY2hpbGQsXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlciAuZmlsdGVyLW9wdGlvbnMgLmZpbHRlci1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzhkNGUwOyB9XG5cbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyLmJsb2NrIC50aXRsZSxcbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyLmJsb2NrIC5zdWJ0aXRsZSxcbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuZmlsdGVyLmJsb2NrIC5maWx0ZXItdGl0bGUsXG4uY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLmZpbHRlci5ibG9jayAuZmlsdGVyLXN1YnRpdGxlLFxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuZmlsdGVyLmJsb2NrIC50aXRsZSxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlci5ibG9jayAuc3VidGl0bGUsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5maWx0ZXIuYmxvY2sgLmZpbHRlci10aXRsZSxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZpbHRlci5ibG9jayAuZmlsdGVyLXN1YnRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtbWFpbiAuZmlsdGVyIGR0LFxuLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLW1haW4gLm5hdmlnYXRpb24gZHQsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wYWdlLW1haW4gLmZpbHRlciBkdCxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtbWFpbiAubmF2aWdhdGlvbiBkdCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzhkNGUwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsgfVxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtbWFpbiAuZmlsdGVyIGR0OmJlZm9yZSxcbiAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLW1haW4gLm5hdmlnYXRpb24gZHQ6YmVmb3JlLFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wYWdlLW1haW4gLmZpbHRlciBkdDpiZWZvcmUsXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtbWFpbiAubmF2aWdhdGlvbiBkdDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICBjb250ZW50OiBcIu6klVwiO1xuICAgIGNvbG9yOiAjOUZBNkFEO1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtbWFpbiAuZmlsdGVyIGRsIC5pdGVtcyxcbi5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucGFnZS1tYWluIC5uYXZpZ2F0aW9uIGRsIC5pdGVtcyxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtbWFpbiAuZmlsdGVyIGRsIC5pdGVtcyxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtbWFpbiAubmF2aWdhdGlvbiBkbCAuaXRlbXMge1xuICBiYWNrZ3JvdW5kOiAjRjdGQUZEO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2M4ZDRlMDtcbiAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtOyB9XG4gIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucGFnZS1tYWluIC5maWx0ZXIgZGwgLml0ZW1zIGxpLFxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtbWFpbiAubmF2aWdhdGlvbiBkbCAuaXRlbXMgbGksXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtbWFpbiAuZmlsdGVyIGRsIC5pdGVtcyBsaSxcbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucGFnZS1tYWluIC5uYXZpZ2F0aW9uIGRsIC5pdGVtcyBsaSB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNTsgfVxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtbWFpbiAuZmlsdGVyIGRsIC5pdGVtcyBhLFxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtbWFpbiAubmF2aWdhdGlvbiBkbCAuaXRlbXMgYSxcbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAucGFnZS1tYWluIC5maWx0ZXIgZGwgLml0ZW1zIGEsXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtbWFpbiAubmF2aWdhdGlvbiBkbCAuaXRlbXMgYSB7XG4gICAgY29sb3I6ICMwMzEzMjE7IH1cbiAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLW1haW4gLmZpbHRlciBkbCAuaXRlbXMgLmNvdW50LFxuICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtbWFpbiAubmF2aWdhdGlvbiBkbCAuaXRlbXMgLmNvdW50LFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wYWdlLW1haW4gLmZpbHRlciBkbCAuaXRlbXMgLmNvdW50LFxuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wYWdlLW1haW4gLm5hdmlnYXRpb24gZGwgLml0ZW1zIC5jb3VudCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLW1haW4gLmZpbHRlciBkbCAuaXRlbXMgLmNvdW50OmJlZm9yZSxcbiAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtbWFpbiAubmF2aWdhdGlvbiBkbCAuaXRlbXMgLmNvdW50OmJlZm9yZSxcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wYWdlLW1haW4gLmZpbHRlciBkbCAuaXRlbXMgLmNvdW50OmJlZm9yZSxcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wYWdlLW1haW4gLm5hdmlnYXRpb24gZGwgLml0ZW1zIC5jb3VudDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgY29udGVudDogXCIoXCI7IH1cbiAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggLnBhZ2UtbWFpbiAuZmlsdGVyIGRsIC5pdGVtcyAuY291bnQ6YWZ0ZXIsXG4gICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLW1haW4gLm5hdmlnYXRpb24gZGwgLml0ZW1zIC5jb3VudDphZnRlcixcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wYWdlLW1haW4gLmZpbHRlciBkbCAuaXRlbXMgLmNvdW50OmFmdGVyLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtbWFpbiAubmF2aWdhdGlvbiBkbCAuaXRlbXMgLmNvdW50OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGNvbnRlbnQ6IFwiKVwiOyB9XG4gICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLW1haW4gLmZpbHRlciBkbCAuaXRlbXMgLmNvdW50IC5maWx0ZXItY291bnQtbGFiZWwsXG4gICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLW1haW4gLm5hdmlnYXRpb24gZGwgLml0ZW1zIC5jb3VudCAuZmlsdGVyLWNvdW50LWxhYmVsLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtbWFpbiAuZmlsdGVyIGRsIC5pdGVtcyAuY291bnQgLmZpbHRlci1jb3VudC1sYWJlbCxcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wYWdlLW1haW4gLm5hdmlnYXRpb24gZGwgLml0ZW1zIC5jb3VudCAuZmlsdGVyLWNvdW50LWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5wYWdlLW1haW4gLmNvbHVtbnMsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5wYWdlLW1haW4gLmNvbHVtbnMge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucGFnZS1tYWluIC5jb2x1bW5zLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtbWFpbiAuY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucGFnZS1tYWluIC5jb2x1bW5zLFxuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnBhZ2UtbWFpbiAuY29sdW1ucyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5wcm9kdWN0LWl0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTsgfVxuICAgICAgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pbWFnZS1waG90byB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWltYWdlLXBob3RvIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyxcbiAgICAgIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnRvY29tcGFyZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtLWFjdGlvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3RzLmdyaWQucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLnByb2R1Y3RzLmdyaWQucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAucHJvZHVjdHMuZ3JpZC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTsgfVxuICAgICAgLnByb2R1Y3RzLmdyaWQucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWltYWdlLXBob3RvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucHJvZHVjdHMuZ3JpZC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaW1hZ2UtcGhvdG8ge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJvZHVjdHMuZ3JpZC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbS1hY3Rpb25zLFxuICAgICAgLnByb2R1Y3RzLmdyaWQucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC50b2NvbXBhcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcm9kdWN0cy5saXN0LnByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmRiZTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5wcm9kdWN0cy5saXN0LnByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtLWluZm8ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAucHJvZHVjdHMubGlzdC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbS1waG90byB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3RzLmxpc3QucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tcGhvdG8ge1xuICAgICAgICBtYXgtd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3RzLmxpc3QucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5wcm9kdWN0cy5saXN0LnByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtLWRldGFpbHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAgIC5wcm9kdWN0cy5saXN0LnByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtLWRldGFpbHMgPiAucHJvZHVjdC1pdGVtLW5hbWUsIC5wcm9kdWN0cy5saXN0LnByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtLWRldGFpbHMgLnByb2R1Y3QtaXRlbS1za3UsIC5wcm9kdWN0cy5saXN0LnByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pdGVtLWRldGFpbHMgLnByaWNlLWJveCwgLnByb2R1Y3RzLmxpc3QucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLWlubmVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgLnByb2R1Y3RzLmxpc3QucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgLnByb2R1Y3RzLmxpc3QucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLXNrdSB7XG4gICAgICAgIG9yZGVyOiAzOyB9XG4gICAgICAucHJvZHVjdHMubGlzdC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5wcmljZS1ib3gge1xuICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgLnByb2R1Y3RzLmxpc3QucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLWlubmVyIHtcbiAgICAgICAgb3JkZXI6IDQ7IH1cbiAgICAucHJvZHVjdHMubGlzdC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByaWNlLWJveCxcbiAgICAucHJvZHVjdHMubGlzdC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0gLnByb2R1Y3QtaXRlbS1pbm5lciB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5wcm9kdWN0cy5saXN0LnByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wcm9kdWN0cy5ncmlkLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIC5wcm9kdWN0cy5ncmlkLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgLnByb2R1Y3RzLmdyaWQucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07IH1cbiAgICAgIC5wcm9kdWN0cy5ncmlkLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSAucHJvZHVjdC1pbWFnZS1waG90byB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnByb2R1Y3RzLmdyaWQucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWltYWdlLXBob3RvIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2R1Y3RzLmdyaWQucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pdGVtcyAucHJvZHVjdC1pdGVtIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyxcbiAgICAgIC5wcm9kdWN0cy5ncmlkLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaXRlbXMgLnByb2R1Y3QtaXRlbSAudG9jb21wYXJlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zaWRlYmFyLW1haW4ge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmJyZWFkY3J1bWJzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAuYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnByb2R1Y3QubWVkaWEge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnByb2R1Y3QtaW5mby1tYWluIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0Lm1lZGlhIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLnByb2R1Y3QtaW5mby1tYWluIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucHJvZHVjdC5tZWRpYSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5wcm9kdWN0LWluZm8tbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9IH1cblxuLnByaW50LXByb2R1Y3Qge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJpbnQtcHJvZHVjdCB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9IH1cblxuLnByb2R1Y3QubWVkaWEgLmZvdG9yYW1hX19hcnIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogNDBweDsgfVxuICAucHJvZHVjdC5tZWRpYSAuZm90b3JhbWFfX2Fycl9fYXJyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmRiZTA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gICAgd2lkdGg6IDIwcHg7IH1cbiAgICAucHJvZHVjdC5tZWRpYSAuZm90b3JhbWFfX2Fycl9fYXJyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDM2NjA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAucHJvZHVjdC5tZWRpYSAuZm90b3JhbWFfX2Fyci0tcHJldiAuZm90b3JhbWFfX2Fycl9fYXJyOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgY29udGVudDogXCLupJNcIjsgfVxuICAucHJvZHVjdC5tZWRpYSAuZm90b3JhbWFfX2Fyci0tbmV4dCAuZm90b3JhbWFfX2Fycl9fYXJyOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgY29udGVudDogXCLupJZcIjsgfVxuICAucHJvZHVjdC5tZWRpYSAuZm90b3JhbWFfX2Fyci0tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnByb2R1Y3QubWVkaWEgLmZvdG9yYW1hX19uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogYXV0bzsgfVxuICAucHJvZHVjdC5tZWRpYSAuZm90b3JhbWFfX25hdi0tZG90cyAuZm90b3JhbWFfX25hdl9fZnJhbWUge1xuICAgIHdpZHRoOiAxcmVtOyB9XG5cbi5wcm9kdWN0Lm1lZGlhIC5mb3RvcmFtYV9fZG90IHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiAjZDZkYmUwO1xuICBoZWlnaHQ6IDZweDtcbiAgbGVmdDogNHB4O1xuICB3aWR0aDogNnB4OyB9XG5cbi5wcm9kdWN0Lm1lZGlhIC5mb3RvcmFtYV9fYWN0aXZlIC5mb3RvcmFtYV9fZG90IHtcbiAgYmFja2dyb3VuZDogIzAwMzY2MDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAzNjYwOyB9XG5cbi5wcm9kdWN0LnBhZ2UtdGl0bGUtd3JhcHBlciBoMSB7XG4gIGNvbG9yOiAjMDQzQTYzOyB9XG5cbi5wcm9kdWN0LXZpZXctcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3Qtdmlldy1yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfSB9XG4gIC5wcm9kdWN0LXZpZXctcm93LnByb2R1Y3Qtdmlldy1yb3ctbWFpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHJvZHVjdC1pbmZvLW1haW4ge1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAucHJvZHVjdC1pbmZvLW1haW4gLnNpemVndWlkZS10cmlnZ2VyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLnByb2R1Y3QtaW5mby1tYWluIC5zaXplZ3VpZGUtdHJpZ2dlciAuaWNvbi1ydWxlciB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuICAgIC5wcm9kdWN0LWluZm8tbWFpbiAuc2l6ZWd1aWRlLXRyaWdnZXIgc3BhbiB7XG4gICAgICBjb2xvcjogIzJlMzEzNDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wcm9kdWN0LWluZm8tbWFpbiAuZ3JvdXBlZC1wcm9kdWN0IC5hc3NvY2lhdGVkLXByb2R1Y3RzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnByb2R1Y3QtaW5mby1tYWluIC5ncm91cGVkLXByb2R1Y3QgLmFzc29jaWF0ZWQtcHJvZHVjdHMgLml0ZW0gLnByaWNlLWJveCB7XG4gICAgICBjb2xvcjogI2U5NWYxMztcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgICAucHJvZHVjdC1pbmZvLW1haW4gLmdyb3VwZWQtcHJvZHVjdCAuYXNzb2NpYXRlZC1wcm9kdWN0cyAuaXRlbSAucHJpY2UtYm94LmxvYWRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvbG9hZGVyLTEuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5wcm9kdWN0LWluZm8tbWFpbiAuZ3JvdXBlZC1wcm9kdWN0IC5hc3NvY2lhdGVkLXByb2R1Y3RzIC5pdGVtIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgICAgIGNvbG9yOiAjOUZBNkFEO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgICAucHJvZHVjdC1pbmZvLW1haW4gLmdyb3VwZWQtcHJvZHVjdCAuYXNzb2NpYXRlZC1wcm9kdWN0cyAuaXRlbSAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgICAgLnByb2R1Y3QtaW5mby1tYWluIC5ncm91cGVkLXByb2R1Y3QgLmFzc29jaWF0ZWQtcHJvZHVjdHMgLml0ZW0gLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5wcm9kdWN0LWluZm8tbWFpbiAuZ3JvdXBlZC1wcm9kdWN0IC5hc3NvY2lhdGVkLXByb2R1Y3RzIC5pdGVtIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnByb2R1Y3QtaW5mby1tYWluIC5ncm91cGVkLXByb2R1Y3QgLmFzc29jaWF0ZWQtcHJvZHVjdHMgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnByb2R1Y3QtaW5mby1tYWluIC5ncm91cGVkLXByb2R1Y3QgLmFzc29jaWF0ZWQtcHJvZHVjdHMgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4ucHJvZHVjdC5hdHRyaWJ1dGUuc2t1IHtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgLnByb2R1Y3QuYXR0cmlidXRlLnNrdSAudHlwZSxcbiAgLnByb2R1Y3QuYXR0cmlidXRlLnNrdSAudmFsdWUge1xuICAgIGZvbnQtc2l6ZTogLjgxM3JlbTtcbiAgICBjb2xvcjogIzhBOEQ5NjsgfVxuXG4ucHJvZHVjdC5hdHRyaWJ1dGUub3ZlcnZpZXcge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbi5wcm9kdWN0LWluZm8tc3RvY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnByb2R1Y3QtaW5mby1zdG9jay52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wcm9kdWN0LWluZm8tc3RvY2sgYSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAucHJvZHVjdC1pbmZvLXN0b2NrIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDM2NjA7IH1cblxuLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1vcHRpb25zLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfSB9XG4gIC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciAuZmllbGRzZXQge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIC5maWVsZHNldCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuICAgIC5wcm9kdWN0LW9wdGlvbnMtd3JhcHBlciAuZmllbGRzZXQgbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnByb2R1Y3Qtb3B0aW9ucy13cmFwcGVyIC5maWVsZHNldCBzZWxlY3Qge1xuICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHJvZHVjdC1pbmZvLXByaWNlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5wcm9kdWN0LWluZm8tcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnByb2R1Y3QtaW5mby1wcmljZSAucHJpY2UtZmluYWxfcHJpY2UgLnByaWNlIHtcbiAgICBjb2xvcjogI2U5NWYxMztcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5wcm9kdWN0LWluZm8tcHJpY2UgLnNwZWNpYWwtcHJpY2UgLnByaWNlLWZpbmFsX3ByaWNlIC5wcmljZSB7XG4gICAgY29sb3I6ICNmZjE1MDA7IH1cbiAgLnByb2R1Y3QtaW5mby1wcmljZSAub2xkLXByaWNlIC5wcmljZS1maW5hbF9wcmljZSAucHJpY2Uge1xuICAgIGNvbG9yOiAjOUZBNkFEO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAucHJvZHVjdC1pbmZvLXByaWNlIC5vbGQtcHJpY2UgLnByaWNlLXRheC1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1hZGQtZm9ybSAuYm94LXRvY2FydCAuZmllbGRzZXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAxLjI1cmVtIDAgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWFkZC1mb3JtIC5ib3gtdG9jYXJ0IC5maWVsZHNldCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cblxuLnByb2R1Y3QtYWRkLWZvcm0gLnRvY2FydCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzQTYzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5wcm9kdWN0LWFkZC1mb3JtIC50b2NhcnQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnByb2R1Y3QtYWRkLWZvcm0gLnRvY2FydDpob3ZlciwgLnByb2R1Y3QtYWRkLWZvcm0gLnRvY2FydDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2NTc5NDtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAucHJvZHVjdC1hZGQtZm9ybSAudG9jYXJ0Om5vdCguY2xvc2UtYnV0dG9uKTpub3QoLmFjdGlvbi1jbG9zZSkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnByb2R1Y3QtYWRkLWZvcm0gLnRvY2FydDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDQsIDU4LCA5OSwgMC40NSk7IH1cbiAgLnByb2R1Y3QtYWRkLWZvcm0gLnRvY2FydDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5wcm9kdWN0LWFkZC1mb3JtIC50b2NhcnQ6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnByb2R1Y3QtYWRkLWZvcm0gLnF0eS5maWVsZCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBvcmRlcjogMTtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvZHVjdC1hZGQtZm9ybSAucXR5LmZpZWxkIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5wcm9kdWN0LWFkZC1mb3JtIC5xdHkgLmNvbnRyb2wge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnByb2R1Y3QtYWRkLWZvcm0gLnF0eSAucXR5LW1pbnVzLFxuLnByb2R1Y3QtYWRkLWZvcm0gLnF0eSAucXR5LXBsdXMge1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJvcmRlci1jb2xvcjogI2Q2ZGJlMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDA7XG4gIHdpZHRoOiA0MHB4OyB9XG5cbi5wcm9kdWN0LWFkZC1mb3JtIC5xdHkgLnF0eS1taW51cyxcbi5wcm9kdWN0LWFkZC1mb3JtIC5xdHkgLnF0eS1wbHVzIHtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAucHJvZHVjdC1hZGQtZm9ybSAucXR5IC5xdHktbWludXMgaW1nW3NyYyQ9XCIuc3ZnXCJdLFxuICAucHJvZHVjdC1hZGQtZm9ybSAucXR5IC5xdHktcGx1cyBpbWdbc3JjJD1cIi5zdmdcIl0ge1xuICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAucHJvZHVjdC1hZGQtZm9ybSAucXR5IC5xdHktbWludXM6aG92ZXIsXG4gIC5wcm9kdWN0LWFkZC1mb3JtIC5xdHkgLnF0eS1wbHVzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi5wcm9kdWN0LWFkZC1mb3JtIC5xdHkgaW5wdXQjcXR5IHtcbiAgYm9yZGVyLXdpZHRoOiAycHggMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA2NXB4O1xuICB6LWluZGV4OiAxOyB9XG4gIC5wcm9kdWN0LWFkZC1mb3JtIC5xdHkgaW5wdXQjcXR5W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgLnByb2R1Y3QtYWRkLWZvcm0gLnF0eSBpbnB1dCNxdHlbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWFkZC1mb3JtIC5xdHkgaW5wdXQjcXR5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNkNmRiZTA7IH1cblxuLnByb2R1Y3QtYWRkLWZvcm0gLmFjdGlvbnMge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG9yZGVyOiAzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtYWRkLWZvcm0gLmFjdGlvbnMge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMnJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIG9yZGVyOiAyOyB9IH1cblxuLnByb2R1Y3QtYWRkLWZvcm0gLmFjdGlvbi50b3dpc2hsaXN0IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDZkYmUwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBvcmRlcjogMjtcbiAgcGFkZGluZzogMC42MjVyZW0gMC43NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wcm9kdWN0LWFkZC1mb3JtIC5hY3Rpb24udG93aXNobGlzdCBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcm9kdWN0LWFkZC1mb3JtIC5hY3Rpb24udG93aXNobGlzdDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgIGNvbnRlbnQ6IFwi7qSHXCI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1hZGQtZm9ybSAuYWN0aW9uLnRvd2lzaGxpc3Qge1xuICAgICAgb3JkZXI6IDM7IH0gfVxuXG4ucHJvZHVjdC1pbmZvLWF2YWlsYWJpbGl0eSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkYmUwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZGJlMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgcGFkZGluZzogMXJlbSAwOyB9XG4gIC5wcm9kdWN0LWluZm8tYXZhaWxhYmlsaXR5IC5hdmFpbGFiaWxpdHktaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LWluZm8tYXZhaWxhYmlsaXR5IC5hdmFpbGFiaWxpdHktaW5uZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuICAgIC5wcm9kdWN0LWluZm8tYXZhaWxhYmlsaXR5IC5hdmFpbGFiaWxpdHktaW5uZXIgLnN0b2NrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLnByb2R1Y3QtaW5mby1hdmFpbGFiaWxpdHkgLmF2YWlsYWJpbGl0eS1pbm5lciAuc3RvY2suYXZhaWxhYmxlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICBjb250ZW50OiBcIu6kj1wiO1xuICAgICAgICBjb2xvcjogIzQxYTYyYTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuXG4ucHJvZHVjdC5pbmZvLmRldGFpbGVkIC5kYXRhLml0ZW0udGl0bGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LXVzcC13cmFwcGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmRiZTA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkYmUwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIHBhZGRpbmc6IDFyZW0gMDsgfVxuICAucHJvZHVjdC11c3Atd3JhcHBlciAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uOyB9XG4gIC5wcm9kdWN0LXVzcC13cmFwcGVyIC5jb250YWluZXIgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjZyZW07IH1cbiAgLnByb2R1Y3QtdXNwLXdyYXBwZXIgLnNoaXBwaW5nIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAucHJvZHVjdC11c3Atd3JhcHBlciAuc2hpcHBpbmcgc3BhbiB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgLnByb2R1Y3QtdXNwLXdyYXBwZXIgLnNoaXBwaW5nOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogJ3Njb3V0JztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICBjb250ZW50OiBcIu6kkFwiO1xuICAgICAgY29sb3I6ICM3ZDQxOTk7XG4gICAgICBmbGV4LWJhc2lzOiAxLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHJvZHVjdC11c3Atd3JhcHBlciAuZWNvLWZyaWVuZGx5IHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAucHJvZHVjdC11c3Atd3JhcHBlciAuZWNvLWZyaWVuZGx5IHNwYW4ge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5wcm9kdWN0LXVzcC13cmFwcGVyIC5lY28tZnJpZW5kbHk6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgIGNvbnRlbnQ6IFwi7qSOXCI7XG4gICAgICBjb2xvcjogIzQxYTYyYTtcbiAgICAgIGZsZXgtYmFzaXM6IDEuODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wcm9kdWN0LXVzcC13cmFwcGVyIC5zdXBwb3J0IHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnByb2R1Y3QtdXNwLXdyYXBwZXIgLnN1cHBvcnQgc3BhbiB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgLnByb2R1Y3QtdXNwLXdyYXBwZXIgLnN1cHBvcnQ6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgIGNvbnRlbnQ6IFwi7qSSXCI7XG4gICAgICBjb2xvcjogIzAwYThlMTtcbiAgICAgIGZsZXgtYmFzaXM6IDEuODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QubWVkaWEgLmZvdG9yYW1hX19uYXYge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMjBweCAzMHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnByb2R1Y3QubWVkaWEgLmZvdG9yYW1hX19uYXYtd3JhcC0taG9yaXpvbnRhbCAuZm90b3JhbWFfX3RodW1iX19hcnIge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIHRvcDogMjBweDsgfVxuICAgICAgLnByb2R1Y3QubWVkaWEgLmZvdG9yYW1hX19uYXYtd3JhcC0taG9yaXpvbnRhbCAuZm90b3JhbWFfX3RodW1iX19hcnItLWxlZnQgLmZvdG9yYW1hX190aHVtYi0taWNvbiwgLnByb2R1Y3QubWVkaWEgLmZvdG9yYW1hX19uYXYtd3JhcC0taG9yaXpvbnRhbCAuZm90b3JhbWFfX3RodW1iX19hcnItLXJpZ2h0IC5mb3RvcmFtYV9fdGh1bWItLWljb24ge1xuICAgICAgICB3aWR0aDogMjBweDsgfVxuICAgIC5wcm9kdWN0Lm1lZGlhIC5mb3RvcmFtYV9fbmF2LmZvdG9yYW1hX19zaGFkb3dzLS1sZWZ0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucHJvZHVjdC5tZWRpYSAuZm90b3JhbWFfX25hdi5mb3RvcmFtYV9fc2hhZG93cy0tcmlnaHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnByb2R1Y3QubWVkaWEgLmZvdG9yYW1hX19uYXYtLXRodW1icyAuZm90b3JhbWFfX25hdl9fZnJhbWUgLmZvdG9yYW1hX190aHVtYiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAgIG1hcmdpbjogNHB4OyB9XG4gIC5wcm9kdWN0Lm1lZGlhIC5mb3RvcmFtYV9fdGh1bWItLWljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDZkYmUwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gICAgd2lkdGg6IDIwcHg7IH1cbiAgICAucHJvZHVjdC5tZWRpYSAuZm90b3JhbWFfX3RodW1iLS1pY29uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDM2NjA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAucHJvZHVjdC5tZWRpYSAuZm90b3JhbWFfX3RodW1iX19hcnItLWxlZnQgLmZvdG9yYW1hX190aHVtYi0taWNvbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgIGNvbnRlbnQ6IFwi7qSTXCI7IH1cbiAgLnByb2R1Y3QubWVkaWEgLmZvdG9yYW1hX190aHVtYl9fYXJyLS1yaWdodCAuZm90b3JhbWFfX3RodW1iLS1pY29uOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzY291dCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgY29udGVudDogXCLupJZcIjsgfVxuICAucHJvZHVjdC5tZWRpYSAuZm90b3JhbWFfX3RodW1iLWJvcmRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAzNjYwO1xuICAgIGJvcmRlci13aWR0aDogMXB4OyB9XG4gIC5wcm9kdWN0LWluZm8tbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnByb2R1Y3QtaW5mby1hdmFpbGFiaWxpdHkgLmF2YWlsYWJpbGl0eS1pbm5lciAuc3RvY2sge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAucHJvZHVjdC11c3Atd3JhcHBlciAuY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmbGV4LWZsb3c6IHJvdzsgfVxuICAgIC5wcm9kdWN0LXVzcC13cmFwcGVyIC5jb250YWluZXIgLnNoaXBwaW5nLFxuICAgIC5wcm9kdWN0LXVzcC13cmFwcGVyIC5jb250YWluZXIgLmVjby1mcmllbmRseSxcbiAgICAucHJvZHVjdC11c3Atd3JhcHBlciAuY29udGFpbmVyIC5zdXBwb3J0IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnByb2R1Y3QtdXNwLXdyYXBwZXIgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH0gfVxuXG4ucHJpbnQtcHJvZHVjdCBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogLjc1cmVtO1xuICBjb2xvcjogIzUyNjU4MDsgfVxuICAucHJpbnQtcHJvZHVjdCBhIGltZ1tzcmMkPVwiLnN2Z1wiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLnByb2R1Y3QtaW5mby11c3Age1xuICBmb250LXNpemU6IC44MTNyZW07IH1cbiAgLnByb2R1Y3QtaW5mby11c3AgLmNhbGxvdXQge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwOyB9XG4gICAgLnByb2R1Y3QtaW5mby11c3AgLmNhbGxvdXQgc3ZnIHtcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi5wcm9kdWN0LXZpZXctZXh0ZW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAyLjVyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgLnByb2R1Y3Qtdmlldy1leHRlbmQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnByb2R1Y3Qtdmlldy1leHRlbmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI0MHB4KSB7XG4gICAgLnByb2R1Y3Qtdmlldy1leHRlbmQge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgd2lkdGg6IDEwMDB2dztcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IDI1MCU7IH0gfVxuICAucHJvZHVjdC12aWV3LWV4dGVuZCB0YWJsZSB0aCxcbiAgLnByb2R1Y3Qtdmlldy1leHRlbmQgdGFibGUgdGQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZjdmN2Y3OyB9XG4gIC5wcm9kdWN0LXZpZXctZXh0ZW5kIC5zdXBwb3J0IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnByb2R1Y3Qtdmlldy1leHRlbmQgLnN1cHBvcnQgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAucHJvZHVjdC12aWV3LWV4dGVuZCAuc3VwcG9ydCBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuICAgICAgLnByb2R1Y3Qtdmlldy1leHRlbmQgLnN1cHBvcnQgc3BhbiBpbWdbc3JjJD1cIi5zdmdcIl0ge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgLnByb2R1Y3Qtdmlldy1leHRlbmQgLnN1cHBvcnQgc3BhbiBhIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLnJlbGF0ZWQgLnRpdGxlLFxuLnVwc2VsbCAudGl0bGUge1xuICBjb2xvcjogIzAwMzY2MDtcbiAgZm9udC1mYW1pbHk6IFwiSVRDRnJhbmtsaW5Hb3RoaWMtQ2RcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZWxhdGVkIC50aXRsZSxcbiAgICAudXBzZWxsIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuXG4ucmVsYXRlZCAucHJvZHVjdC1pdGVtIC5wcmljZS1ib3gsXG4udXBzZWxsIC5wcm9kdWN0LWl0ZW0gLnByaWNlLWJveCB7XG4gIGNvbG9yOiAjZTk1ZjEzO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5yZWxhdGVkIC5wcm9kdWN0LWl0ZW0gLnByaWNlLWJveC5sb2FkaW5nLFxuICAudXBzZWxsIC5wcm9kdWN0LWl0ZW0gLnByaWNlLWJveC5sb2FkaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvbG9hZGVyLTEuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5yZWxhdGVkIC5wcm9kdWN0LWl0ZW0gLnByaWNlLWJveCAub2xkLXByaWNlLFxuICAudXBzZWxsIC5wcm9kdWN0LWl0ZW0gLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICBjb2xvcjogIzlGQTZBRDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgIC5yZWxhdGVkIC5wcm9kdWN0LWl0ZW0gLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSxcbiAgICAudXBzZWxsIC5wcm9kdWN0LWl0ZW0gLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAucmVsYXRlZCAucHJvZHVjdC1pdGVtIC5wcmljZS1ib3ggLnByaWNlLWxhYmVsLFxuICAudXBzZWxsIC5wcm9kdWN0LWl0ZW0gLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAucmVsYXRlZCAucHJvZHVjdC1pdGVtIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2UsXG4gIC51cHNlbGwgLnByb2R1Y3QtaXRlbSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAucmVsYXRlZCAucHJvZHVjdHMubGlzdCxcbiAgLnVwc2VsbCAucHJvZHVjdHMubGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgd2lkdGg6IGluaXRpYWw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJlbGF0ZWQgLnByb2R1Y3RzLmxpc3QsXG4gICAgLnVwc2VsbCAucHJvZHVjdHMubGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnJlbGF0ZWQgLnByb2R1Y3RzLmxpc3QgLnByb2R1Y3QtaXRlbSxcbiAgICAudXBzZWxsIC5wcm9kdWN0cy5saXN0IC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWF4LXdpZHRoOiA3OS41cmVtO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmJhY2stdG8tc2hvcC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIgLmJhY2stdG8tc2hvcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNoZWNrb3V0LWNhcnQtaW5kZXggLmJhY2stdG8tc2hvcC13cmFwcGVyIC5iYWNrLXRvLXNob3Age1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5iYWNrLXRvLXNob3Atd3JhcHBlciAuYmFjay10by1zaG9wOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIgLmJhY2stdG8tc2hvcDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MzkzO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIgLmJhY2stdG8tc2hvcDpub3QoLmNsb3NlLWJ1dHRvbik6bm90KC5hY3Rpb24tY2xvc2UpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIgLmJhY2stdG8tc2hvcDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoMCwgNTQsIDk2LCAwLjQ1KTsgfVxuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5iYWNrLXRvLXNob3Atd3JhcHBlciAuYmFjay10by1zaG9wOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmJhY2stdG8tc2hvcC13cmFwcGVyIC5iYWNrLXRvLXNob3A6ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5iYWNrLXRvLXNob3Atd3JhcHBlciAuYmFjay10by1zaG9wIC50ZXh0IHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIgLmJhY2stdG8tc2hvcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNjYwO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIgLmJhY2stdG8tc2hvcCB7XG4gICAgICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIgLmJhY2stdG8tc2hvcDpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmJhY2stdG8tc2hvcC13cmFwcGVyIC5iYWNrLXRvLXNob3A6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzOTM7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmJhY2stdG8tc2hvcC13cmFwcGVyIC5iYWNrLXRvLXNob3A6bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIgLmJhY2stdG8tc2hvcDpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDAsIDU0LCA5NiwgMC40NSk7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmJhY2stdG8tc2hvcC13cmFwcGVyIC5iYWNrLXRvLXNob3A6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIgLmJhY2stdG8tc2hvcDpkaXNhYmxlZDpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmFjay10by1zaG9wLXdyYXBwZXIgLmJhY2stdG8tc2hvcCAudGV4dCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07IH0gfVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM5RkE2QUQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAucGFnZS10aXRsZS13cmFwcGVyIC5wYWdlLXRpdGxlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQge1xuICAgICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAycmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkge1xuICAgICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAycmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfSB9XG4gIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IHtcbiAgICBvcmRlcjogMTsgfVxuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC50YWJsZS13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjOUZBNkFEO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAucHJvZHVjdC13cmFwcGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH0gfVxuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLnByb2R1Y3Qtd3JhcHBlciAucHJvZHVjdC1pdGVtLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LXdyYXBwZXIgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMnJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5jYXJ0Lm1haW4uYWN0aW9ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmNhcnQubWFpbi5hY3Rpb25zIC5hY3Rpb24uY29udGludWUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMgLmFjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNjYwO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMgLmFjdGlvbiB7XG4gICAgICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMgLmFjdGlvbjpob3ZlciwgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmNhcnQubWFpbi5hY3Rpb25zIC5hY3Rpb246Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzOTM7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmNhcnQubWFpbi5hY3Rpb25zIC5hY3Rpb246bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMgLmFjdGlvbjpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDAsIDU0LCA5NiwgMC40NSk7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmNhcnQubWFpbi5hY3Rpb25zIC5hY3Rpb246ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMgLmFjdGlvbjpkaXNhYmxlZDpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMgLmFjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMXJlbTtcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM2NjA7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMgLmFjdGlvbiB7XG4gICAgICAgICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5jYXJ0Lm1haW4uYWN0aW9ucyAuYWN0aW9uOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMgLmFjdGlvbjpmb2N1cyB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzOTM7XG4gICAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMgLmFjdGlvbjpub3QoLmNsb3NlLWJ1dHRvbik6bm90KC5hY3Rpb24tY2xvc2UpIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmNhcnQubWFpbi5hY3Rpb25zIC5hY3Rpb246aG92ZXIge1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoMCwgNTQsIDk2LCAwLjQ1KTsgfVxuICAgICAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmNhcnQubWFpbi5hY3Rpb25zIC5hY3Rpb246ZGlzYWJsZWQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAuY2FydC5tYWluLmFjdGlvbnMgLmFjdGlvbjpkaXNhYmxlZDpob3ZlciB7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmNhcnQubWFpbi5hY3Rpb25zIC5hY3Rpb24uY2xlYXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLmNhcnQubWFpbi5hY3Rpb25zIC5hY3Rpb24uY2xlYXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCBhdXRvKSAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciByZXBlYXQoMiwgYXV0byk7IH1cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LWl0ZW0tc2t1IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7IH1cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7IH1cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAucHJpY2Uge1xuICAgICAgICBncmlkLWNvbHVtbjogMyAvIGxhc3Q7XG4gICAgICAgIGdyaWQtcm93OiA0IC8gbGFzdDtcbiAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICBjb2xvcjogI2U5NWYxMztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLmZpZWxkc2V0IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiBhdXRvIC8gbGFzdDtcbiAgICAgICAgYWxpZ24tc2VsZjogZW5kOyB9XG4gICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuZmllbGRzZXQgLnF0eSAuY29udHJvbCB7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5maWVsZHNldCAucXR5IC5xdHktbWludXMsXG4gICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuZmllbGRzZXQgLnF0eSAucXR5LXBsdXMge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNkNmRiZTA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDA7XG4gICAgICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLmZpZWxkc2V0IC5xdHkgLnF0eS1taW51czpob3ZlcixcbiAgICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmZvcm0tY2FydCAucHJvZHVjdC1pdGVtLWRldGFpbHMgLmZpZWxkc2V0IC5xdHkgLnF0eS1wbHVzOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuZmllbGRzZXQgLnF0eSBpbnB1dC5pbnB1dC10ZXh0LnF0eSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHggMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgbWluLXdpZHRoOiAzcmVtO1xuICAgICAgICAgIGZsZXg6IDAgMTsgfVxuICAgICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuZmllbGRzZXQgLnF0eSBpbnB1dC5pbnB1dC10ZXh0LnF0eTpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNkNmRiZTA7IH1cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQgLyBsYXN0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5mb3JtLWNhcnQgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1kZWxldGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuZm9ybS1jYXJ0IC5wcm9kdWN0LWl0ZW0tZGV0YWlscyAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tZWRpdCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSB7XG4gICAgb3JkZXI6IDI7IH1cbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAudGl0bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM5RkE2QUQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC50aXRsZSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG4gICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmJsb2NrLnNoaXBwaW5nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmNhcnQtdG90YWxzLFxuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmJsb2NrLmRpc2NvdW50IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2FydC10b3RhbHMsXG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuYmxvY2suZGlzY291bnQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5jaGVja291dC1tZXRob2RzLWl0ZW1zIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDFyZW0gMCAwOyB9XG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyBidXR0b24ge1xuICAgICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmNoZWNrb3V0LW1ldGhvZHMtaXRlbXMgYnV0dG9uOmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyBidXR0b246Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzOTM7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmNoZWNrb3V0LW1ldGhvZHMtaXRlbXMgYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKTpub3QoLmFjdGlvbi1jbG9zZSkge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmNoZWNrb3V0LW1ldGhvZHMtaXRlbXMgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoMCwgNTQsIDk2LCAwLjQ1KTsgfVxuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyBidXR0b246ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyBidXR0b246ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmNoZWNrb3V0LW1ldGhvZHMtaXRlbXMgYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyBidXR0b24ge1xuICAgICAgICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyBidXR0b246aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5jaGVja291dC1tZXRob2RzLWl0ZW1zIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzOTM7XG4gICAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyBidXR0b246bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5jaGVja291dC1tZXRob2RzLWl0ZW1zIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE1cHggcmdiYSgwLCA1NCwgOTYsIDAuNDUpOyB9XG4gICAgICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyBidXR0b246ZGlzYWJsZWQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2hlY2tvdXQtbWV0aG9kcy1pdGVtcyBidXR0b246ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmNoZWNrb3V0LW1ldGhvZHMtaXRlbXMge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5jaGVja291dC1tZXRob2RzLWl0ZW1zIC5pdGVtIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmNoZWNrb3V0LW1ldGhvZHMtaXRlbXMge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5jYXJ0LXRvdGFscyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMjBweDsgfVxuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmNhcnQtdG90YWxzIHRhYmxlLnRvdGFscyB0aCxcbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5jYXJ0LXRvdGFscyB0YWJsZS50b3RhbHMgdGQge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMCAwLjVyZW07IH1cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5jYXJ0LXRvdGFscyB0YWJsZS50b3RhbHMgdGJvZHksXG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2FydC10b3RhbHMgdGFibGUudG90YWxzIHRyIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5jYXJ0LXRvdGFscyB0YWJsZS50b3RhbHMgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2FydC10b3RhbHMgdGFibGUudG90YWxzIHRkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5jYXJ0LXRvdGFscyB0YWJsZS50b3RhbHMgLnRhYmxlLWNhcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuY2FydC10b3RhbHMgLmdyYW5kLnRvdGFscyB0aCxcbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5jYXJ0LXRvdGFscyAuZ3JhbmQudG90YWxzIHRkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuZmllbGRzZXQuY291cG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuZmllbGRzZXQuY291cG9uIGlucHV0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5maWVsZHNldC5jb3Vwb24gLmZpZWxkLFxuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmZpZWxkc2V0LmNvdXBvbiAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5maWVsZHNldC5jb3Vwb24gLmFjdGlvbnMtdG9vbGJhciBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuZmllbGRzZXQuY291cG9uIC5hY3Rpb25zLXRvb2xiYXIgYnV0dG9uIHtcbiAgICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5maWVsZHNldC5jb3Vwb24gLmFjdGlvbnMtdG9vbGJhciBidXR0b246aG92ZXIsIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5maWVsZHNldC5jb3Vwb24gLmFjdGlvbnMtdG9vbGJhciBidXR0b246Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzOTM7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmZpZWxkc2V0LmNvdXBvbiAuYWN0aW9ucy10b29sYmFyIGJ1dHRvbjpub3QoLmNsb3NlLWJ1dHRvbik6bm90KC5hY3Rpb24tY2xvc2UpIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5maWVsZHNldC5jb3Vwb24gLmFjdGlvbnMtdG9vbGJhciBidXR0b246aG92ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE1cHggcmdiYSgwLCA1NCwgOTYsIDAuNDUpOyB9XG4gICAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IC5maWVsZHNldC5jb3Vwb24gLmFjdGlvbnMtdG9vbGJhciBidXR0b246ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuZmllbGRzZXQuY291cG9uIC5hY3Rpb25zLXRvb2xiYXIgYnV0dG9uOmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSAuZmllbGRzZXQuY291cG9uIC5maWVsZCB7XG4gICAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29udGFpbmVyIC5jYXJ0LXN1bW1hcnkgLmZpZWxkc2V0LmNvdXBvbiAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbnRhaW5lciAuY2FydC1zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydC1jb250YWluZXIgLmNhcnQtc3VtbWFyeSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMy4zNzVyZW0pOyB9IH1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtZW1wdHkge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3OS41cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWVtcHR5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNyb3Nzc2VsbCAucHJvZHVjdHMubGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogMXJlbTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNyb3Nzc2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDc5LjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY3Jvc3NzZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY3Jvc3NzZWxsIC5wcmljZS1ib3gge1xuICBjb2xvcjogI2U5NWYxMztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY3Jvc3NzZWxsIC5wcmljZS1ib3gubG9hZGluZyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL2xvYWRlci0xLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY3Jvc3NzZWxsIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgY29sb3I6ICM5RkE2QUQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY3Jvc3NzZWxsIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNyb3Nzc2VsbCAucHJpY2UtYm94IC5wcmljZS1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jaGVja291dC1jYXJ0LWluZGV4IC5jcm9zc3NlbGwgLnByaWNlLWJveCAubWluaW1hbC1wcmljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY3Jvc3NzZWxsIGJ1dHRvbi50b2NhcnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2hlY2tvdXQtY2FydC1pbmRleCAuY3Jvc3NzZWxsIGJ1dHRvbi50b2NhcnQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNyb3Nzc2VsbCBidXR0b24udG9jYXJ0OmhvdmVyLCAuY2hlY2tvdXQtY2FydC1pbmRleCAuY3Jvc3NzZWxsIGJ1dHRvbi50b2NhcnQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzOTM7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNyb3Nzc2VsbCBidXR0b24udG9jYXJ0Om5vdCguY2xvc2UtYnV0dG9uKTpub3QoLmFjdGlvbi1jbG9zZSkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNyb3Nzc2VsbCBidXR0b24udG9jYXJ0OmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoMCwgNTQsIDk2LCAwLjQ1KTsgfVxuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY3Jvc3NzZWxsIGJ1dHRvbi50b2NhcnQ6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICNkNmRiZTA7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY3Jvc3NzZWxsIGJ1dHRvbi50b2NhcnQ6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNyb3Nzc2VsbCAucHJvZHVjdC1pdGVtLXBob3RvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5zZWN0aW9uLmd1aWRlcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMS41cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0NjBweCkge1xuICAgIHNlY3Rpb24uZ3VpZGVzIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBnYXA6IDJyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24uZ3VpZGVzIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHNlY3Rpb24uZ3VpZGVzIHtcbiAgICAgIGdhcDogM3JlbTsgfSB9XG4gIHNlY3Rpb24uZ3VpZGVzIGFydGljbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNnJlbTtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDgwLCA4MCwgODAsIDAuMik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIHNlY3Rpb24uZ3VpZGVzIGFydGljbGUgLnNjb3V0LWd1aWRlLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICBtYXgtaGVpZ2h0OiAyNXJlbTsgfVxuICAgICAgc2VjdGlvbi5ndWlkZXMgYXJ0aWNsZSAuc2NvdXQtZ3VpZGUtaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTsgfVxuICAgIHNlY3Rpb24uZ3VpZGVzIGFydGljbGUgZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IDAuNnJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBzZWN0aW9uLmd1aWRlcyBhcnRpY2xlIGZvb3RlciAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDM2NjA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBwYWRkaW5nOiAwLjZyZW07IH1cblxuLnNjb3V0LWd1aWRlLmNhbGxvdXQge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuc2NvdXQtZ3VpZGUuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzFFNEZFOyB9XG4gIC5zY291dC1ndWlkZS5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RFRjRENDsgfVxuXG4uc2NvdXQtZ3VpZGUgdWwgbGkgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnZpZGVvLXBsYXllciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cbiAgLnZpZGVvLXBsYXllciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5wYWdlLW1haW4gLmxvZ2luLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5wYWdlLW1haW4gLmxvZ2luLWNvbnRhaW5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLnBhZ2UtbWFpbiAubG9naW4tY29udGFpbmVyIC5mb3JtLWxvZ2luIGxhYmVsIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiBzbWFsbGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2Q2ZGJlMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICAgIGNvbG9yOiAjMDAyRTUyOyB9XG4gIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5wYWdlLW1haW4gLmxvZ2luLWNvbnRhaW5lciAuZm9ybS1sb2dpbiAuYWN0aW9ucy10b29sYmFyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogMC41cmVtOyB9XG4gICAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLnBhZ2UtbWFpbiAubG9naW4tY29udGFpbmVyIC5mb3JtLWxvZ2luIC5hY3Rpb25zLXRvb2xiYXIgLnNlY29uZGFyeSB7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IDFyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmluZm8ge1xuICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuaW5mbyAubmV3c2xldHRlciB7XG4gICAgZ3JpZC1jb2x1bW46IDEvMzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuaW5mbyAubmV3c2xldHRlciB7XG4gICAgZ3JpZC1jb2x1bW46IDEvMjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuc2NvdXQtZ3JvdXAge1xuICAgIGdyaWQtcm93OiAyO1xuICAgIGdyaWQtY29sdW1uOiAyLzM7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIGp1c3RpZnktc2VsZjogcmlnaHQ7IH0gfVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmZpZWxkOm5vdCguY2hvaWNlKSBsYWJlbCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgYm9yZGVyOiAycHggc29saWQgI2Q2ZGJlMDtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgY29sb3I6ICMwMDJFNTI7IH1cblxuLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jb250cm9sIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNvbnRyb2wgaW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNvbnRyb2wgLm1hZ2UtZXJyb3I6bm90KGlucHV0KSB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY29udHJvbCAubWFnZS1lcnJvcjpub3QoaW5wdXQpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLm5ld3NsZXR0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAubmV3c2xldHRlciBsYWJlbCB7XG4gICAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi43cmVtKTsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLnNjb3V0LWdyb3VwICNzY291dF9ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDdweDsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLnBhc3N3b3JkIC5jb250cm9sICNwYXNzd29yZC1lcnJvcixcbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAucGFzc3dvcmQgLmNvbnRyb2wgI3Bhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLnBhc3N3b3JkIC5jb250cm9sICNwYXNzd29yZC1zdHJlbmd0aC1tZXRlci1jb250YWluZXIucGFzc3dvcmQtd2VhayAjcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItbGFiZWwge1xuICBjb2xvcjogI2U5NWYxMzsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLnBhc3N3b3JkIC5jb250cm9sICNwYXNzd29yZC1zdHJlbmd0aC1tZXRlci1jb250YWluZXIucGFzc3dvcmQtdmVyeS1zdHJvbmcgI3Bhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLWxhYmVsIHtcbiAgY29sb3I6ICMwMDM2NjA7IH1cblxuLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wYXNzd29yZCAuY29udHJvbCAjcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItY29udGFpbmVyICNwYXNzd29yZC1zdHJlbmd0aC1tZXRlci1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5wYXNzd29yZCAuY29udHJvbCAucGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSBpbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLm1hZ2UtZXJyb3I6bm90KGlucHV0KSB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAubWFnZS1lcnJvcjpub3QoaW5wdXQpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAtMnJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9IH1cbiAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMzY2MDtcbiAgICAgIGNvbG9yOiAjMDAzNjYwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b24ge1xuICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uLCAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmhvdmVyLCAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b24uZGlzYWJsZWQsIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b25bZGlzYWJsZWRdLCAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpob3ZlciwgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMzY2MDtcbiAgICAgICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246Zm9jdXMuZGlzYWJsZWQsIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAzNjYwO1xuICAgICAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKTpub3QoLmFjdGlvbi1jbG9zZSkge1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDAsIDU0LCA5NiwgMC40NSk7IH1cbiAgICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMzY2MDtcbiAgICAgICAgICBjb2xvcjogIzAwMzY2MDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uLCAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmhvdmVyLCAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbi5kaXNhYmxlZCwgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbltkaXNhYmxlZF0sIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246aG92ZXIsIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAzNjYwO1xuICAgICAgICAgICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgICAgICAgICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246aG92ZXIuZGlzYWJsZWQsIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246aG92ZXJbZGlzYWJsZWRdLCAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpub3QoLmNsb3NlLWJ1dHRvbik6bm90KC5hY3Rpb24tY2xvc2UpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE1cHggcmdiYSgwLCA1NCwgOTYsIDAuNDUpOyB9XG4gICAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5mb3JtLWNyZWF0ZS1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gICAgICAgICAgcGFkZGluZzogNXZ3IDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IDAuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuYWN0aW9ucy10b29sYmFyIGJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMXJlbTtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM2NjA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmFjdGlvbnMtdG9vbGJhciBidXR0b24ge1xuICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmFjdGlvbnMtdG9vbGJhciBidXR0b246aG92ZXIsIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuYWN0aW9ucy10b29sYmFyIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzOTM7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmFjdGlvbnMtdG9vbGJhciBidXR0b246bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZm9ybS1jcmVhdGUtYWNjb3VudCAuYWN0aW9ucy10b29sYmFyIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE1cHggcmdiYSgwLCA1NCwgOTYsIDAuNDUpOyB9XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmFjdGlvbnMtdG9vbGJhciBidXR0b246ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZvcm0tY3JlYXRlLWFjY291bnQgLmFjdGlvbnMtdG9vbGJhciBidXR0b246ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9IH1cblxuLmFjY291bnQgLnBhZ2UtbWFpbiAuY29sdW1ucyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMXJlbTsgfVxuICAuYWNjb3VudCAucGFnZS1tYWluIC5jb2x1bW5zIC5hY2NvdW50LW5hdiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFjY291bnQgLnBhZ2UtbWFpbiAuY29sdW1ucyAuYWNjb3VudC1uYXYge1xuICAgICAgICBvcmRlcjogdW5zZXQ7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYWNjb3VudCAucGFnZS1tYWluIC5jb2x1bW5zIC5tYWluIHtcbiAgICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWNjb3VudCAucGFnZS1tYWluIC5jb2x1bW5zIHtcbiAgICAgIGdhcDogMnJlbTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7IH0gfVxuXG4uYWNjb3VudCAucGFnZS1tYWluIC5hY2NvdW50LW5hdiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGQ0ZTA7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBtYXJnaW46IDAgMXJlbSAwLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWNjb3VudCAucGFnZS1tYWluIC5hY2NvdW50LW5hdiB7XG4gICAgICBib3JkZXI6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW46IDFyZW0gMCAwOyB9IH1cblxuLmFjY291bnQgLnBhZ2UtbWFpbiAuYWNjb3VudC1uYXYtY29udGVudCAuaXRlbXMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwOyB9XG4gIC5hY2NvdW50IC5wYWdlLW1haW4gLmFjY291bnQtbmF2LWNvbnRlbnQgLml0ZW1zIGxpIHtcbiAgICBwYWRkaW5nOiA1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWNjb3VudCAucGFnZS1tYWluIC5hY2NvdW50LW5hdi1jb250ZW50IC5pdGVtcyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAuYWNjb3VudCAucGFnZS1tYWluIC5hY2NvdW50LW5hdi1jb250ZW50IC5pdGVtcyBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfSB9XG5cbi5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUge1xuICBtYXJnaW46IDA7IH1cbiAgLmFjY291bnQgLnBhZ2UtbWFpbiB0YWJsZSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgdGhlYWQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgdGhlYWQgdHIgdGgge1xuICAgICAgcGFkZGluZzogMXJlbSAwLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIHRmb290IHRyIHRoIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtOyB9XG4gIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgdHIge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgaHlwaGVuczogYXV0bztcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIHRyIHRkIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIC5hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgLmFjdGlvbnMgLmFjdGlvbi5vcmRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMXJlbTtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgICBjb2xvcjogIzAwMzY2MDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIC5hY3Rpb25zIC5hY3Rpb24ub3JkZXIge1xuICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIC5hY3Rpb25zIC5hY3Rpb24ub3JkZXIsIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgLmFjdGlvbnMgLmFjdGlvbi5vcmRlcjpob3ZlciwgLmFjY291bnQgLnBhZ2UtbWFpbiB0YWJsZSAuYWN0aW9ucyAuYWN0aW9uLm9yZGVyOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgLmFjdGlvbnMgLmFjdGlvbi5vcmRlci5kaXNhYmxlZCwgLmFjY291bnQgLnBhZ2UtbWFpbiB0YWJsZSAuYWN0aW9ucyAuYWN0aW9uLm9yZGVyLmRpc2FibGVkOmhvdmVyLCAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIC5hY3Rpb25zIC5hY3Rpb24ub3JkZXIuZGlzYWJsZWQ6Zm9jdXMsIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgLmFjdGlvbnMgLmFjdGlvbi5vcmRlcltkaXNhYmxlZF0sIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgLmFjdGlvbnMgLmFjdGlvbi5vcmRlcltkaXNhYmxlZF06aG92ZXIsIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgLmFjdGlvbnMgLmFjdGlvbi5vcmRlcltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmFjY291bnQgLnBhZ2UtbWFpbiB0YWJsZSAuYWN0aW9ucyAuYWN0aW9uLm9yZGVyOmhvdmVyLCAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIC5hY3Rpb25zIC5hY3Rpb24ub3JkZXI6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDM2NjA7XG4gICAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgICAgIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgLmFjdGlvbnMgLmFjdGlvbi5vcmRlcjpob3Zlci5kaXNhYmxlZCwgLmFjY291bnQgLnBhZ2UtbWFpbiB0YWJsZSAuYWN0aW9ucyAuYWN0aW9uLm9yZGVyOmhvdmVyW2Rpc2FibGVkXSwgLmFjY291bnQgLnBhZ2UtbWFpbiB0YWJsZSAuYWN0aW9ucyAuYWN0aW9uLm9yZGVyOmZvY3VzLmRpc2FibGVkLCAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIC5hY3Rpb25zIC5hY3Rpb24ub3JkZXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAzNjYwO1xuICAgICAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgICAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIC5hY3Rpb25zIC5hY3Rpb24ub3JkZXI6bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIC5hY2NvdW50IC5wYWdlLW1haW4gdGFibGUgLmFjdGlvbnMgLmFjdGlvbi5vcmRlcjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE1cHggcmdiYSgwLCA1NCwgOTYsIDAuNDUpOyB9XG4gICAgICAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIC5hY3Rpb25zIC5hY3Rpb24ub3JkZXI6ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYWNjb3VudCAucGFnZS1tYWluIHRhYmxlIC5hY3Rpb25zIC5hY3Rpb24ub3JkZXI6ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5hY2NvdW50IC5wYWdlLW1haW4gLnRvb2xiYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hY2NvdW50IC5wYWdlLW1haW4gLnRvb2xiYXIge1xuICAgICAgcGFkZGluZzogMC41cmVtOyB9IH1cbiAgLmFjY291bnQgLnBhZ2UtbWFpbiAudG9vbGJhciAucGFnZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBncmlkLWdhcDogMC41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFjY291bnQgLnBhZ2UtbWFpbiAudG9vbGJhciAucGFnZXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87IH0gfVxuICAgIC5hY2NvdW50IC5wYWdlLW1haW4gLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyB7XG4gICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNmRiZTA7XG4gICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5hY2NvdW50IC5wYWdlLW1haW4gLnRvb2xiYXIgLnBhZ2VyIC5wYWdlcyB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkNmRiZTA7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q2ZGJlMDtcbiAgICAgICAgICBtYXJnaW46IDAgNSU7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmFjY291bnQgLnBhZ2UtbWFpbiAudG9vbGJhciAucGFnZXIgLnBhZ2VzIHtcbiAgICAgICAgICBtYXJnaW46IDAgMTAlO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfSB9XG4gICAgLmFjY291bnQgLnBhZ2UtbWFpbiAudG9vbGJhciAucGFnZXIgLnBhZ2VzICsgLmxpbWl0ZXIge1xuICAgICAgZ3JpZC1jb2x1bW46IDIvMzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmFjY291bnQgLnBhZ2UtbWFpbiAudG9vbGJhciAucGFnZXIgLnBhZ2VzICsgLmxpbWl0ZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBhdXRvOyB9IH1cbiAgICAuYWNjb3VudCAucGFnZS1tYWluIC50b29sYmFyIC5wYWdlciAubGltaXRlciB7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIGdyaWQtY29sdW1uOiAzLzQ7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ2FwOiAxcmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgYXV0byk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuYWNjb3VudCAucGFnZS1tYWluIC50b29sYmFyIC5wYWdlciAubGltaXRlciB7XG4gICAgICAgICAgZ3JpZC1yb3c6IGF1dG87IH0gfVxuICAgICAgLmFjY291bnQgLnBhZ2UtbWFpbiAudG9vbGJhciAucGFnZXIgLmxpbWl0ZXIgLmxpbWl0ZXItb3B0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmFjY291bnQgLnBhZ2UtbWFpbiAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNjb3VudCAucGFnZS1tYWluIC5hY3Rpb25zLXRvb2xiYXIge1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAuYWNjb3VudCAucGFnZS1tYWluIC5hY3Rpb25zLXRvb2xiYXIgLmJhY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMXJlbTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgY29sb3I6ICMwMDM2NjA7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmFjY291bnQgLnBhZ2UtbWFpbiAuYWN0aW9ucy10b29sYmFyIC5iYWNrIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuYWNjb3VudCAucGFnZS1tYWluIC5hY3Rpb25zLXRvb2xiYXIgLmJhY2ssIC5hY2NvdW50IC5wYWdlLW1haW4gLmFjdGlvbnMtdG9vbGJhciAuYmFjazpob3ZlciwgLmFjY291bnQgLnBhZ2UtbWFpbiAuYWN0aW9ucy10b29sYmFyIC5iYWNrOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmFjY291bnQgLnBhZ2UtbWFpbiAuYWN0aW9ucy10b29sYmFyIC5iYWNrLmRpc2FibGVkLCAuYWNjb3VudCAucGFnZS1tYWluIC5hY3Rpb25zLXRvb2xiYXIgLmJhY2suZGlzYWJsZWQ6aG92ZXIsIC5hY2NvdW50IC5wYWdlLW1haW4gLmFjdGlvbnMtdG9vbGJhciAuYmFjay5kaXNhYmxlZDpmb2N1cywgLmFjY291bnQgLnBhZ2UtbWFpbiAuYWN0aW9ucy10b29sYmFyIC5iYWNrW2Rpc2FibGVkXSwgLmFjY291bnQgLnBhZ2UtbWFpbiAuYWN0aW9ucy10b29sYmFyIC5iYWNrW2Rpc2FibGVkXTpob3ZlciwgLmFjY291bnQgLnBhZ2UtbWFpbiAuYWN0aW9ucy10b29sYmFyIC5iYWNrW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5hY2NvdW50IC5wYWdlLW1haW4gLmFjdGlvbnMtdG9vbGJhciAuYmFjazpob3ZlciwgLmFjY291bnQgLnBhZ2UtbWFpbiAuYWN0aW9ucy10b29sYmFyIC5iYWNrOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMzY2MDtcbiAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgICAuYWNjb3VudCAucGFnZS1tYWluIC5hY3Rpb25zLXRvb2xiYXIgLmJhY2s6aG92ZXIuZGlzYWJsZWQsIC5hY2NvdW50IC5wYWdlLW1haW4gLmFjdGlvbnMtdG9vbGJhciAuYmFjazpob3ZlcltkaXNhYmxlZF0sIC5hY2NvdW50IC5wYWdlLW1haW4gLmFjdGlvbnMtdG9vbGJhciAuYmFjazpmb2N1cy5kaXNhYmxlZCwgLmFjY291bnQgLnBhZ2UtbWFpbiAuYWN0aW9ucy10b29sYmFyIC5iYWNrOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgLmFjY291bnQgLnBhZ2UtbWFpbiAuYWN0aW9ucy10b29sYmFyIC5iYWNrOm5vdCguY2xvc2UtYnV0dG9uKTpub3QoLmFjdGlvbi1jbG9zZSkge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5hY2NvdW50IC5wYWdlLW1haW4gLmFjdGlvbnMtdG9vbGJhciAuYmFjazpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoMCwgNTQsIDk2LCAwLjQ1KTsgfVxuICAgIC5hY2NvdW50IC5wYWdlLW1haW4gLmFjdGlvbnMtdG9vbGJhciAuYmFjazpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY2NvdW50IC5wYWdlLW1haW4gLmFjdGlvbnMtdG9vbGJhciAuYmFjazpkaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gaGVhZGVyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cblxuLmN1c3RvbWVyLWFjY291bnQtaW5kZXggLnBhZ2UtbWFpbiAuYmxvY2stZGFzaGJvYXJkLWFkZHJlc3Nlcyxcbi5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLWRhc2hib2FyZC1vcmRlcnMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLmN1c3RvbWVyLWFjY291bnQtaW5kZXggLnBhZ2UtbWFpbiAuYmxvY2stdGl0bGUgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5ibG9jay1kYXNoYm9hcmQtaW5mbyB7XG4gIG9yZGVyOiAxOyB9XG4gIC5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLWRhc2hib2FyZC1pbmZvICoge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5ibG9jay1kYXNoYm9hcmQtaW5mbyAuZW1haWwsXG4gIC5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLWRhc2hib2FyZC1pbmZvIC5uZXdzbGV0dGVyLXN1YnNjcmlwdGlvbi1zdGF0dXMsXG4gIC5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLWRhc2hib2FyZC1pbmZvIC5lZGl0LFxuICAuY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5ibG9jay1kYXNoYm9hcmQtaW5mbyAubG9nb3V0LWJ1dHRvbi1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAuY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5ibG9jay1kYXNoYm9hcmQtaW5mbyAuZW1haWwgLmxhYmVsIHtcbiAgICBtYXJnaW46IDAgMC41cmVtIDAgMDtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBiYWNrZ3JvdW5kOiAjOUZBNkFEO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmN1c3RvbWVyLWFjY291bnQtaW5kZXggLnBhZ2UtbWFpbiAuYmxvY2stZGFzaGJvYXJkLWluZm8gLm5ld3NsZXR0ZXItc3Vic2NyaXB0aW9uLXN0YXR1cyAuc3RhdHVzOmJlZm9yZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZDogIzlGQTZBRDtcbiAgICBwYWRkaW5nOiAwLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmN1c3RvbWVyLWFjY291bnQtaW5kZXggLnBhZ2UtbWFpbiAuYmxvY2stZGFzaGJvYXJkLWluZm8gLmVkaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5ibG9jay1kYXNoYm9hcmQtaW5mbyAubG9nb3V0LWJ1dHRvbi1ib3gge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLWRhc2hib2FyZC1hZGRyZXNzZXMgLmJsb2NrLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuXG4uY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5ibG9jay1kYXNoYm9hcmQtYWRkcmVzc2VzIC5ibG9jay1jb250ZW50IC5ib3gge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOUZBNkFEOyB9XG4gIC5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLWRhc2hib2FyZC1hZGRyZXNzZXMgLmJsb2NrLWNvbnRlbnQgLmJveCAuYm94LXRpdGxlLWJveCB7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLWRhc2hib2FyZC1hZGRyZXNzZXMgLmJsb2NrLWNvbnRlbnQgLmJveCAuYm94LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5ibG9jay1kYXNoYm9hcmQtYWRkcmVzc2VzIC5ibG9jay1jb250ZW50IC5ib3ggLmVkaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5ibG9jay1kYXNoYm9hcmQtYWRkcmVzc2VzIC5ibG9jay1jb250ZW50IC5ib3ggLmJveC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbSAwLjkzNzVyZW07IH1cbiAgICAuY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5ibG9jay1kYXNoYm9hcmQtYWRkcmVzc2VzIC5ibG9jay1jb250ZW50IC5ib3ggLmJveC1jb250ZW50IGFkZHJlc3Mge1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gdGFibGUgLnRhYmxlLWNhcHRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmNvbHVtbnMgLmNvbHVtbiAuYmxvY2s6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5jb2x1bW5zIC5jb2x1bW4gLmJsb2NrOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG5cbi5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLWFkZHJlc3Nlcy1kZWZhdWx0IC5ib3gge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmNvbHVtbnMgLm1haW4gLmJsb2NrLWNvbnRlbnQgLmJveCAuYm94LWFjdGlvbnMgYSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1pbmRleCAucGFnZS1tYWluIC5jb2x1bW5zIC5tYWluIC5ibG9jay1jb250ZW50IC5ib3ggLmJveC1hY3Rpb25zIGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcYVwiO1xuICB3aGl0ZS1zcGFjZTogcHJlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLWRhc2hib2FyZC1hZGRyZXNzZXMsXG4gIC5jdXN0b21lci1hY2NvdW50LWluZGV4IC5wYWdlLW1haW4gLmJsb2NrLWRhc2hib2FyZC1vcmRlcnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnNhbGVzLW9yZGVyLWhpc3RvcnkgLnRhYmxlLWNhcHRpb24ge1xuICBwYWRkaW5nOiAwIDAgMXJlbTtcbiAgZm9udC1zaXplOiAycmVtOyB9XG5cbi5zYWxlcy1vcmRlci1oaXN0b3J5IHRhYmxlIHRyIC5zaGlwcGluZyxcbi5zYWxlcy1vcmRlci1oaXN0b3J5IHRhYmxlIHRyIC5pZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNhbGVzLW9yZGVyLWhpc3RvcnkgdGFibGUgdHIgLnNoaXBwaW5nLFxuICAuc2FsZXMtb3JkZXItaGlzdG9yeSB0YWJsZSB0ciAuaWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG4uc2FsZXMtb3JkZXItdmlldyAub3JkZXItbGlua3MsXG4uc2FsZXMtb3JkZXItdmlldyAub3JkZXItdGl0bGUsXG4uc2FsZXMtb3JkZXItdmlldyAudGFibGUtY2FwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNhbGVzLW9yZGVyLXZpZXcgLmJsb2NrLW9yZGVyLWRldGFpbHMtdmlldyAuYmxvY2stdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuc2FsZXMtb3JkZXItdmlldyAuYmxvY2stb3JkZXItZGV0YWlscy12aWV3IC5ibG9jay10aXRsZSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAuc2FsZXMtb3JkZXItdmlldyAuYmxvY2stb3JkZXItZGV0YWlscy12aWV3IC5ibG9jay10aXRsZSAub3JkZXItbnVtYmVyIC5sYWJlbCB7XG4gICAgY29sb3I6ICMzNjNBNDM7IH1cbiAgLnNhbGVzLW9yZGVyLXZpZXcgLmJsb2NrLW9yZGVyLWRldGFpbHMtdmlldyAuYmxvY2stdGl0bGUgLm9yZGVyLW51bWJlciAubnVtYmVyIHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zYWxlcy1vcmRlci12aWV3IC5ibG9jay1vcmRlci1kZXRhaWxzLXZpZXcgLmJsb2NrLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuXG4uc2FsZXMtb3JkZXItdmlldyAuYmxvY2stb3JkZXItZGV0YWlscy12aWV3IC5ibG9jay1jb250ZW50IC5ib3gge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOUZBNkFEOyB9XG4gIC5zYWxlcy1vcmRlci12aWV3IC5ibG9jay1vcmRlci1kZXRhaWxzLXZpZXcgLmJsb2NrLWNvbnRlbnQgLmJveCAuYm94LXRpdGxlLWJveCB7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5zYWxlcy1vcmRlci12aWV3IC5ibG9jay1vcmRlci1kZXRhaWxzLXZpZXcgLmJsb2NrLWNvbnRlbnQgLmJveCAuYm94LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuc2FsZXMtb3JkZXItdmlldyAuYmxvY2stb3JkZXItZGV0YWlscy12aWV3IC5ibG9jay1jb250ZW50IC5ib3ggLmVkaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuc2FsZXMtb3JkZXItdmlldyAuYmxvY2stb3JkZXItZGV0YWlscy12aWV3IC5ibG9jay1jb250ZW50IC5ib3ggLmJveC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbSAwLjkzNzVyZW07IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuYmxvY2stb3JkZXItZGV0YWlscy12aWV3IC5ibG9jay1jb250ZW50IC5ib3ggLmJveC1jb250ZW50IGFkZHJlc3Mge1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5zYWxlcy1vcmRlci12aWV3IC5vcmRlci1kZXRhaWxzLWl0ZW1zIC5pdGVtcy1xdHkge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmN1c3RvbWVyLWFjY291bnQtZWRpdCAubWFpbiBoZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IDFyZW07IH0gfVxuXG4uY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuZmllbGRzZXQgLmZpZWxkLmNob2ljZSBsYWJlbCB7XG4gIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjdyZW0pOyB9XG5cbi5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5maWVsZHNldCAuZmllbGQ6bm90KC5jaG9pY2UpIGxhYmVsIHtcbiAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiBzbWFsbGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDZkYmUwO1xuICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICBjb2xvcjogIzAwMkU1MjsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuZmllbGRzZXQucGFzc3dvcmQge1xuICBncmlkLXJvdzogMjtcbiAgZ3JpZC1jb2x1bW46IDEvMztcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgYm94LXNoYWRvdzogMCAwIDVweCA0cHggaW5zZXQgcmdiYSgxMCwgMTAsIDEwLCAwLjA1KTtcbiAgcGFkZGluZzogMnJlbTtcbiAgbWFyZ2luOiAwIC0ycmVtIDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuZmllbGRzZXQucGFzc3dvcmQge1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbTsgfSB9XG4gIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5maWVsZHNldC5wYXNzd29yZCAuY29udHJvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuZmllbGRzZXQuY3JlYXRlLmFjY291bnQgcCB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgaW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLm1hZ2UtZXJyb3I6bm90KGlucHV0KSB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAgIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5tYWdlLWVycm9yOm5vdChpbnB1dCk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IC0ycmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9IH1cbiAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAzNjYwO1xuICAgICAgY29sb3I6ICMwMDM2NjA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uIHtcbiAgICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uLCAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246aG92ZXIsIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b24uZGlzYWJsZWQsIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b25bZGlzYWJsZWRdLCAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpob3ZlciwgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAzNjYwO1xuICAgICAgICBjb2xvcjogIzAwMzY2MDsgfVxuICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246aG92ZXIuZGlzYWJsZWQsIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMzY2MDtcbiAgICAgICAgICBjb2xvcjogIzAwMzY2MDsgfVxuICAgICAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKTpub3QoLmFjdGlvbi1jbG9zZSkge1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoMCwgNTQsIDk2LCAwLjQ1KTsgfVxuICAgICAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAzNjYwO1xuICAgICAgICAgIGNvbG9yOiAjMDAzNjYwO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbiB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uLCAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246aG92ZXIsIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbi5kaXNhYmxlZCwgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbltkaXNhYmxlZF0sIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246aG92ZXIsIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMwMDM2NjA7XG4gICAgICAgICAgICBjb2xvcjogIzAwMzY2MDsgfVxuICAgICAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2UgYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246aG92ZXJbZGlzYWJsZWRdLCAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246Zm9jdXMuZGlzYWJsZWQsIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAzNjYwO1xuICAgICAgICAgICAgICBjb2xvcjogIzAwMzY2MDsgfVxuICAgICAgICAgIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5jYXB0Y2hhIC5jYXB0Y2hhLWltYWdlIGJ1dHRvbjpub3QoLmNsb3NlLWJ1dHRvbik6bm90KC5hY3Rpb24tY2xvc2UpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDAsIDU0LCA5NiwgMC40NSk7IH1cbiAgICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246ZGlzYWJsZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSBidXR0b246ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuY2FwdGNoYSAuY2FwdGNoYS1pbWFnZSAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICAgICAgICAgIHBhZGRpbmc6IDV2dyAwOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmNhcHRjaGEgLmNhcHRjaGEtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IDAuNXJlbTsgfSB9XG5cbi5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5fd2l0aC10b29sdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5maWVsZC10b29sdGlwIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAyLjVyZW07IH1cblxuLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgLmZpZWxkLXRvb2x0aXAtYWN0aW9uIHtcbiAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAwLjVyZW07XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG4gIC5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5maWVsZC10b29sdGlwLWFjdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCcFpEMGlhUzFwYm1adklpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSWdkMmxrZEdnOUlqTXlJaUJvWldsbmFIUTlJak15SWlCbWFXeHNQU0p1YjI1bElpQnpkSEp2YTJVOUlpTTFOVFVpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0ppZFhSMElpQnpkSEp2YTJVdGJHbHVaV3B2YVc0OUltMXBkR1Z5SWlCemRISnZhMlV0ZDJsa2RHZzlJakVpUGdvZ0lDQWdQSEJoZEdnZ1pEMGlUVEUySURFMElFd3hOaUF5TXlCTk1UWWdPQ0JNTVRZZ01UQWlJQzgrQ2lBZ0lDQThZMmx5WTJ4bElHTjRQU0l4TmlJZ1kzazlJakUySWlCeVBTSXhOQ0lnTHo0S1BDOXpkbWMrKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cbi5jdXN0b21lci1hY2NvdW50LWVkaXQgLmZvcm0tZWRpdC1hY2NvdW50IC5hY3Rpb25zLXRvb2xiYXIge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAuY3VzdG9tZXItYWNjb3VudC1lZGl0IC5mb3JtLWVkaXQtYWNjb3VudCAuYWN0aW9ucy10b29sYmFyIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmN1c3RvbWVyLWFjY291bnQtZWRpdCAuZm9ybS1lZGl0LWFjY291bnQgI3Njb3V0X2dyb3VwIHtcbiAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG5cbi5jdXN0b21lci1hZGRyZXNzLWluZGV4IC5tYWluIC5ibG9jay10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuXG4uY3VzdG9tZXItYWRkcmVzcy1pbmRleCAuYmxvY2stYWRkcmVzc2VzLWRlZmF1bHQgLmJveCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5RkE2QUQ7IH1cbiAgLmN1c3RvbWVyLWFkZHJlc3MtaW5kZXggLmJsb2NrLWFkZHJlc3Nlcy1kZWZhdWx0IC5ib3ggLmJveC10aXRsZS1ib3gge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM2NjA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuY3VzdG9tZXItYWRkcmVzcy1pbmRleCAuYmxvY2stYWRkcmVzc2VzLWRlZmF1bHQgLmJveCAuYm94LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuY3VzdG9tZXItYWRkcmVzcy1pbmRleCAuYmxvY2stYWRkcmVzc2VzLWRlZmF1bHQgLmJveCAuZWRpdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5jdXN0b21lci1hZGRyZXNzLWluZGV4IC5ibG9jay1hZGRyZXNzZXMtZGVmYXVsdCAuYm94IC5ib3gtY29udGVudCB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC42MjVyZW0gMC45Mzc1cmVtOyB9XG4gICAgLmN1c3RvbWVyLWFkZHJlc3MtaW5kZXggLmJsb2NrLWFkZHJlc3Nlcy1kZWZhdWx0IC5ib3ggLmJveC1jb250ZW50IGFkZHJlc3Mge1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jdXN0b21lci1hZGRyZXNzLWluZGV4IC5ibG9jay1hZGRyZXNzZXMtZGVmYXVsdCAuYmxvY2stY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMXJlbTsgfSB9XG5cbi5jdXN0b21lci1hZGRyZXNzLWluZGV4IC5ibG9jay1hZGRyZXNzZXMtbGlzdCB0ciAubGFzdG5hbWUsXG4uY3VzdG9tZXItYWRkcmVzcy1pbmRleCAuYmxvY2stYWRkcmVzc2VzLWxpc3QgdHIgLmNpdHksXG4uY3VzdG9tZXItYWRkcmVzcy1pbmRleCAuYmxvY2stYWRkcmVzc2VzLWxpc3QgdHIgLmNvdW50cnksXG4uY3VzdG9tZXItYWRkcmVzcy1pbmRleCAuYmxvY2stYWRkcmVzc2VzLWxpc3QgdHIgLnBob25lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY3VzdG9tZXItYWRkcmVzcy1pbmRleCAuYmxvY2stYWRkcmVzc2VzLWxpc3QgdHIgLnBob25lIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmN1c3RvbWVyLWFkZHJlc3MtaW5kZXggLmJsb2NrLWFkZHJlc3Nlcy1saXN0IHRyIC5sYXN0bmFtZSxcbiAgLmN1c3RvbWVyLWFkZHJlc3MtaW5kZXggLmJsb2NrLWFkZHJlc3Nlcy1saXN0IHRyIC5jaXR5LFxuICAuY3VzdG9tZXItYWRkcmVzcy1pbmRleCAuYmxvY2stYWRkcmVzc2VzLWxpc3QgdHIgLmNvdW50cnkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmN1c3RvbWVyLWFkZHJlc3MtaW5kZXggLmFjdGlvbnMtdG9vbGJhciBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMXJlbTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM2NjA7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jdXN0b21lci1hZGRyZXNzLWluZGV4IC5hY3Rpb25zLXRvb2xiYXIgYnV0dG9uIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuY3VzdG9tZXItYWRkcmVzcy1pbmRleCAuYWN0aW9ucy10b29sYmFyIGJ1dHRvbjpob3ZlciwgLmN1c3RvbWVyLWFkZHJlc3MtaW5kZXggLmFjdGlvbnMtdG9vbGJhciBidXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTM5MztcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmN1c3RvbWVyLWFkZHJlc3MtaW5kZXggLmFjdGlvbnMtdG9vbGJhciBidXR0b246bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLmN1c3RvbWVyLWFkZHJlc3MtaW5kZXggLmFjdGlvbnMtdG9vbGJhciBidXR0b246aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDAsIDU0LCA5NiwgMC40NSk7IH1cbiAgICAuY3VzdG9tZXItYWRkcmVzcy1pbmRleCAuYWN0aW9ucy10b29sYmFyIGJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5jdXN0b21lci1hZGRyZXNzLWluZGV4IC5hY3Rpb25zLXRvb2xiYXIgYnV0dG9uOmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuXG4uY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5tYWluIGhlYWRlciB7XG4gIHBhZGRpbmc6IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCBsYWJlbDpub3QoW2Zvcj1cInByaW1hcnlfYmlsbGluZ1wiXSk6bm90KFtmb3I9XCJwcmltYXJ5X3NoaXBwaW5nXCJdKSB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgYm9yZGVyOiAycHggc29saWQgI2Q2ZGJlMDtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgY29sb3I6ICMwMDJFNTI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IDFyZW07IH0gfVxuXG4uY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAxcmVtO1xuICBwYWRkaW5nOiAwO1xuICBncmlkLWNvbHVtbjogc3BhbiAyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5zZWNvbmRhcnkge1xuICAgICAgb3JkZXI6IC0xOyB9IH1cbiAgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNjYwO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24ge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbjpob3ZlciwgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzOTM7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbjpub3QoLmNsb3NlLWJ1dHRvbik6bm90KC5hY3Rpb24tY2xvc2UpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAuY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb246aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDAsIDU0LCA5NiwgMC40NSk7IH1cbiAgICAuY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb246ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb246ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5iYWNrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMzY2MDtcbiAgICAgIGNvbG9yOiAjMDAzNjYwO1xuICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5iYWNrIHtcbiAgICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmJhY2ssIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5iYWNrOmhvdmVyLCAuY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYmFjazpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYmFjay5kaXNhYmxlZCwgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmJhY2suZGlzYWJsZWQ6aG92ZXIsIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5iYWNrLmRpc2FibGVkOmZvY3VzLCAuY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYmFja1tkaXNhYmxlZF0sIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5iYWNrW2Rpc2FibGVkXTpob3ZlciwgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmJhY2tbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5iYWNrOmhvdmVyLCAuY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYmFjazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMzY2MDtcbiAgICAgICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgICAgICAgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmJhY2s6aG92ZXIuZGlzYWJsZWQsIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5iYWNrOmhvdmVyW2Rpc2FibGVkXSwgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmJhY2s6Zm9jdXMuZGlzYWJsZWQsIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5iYWNrOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMzY2MDtcbiAgICAgICAgICBjb2xvcjogIzAwMzY2MDsgfVxuICAgICAgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmJhY2s6bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5iYWNrOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDAsIDU0LCA5NiwgMC40NSk7IH1cbiAgICAgIC5jdXN0b21lci1hZGRyZXNzLWZvcm0gLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5iYWNrOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLmJhY2s6ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3VzdG9tZXItYWRkcmVzcy1mb3JtIC5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24uYmFjayB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uY2hlY2tvdXQtaW5kZXgtaW5kZXgge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtY3VzdG9tLmF1dGhlbnRpY2F0aW9uLWRyb3Bkb3duIC5tb2RhbC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxLjVyZW07IH1cbiAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1jdXN0b20uYXV0aGVudGljYXRpb24tZHJvcGRvd24gLmJsb2NrLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfSB9XG4gICAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5wYWdlLXRpdGxlLXdyYXBwZXIgLnBhZ2UtdGl0bGUsXG4gICAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5wYWdlLXRpdGxlLXdyYXBwZXIgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm9wYy1zdW1tYXJ5LXdyYXBwZXIge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAuY2hlY2tvdXQtY29udGFpbmVyID4gLm1lc3NhZ2Uge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAub3BjLXdyYXBwZXIge1xuICAgIG9yZGVyOiAzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5jaGVja291dC1jb250YWluZXIgPiAubWVzc2FnZSB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5jaGVja291dC1pbmRleC1pbmRleCAub3BjLXdyYXBwZXIge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm9wYy1zdW1tYXJ5LXdyYXBwZXIge1xuICAgICAgb3JkZXI6IDM7IH0gfVxuICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLmluZm9ybWF0aW9uLXN5bWJvbCB7XG4gICAgd2lkdGg6IDIwcHg7IH1cbiAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5jaGVja291dC1jb250YWluZXIgPiAubWVzc2FnZSBzcGFuIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAubm8tcXVvdGVzLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAuZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIi0gXCI7IH1cbiAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5wYWdlLWhlYWRlciAubmF2LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAucGFnZS1oZWFkZXIgLmxvZ28ge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5wYWdlLWhlYWRlciAubG9nbyB7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9IH1cbiAgLmNoZWNrb3V0LWluZGV4LWluZGV4IC5wYWdlLWhlYWRlciAuYmFja2xpbmsgaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAucGFnZS1oZWFkZXIgLmJhY2tsaW5rIC50ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jaGVja291dC1pbmRleC1pbmRleCAucGFnZS1oZWFkZXIgLmJhY2tsaW5rIHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCAuZXN0aW1hdGVkLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jaGVja291dC1pbmRleC1pbmRleCB0YWJsZSB0Ym9keSB0ciB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmNzsgfVxuICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLnNoaXBwaW5nLXRvb2x0aXAge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLm1vZGFsLWhlYWRlciAuYWN0aW9uLWNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3BjLXdyYXBwZXIgb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4ub3BjLXByb2dyZXNzLWJhci1pdGVtLl9hY3RpdmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1NzUwMDtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuLm9wYy1wcm9ncmVzcy1iYXIge1xuICBtYXJnaW46IDJyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5vcGMtcHJvZ3Jlc3MtYmFyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogI2NmZDNkYztcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5vcGMtcHJvZ3Jlc3MtYmFyIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDYwcHggMCAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gICAgLm9wYy1wcm9ncmVzcy1iYXIgbGk6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTJweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2ZkM2RjO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IC43MjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgLm9wYy1wcm9ncmVzcy1iYXIgbGk6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcxJzsgfVxuICAgIC5vcGMtcHJvZ3Jlc3MtYmFyIGxpOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcyJzsgfVxuICAgIC5vcGMtcHJvZ3Jlc3MtYmFyIGxpOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZzogMCAwIDAgMjVweDsgfVxuICAgIC5vcGMtcHJvZ3Jlc3MtYmFyIGxpIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgdGhlYWQsIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCB0ci5yb3cge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZGJlMDsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QgdGhlYWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jaGVja291dC1zaGlwcGluZy1tZXRob2QgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCBpbnB1dCB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIGJ1dHRvbi5jb250aW51ZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uY2hlY2tvdXQtY29udGFpbmVyIGJ1dHRvbi5jaGVja291dCB7XG4gIGZsb2F0OiByaWdodDtcbiAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG5cbi5wYXltZW50LW9wdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IC44NzVyZW07IH1cbiAgLnBheW1lbnQtb3B0aW9uLmRpc2NvdW50LWNvZGUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkYmUwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkYmUwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBheW1lbnQtb3B0aW9uLmdpZnRjYXJkYWNjb3VudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZGJlMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZGJlMDsgfVxuXG4ucGF5bWVudC1vcHRpb24tdGl0bGUge1xuICBwYWRkaW5nOiAxLjI1cmVtIDA7IH1cblxuLnBheW1lbnQtbWV0aG9kIC5hZHllbi1jaGVja291dF9fY2hlY2tib3hfX2xhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cblxuLnBheW1lbnQtbWV0aG9kIC5hZHllbi1jaGVja291dF9fY2hlY2tib3hfX2lucHV0ICsgLmFkeWVuLWNoZWNrb3V0X19jaGVja2JveF9fbGFiZWw6YWZ0ZXIsIC5wYXltZW50LW1ldGhvZCAuYWR5ZW4tY2hlY2tvdXRfX2NoZWNrYm94X19pbnB1dCArIC5hZHllbi1jaGVja291dF9fY2hlY2tib3hfX2xhYmVsOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBheW1lbnQtbWV0aG9kIGxhYmVsW2Zvcj1cImFkeWVuX2NjXCJdIHtcbiAgcGFkZGluZy1yaWdodDogODBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9BZHllbl9QYXltZW50L2ltYWdlcy9jcmVkaXQtY2FyZHMucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuLnBheW1lbnQtbWV0aG9kIGxhYmVsW2Zvcj1cImFkeWVuX3N3aXNoXCJdIHtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9BZHllbl9QYXltZW50L2ltYWdlcy9sb2dvcy9zd2lzaC5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuXG4udGFibGUtdG90YWxzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudGFibGUtdG90YWxzIC50YWJsZS1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5wYWdlLXRpdGxlLXdyYXBwZXIgLnByaW50IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5jaGVja291dC1zdWNjZXNzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MsXG4uY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzICNyZWdpc3RyYXRpb24ge1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MgaDIsXG4gIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgI3JlZ2lzdHJhdGlvbiBoMiB7XG4gICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5jaGVja291dC1zdWNjZXNzLFxuICAgIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgI3JlZ2lzdHJhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLm1haW4ge1xuICAgIG1hcmdpbjogMnJlbSAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MsXG4gIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgI3JlZ2lzdHJhdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuXG4uY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5jaGVja291dC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5jaGVja291dC1zdWNjZXNzIC5hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMXJlbTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgY29sb3I6ICMwMDM2NjA7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY2hlY2tvdXQtc3VjY2VzcyAuYWN0aW9uIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5jaGVja291dC1zdWNjZXNzIC5hY3Rpb24sIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MgLmFjdGlvbjpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY2hlY2tvdXQtc3VjY2VzcyAuYWN0aW9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY2hlY2tvdXQtc3VjY2VzcyAuYWN0aW9uLmRpc2FibGVkLCAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5jaGVja291dC1zdWNjZXNzIC5hY3Rpb24uZGlzYWJsZWQ6aG92ZXIsIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MgLmFjdGlvbi5kaXNhYmxlZDpmb2N1cywgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY2hlY2tvdXQtc3VjY2VzcyAuYWN0aW9uW2Rpc2FibGVkXSwgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY2hlY2tvdXQtc3VjY2VzcyAuYWN0aW9uW2Rpc2FibGVkXTpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY2hlY2tvdXQtc3VjY2VzcyAuYWN0aW9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MgLmFjdGlvbjpob3ZlciwgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY2hlY2tvdXQtc3VjY2VzcyAuYWN0aW9uOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMzY2MDtcbiAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgICAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5jaGVja291dC1zdWNjZXNzIC5hY3Rpb246aG92ZXIuZGlzYWJsZWQsIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MgLmFjdGlvbjpob3ZlcltkaXNhYmxlZF0sIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MgLmFjdGlvbjpmb2N1cy5kaXNhYmxlZCwgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY2hlY2tvdXQtc3VjY2VzcyAuYWN0aW9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgICAgIGNvbG9yOiAjMDAzNjYwOyB9XG4gICAgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY2hlY2tvdXQtc3VjY2VzcyAuYWN0aW9uOm5vdCguY2xvc2UtYnV0dG9uKTpub3QoLmFjdGlvbi1jbG9zZSkge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MgLmFjdGlvbjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoMCwgNTQsIDk2LCAwLjQ1KTsgfVxuICAgIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MgLmFjdGlvbjpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDZkYmUwO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNoZWNrb3V0LXN1Y2Nlc3MgLmFjdGlvbjpkaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgI3JlZ2lzdHJhdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzICNyZWdpc3RyYXRpb24gLmFjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzY2MDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzICNyZWdpc3RyYXRpb24gLmFjdGlvbiB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAjcmVnaXN0cmF0aW9uIC5hY3Rpb246aG92ZXIsIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgI3JlZ2lzdHJhdGlvbiAuYWN0aW9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzOTM7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgI3JlZ2lzdHJhdGlvbiAuYWN0aW9uOm5vdCguY2xvc2UtYnV0dG9uKTpub3QoLmFjdGlvbi1jbG9zZSkge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgI3JlZ2lzdHJhdGlvbiAuYWN0aW9uOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDE1cHggcmdiYSgwLCA1NCwgOTYsIDAuNDUpOyB9XG4gICAgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAjcmVnaXN0cmF0aW9uIC5hY3Rpb246ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzICNyZWdpc3RyYXRpb24gLmFjdGlvbjpkaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi8qXG4gKiBcdERlZmF1bHQgdGhlbWUgLSBPd2wgQ2Fyb3VzZWwgQ1NTIEZpbGVcbiAqL1xuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovIH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVyLFxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCxcbiAgLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LFxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuICAub3dsLWNhcm91c2VsIGJ1dHRvbi5vd2wtZG90IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udDogaW5oZXJpdDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1sb2FkZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtaGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ncmFiIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgY3Vyc29yOiBncmFiOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xuICB6LWluZGV4OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXQge1xuICB6LWluZGV4OiAxOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLmZhZGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cbi5vd2wtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAvKipcblx0XHRcdFRoaXMgaXMgaW50cm9kdWNlZCBkdWUgdG8gYSBidWcgaW4gSUUxMSB3aGVyZSBsYXp5IGxvYWRpbmcgY29tYmluZWQgd2l0aCBhdXRvaGVpZ2h0IHBsdWdpbiBjYXVzZXMgYSB3cm9uZ1xuXHRcdFx0Y2FsY3VsYXRpb24gb2YgdGhlIGhlaWdodCBvZiB0aGUgb3dsLWl0ZW0gdGhhdCBicmVha3MgcGFnZSBsYXlvdXRzXG5cdFx0ICovIH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenlbc3JjXj1cIlwiXSxcbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5Om5vdChbc3JjXSkge1xuICAgIG1heC1oZWlnaHQ6IDA7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5IHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi8qXG4gKiBPd2wgVGhlbWVcbiAqL1xuLm93bC10aGVtZSAub3dsLW5hdiB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9J293bC0nXSB7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG1hcmdpbjogMCAwLjVyZW07IH1cbiAgLm93bC10aGVtZSAub3dsLW5hdiAuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLm93bC10aGVtZSAub3dsLW5hdi5kaXNhYmxlZCArIC5vd2wtZG90cyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLm93bC10aGVtZSAub3dsLWRvdHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB6b29tOiAxO1xuICAgICpkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCBzcGFuIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luOiA1cHggN3B4O1xuICAgICAgYmFja2dyb3VuZDogI0Q2RDZENjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMzBweDsgfVxuICAgIC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLCAub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4Njk3OTE7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwib3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyoqXG4qIE5vdGljZSBvbiByZWFkaW5nIHRoaXMgb3ZlcnJpZGUgZmlsZVxuKlxuKiBUaGUgc2VsZWN0b3Igc3BlY2lmaWNpdHkgaW4gYGZpcmVjaGVja291dC5jc3NgIGlzIG5vdCB3ZWxsIGRvbmVcbiogaXQgaXMgdG8gc3BlY2lmaWMuIFRoaXMgbWFrZXMgaXQgcmVhbGx5IGhhcmQgdG8gb3ZlcnJpZGUgd2l0aG91dCBjcmVhdGluZyBoYXJkIHRvIHJlYWQgU2Fzcy5cbiovXG4uZmlyZWNoZWNrb3V0IC5wYWdlLWhlYWRlciAuY29udGludWUtc2hvcHBpbmcge1xuICBkaXNwbGF5OiBpbml0aWFsOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpcmVjaGVja291dCAucGFnZS1oZWFkZXIgLmNvbnRpbnVlLXNob3BwaW5nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmlyZWNoZWNrb3V0IC5wYWdlLWhlYWRlciAuY29udGludWUtc2hvcHBpbmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH0gfVxuXG4uZmlyZWNoZWNrb3V0IC5wYWdlLWhlYWRlciAubmF2LXRvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZpcmVjaGVja291dCAucGFnZS1oZWFkZXIgLmhlYWRlci5jb250ZW50IC5sb2dvIGltZyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5maXJlY2hlY2tvdXQgLnBhZ2UtaGVhZGVyIC5oZWFkZXIuY29udGVudCAubG9nbyAubG9nby10ZXh0IHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTsgfVxuXG4uYXV0aGVudGljYXRpb24td3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyOmFmdGVyIHtcbiAgY29udGVudDogXCIuXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIGlucHV0LFxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIHRleHRhcmVhLFxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIHNlbGVjdCB7XG4gIGJvcmRlci1jb2xvcjogI2Q2ZGJlMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA3cHggIWltcG9ydGFudDsgfVxuXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLnF0eS13cmFwcGVyIGJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QsXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MsXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kLFxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDZkYmUwICFpbXBvcnRhbnQ7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC50YWJsZS1jaGVja291dC1zaGlwcGluZy1tZXRob2QsXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgdGJvZHksXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbSxcbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIC5yb3cge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLnN0ZXAtdGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjMDAzNjYwO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy13cmFwcGVyIC5zdGVwLXRpdGxlLFxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5vcGMtYmxvY2stc3VtbWFyeSA+IC50aXRsZSxcbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXNpZGViYXIgLnN0ZXAtdGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjMDAzNjYwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXdyYXBwZXIgLnN0ZXAtdGl0bGU6YmVmb3JlLFxuICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLm9wYy1ibG9jay1zdW1tYXJ5ID4gLnRpdGxlOmJlZm9yZSxcbiAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc2lkZWJhciAuc3RlcC10aXRsZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9XG5cbi5maWVsZC10b29sdGlwIC5sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtd3JhcHBlciAuc3RlcC10aXRsZSxcbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLWJsb2NrLXN1bW1hcnkgLnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLnN0ZXAtY29udGVudCA+ICogKyAuZm9ybS1zaGlwcGluZy1hZGRyZXNzIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyB7XG4gICAgICBtYXgtaGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbSB7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDA7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGZsZXgtZ3JvdzogMDsgfVxuICAgIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuc2hpcHBpbmctYWRkcmVzcy1pdGVtcyAuc2hpcHBpbmctYWRkcmVzcy1pdGVtLnNlbGVjdGVkLWl0ZW0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA1NCwgOTYsIDAuMDYpOyB9XG4gICAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW1zIC5zaGlwcGluZy1hZGRyZXNzLWl0ZW0uc2VsZWN0ZWQtaXRlbSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAzNjYwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbXMgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pOyB9IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAxcmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMzY2MDtcbiAgY29sb3I6ICMwMDM2NjA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0sIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtOmhvdmVyLCAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0uZGlzYWJsZWQsIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtLmRpc2FibGVkOmhvdmVyLCAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbS5kaXNhYmxlZDpmb2N1cywgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW1bZGlzYWJsZWRdLCAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbVtkaXNhYmxlZF06aG92ZXIsIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW06aG92ZXIsIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDM2NjA7XG4gICAgY29sb3I6ICMwMDM2NjA7IH1cbiAgICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTpob3Zlci5kaXNhYmxlZCwgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW06aG92ZXJbZGlzYWJsZWRdLCAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTpmb2N1cy5kaXNhYmxlZCwgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW06Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDM2NjA7XG4gICAgICBjb2xvcjogIzAwMzY2MDsgfVxuICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTpub3QoLmNsb3NlLWJ1dHRvbik6bm90KC5hY3Rpb24tY2xvc2UpIHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoMCwgNTQsIDk2LCAwLjQ1KTsgfVxuICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLmFjdGlvbi1zZWxlY3Qtc2hpcHBpbmctaXRlbTpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuYWN0aW9uLXNlbGVjdC1zaGlwcGluZy1pdGVtOmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfSB9XG5cbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyBidXR0b24uZmMtY29tcGFjdC1hZGRyZXNzLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNjYwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyBidXR0b24uZmMtY29tcGFjdC1hZGRyZXNzLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgYnV0dG9uLmZjLWNvbXBhY3QtYWRkcmVzcy1idXR0b246aG92ZXIsIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyBidXR0b24uZmMtY29tcGFjdC1hZGRyZXNzLWJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTM5MztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgYnV0dG9uLmZjLWNvbXBhY3QtYWRkcmVzcy1idXR0b246bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgYnV0dG9uLmZjLWNvbXBhY3QtYWRkcmVzcy1idXR0b246aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE1cHggcmdiYSgwLCA1NCwgOTYsIDAuNDUpOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyBidXR0b24uZmMtY29tcGFjdC1hZGRyZXNzLWJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyBidXR0b24uZmMtY29tcGFjdC1hZGRyZXNzLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgYnV0dG9uLmVkaXQtYWRkcmVzcy1saW5rIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2hvdy1wb3B1cCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDFyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNjYwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuYWN0aW9uLXNob3ctcG9wdXAge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2hvdy1wb3B1cDpob3ZlciwgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2hvdy1wb3B1cDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTM5MztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgLmFjdGlvbi1zaG93LXBvcHVwOm5vdCguY2xvc2UtYnV0dG9uKTpub3QoLmFjdGlvbi1jbG9zZSkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2hvdy1wb3B1cDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDAsIDU0LCA5NiwgMC40NSk7IH1cbiAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIC5hY3Rpb24tc2hvdy1wb3B1cDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogI2Q2ZGJlMDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtc2hpcHBpbmctYWRkcmVzcyAuYWN0aW9uLXNob3ctcG9wdXA6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1zaGlwcGluZy1tZXRob2QgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kLXRpdGxlIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5wYXltZW50LW1ldGhvZC10aXRsZSBsYWJlbCBpbWcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAucGF5bWVudC1pY29uIHtcbiAgbWF4LWhlaWdodDogMi41cmVtOyB9XG5cbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA1NCwgOTYsIDAuMDYpO1xuICBwYWRkaW5nOiAxcmVtIDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4zcmVtOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLnBheW1lbnQtbWV0aG9kIGxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5kaXNjb3VudC1jb2RlIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5kaXNjb3VudC1jb2RlIC5maWVsZCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5jaGVja291dC1wYXltZW50LW1ldGhvZCAuZGlzY291bnQtY29kZSAuZmllbGQgLmNvbnRyb2wge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LXBheW1lbnQtbWV0aG9kIC5kaXNjb3VudC1jb2RlIC5maWVsZCAuY29udHJvbCBpbnB1dCNkaXNjb3VudC1jb2RlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtcGF5bWVudC1tZXRob2QgLmRpc2NvdW50LWNvZGUgYnV0dG9uIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsgfVxuXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLmNoZWNrb3V0LWJpbGxpbmctYWRkcmVzcyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAuY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIC5leHRyYS1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5vcGMtYmxvY2stc3VtbWFyeSA+IC50aXRsZSB7XG4gIGhlaWdodDogNC4wNjI1cmVtOyB9XG5cbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAuaXRlbXMtaW4tY2FydCA+IC5taW5pY2FydC1pdGVtczo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5ncmFuZC50b3RhbHMgdGgsIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAuZ3JhbmQudG90YWxzIHRkIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAub3BjLXN1bW1hcnktd3JhcHBlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmRiZTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIHRyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgdGJvZHkgdGgsIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciB0Ym9keSB0ZCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwIDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIHRhYmxlIHRib2R5IHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAudG90YWxzIC5hbW91bnQsXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLnRvdGFscy10YXggLmFtb3VudCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAuZ3JhbmQudG90YWxzIHRoLCAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLmdyYW5kLnRvdGFscyB0ZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5ncmFuZC50b3RhbHMgLnByaWNlIHtcbiAgY29sb3I6ICNlOTVmMTM7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5pdGVtcy1pbi1jYXJ0IHtcbiAgcGFkZGluZzogMDsgfVxuICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLml0ZW1zLWluLWNhcnQgLmNvbGxhcHNpYmxlX190aXRsZTphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07IH1cbiAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5pdGVtcy1pbi1jYXJ0IC50aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLml0ZW1zLWluLWNhcnQgLnRpdGxlIGRpdiA+IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLm1pbmljYXJ0LWl0ZW1zIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItdG9wOiBub25lOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbSB7XG4gICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmRiZTA7IH1cbiAgICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICBnYXA6IDAuNzVyZW07IH1cbiAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDZkYmUwOyB9XG4gIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbS1pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogMC4yNXJlbTsgfVxuICAgIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbS1pbm5lciAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0taW5uZXIgLmRldGFpbHMtcXR5IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0taW5uZXIgLmRldGFpbHMtcXR5IGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5taW5pY2FydC1pdGVtcyAucHJvZHVjdC1pdGVtLWlubmVyIC5yZW1vdmUtaXRlbSB7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW07IH1cbiAgICAgIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbS1pbm5lciAucmVtb3ZlLWl0ZW06aG92ZXIge1xuICAgICAgICBjb2xvcjogI0VGNTk1OTsgfVxuICAgIC5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAubWluaWNhcnQtaXRlbXMgLnByb2R1Y3QtaXRlbS1pbm5lciAuc3VidG90YWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMC4xODc1cmVtOyB9XG4gICAgICAuZmlyZWNoZWNrb3V0ICNjaGVja291dC5jaGVja291dC1jb250YWluZXIgLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLm1pbmljYXJ0LWl0ZW1zIC5wcm9kdWN0LWl0ZW0taW5uZXIgLnN1YnRvdGFsIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAjZTk1ZjEzOyB9XG5cbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAuc2VsZWN0LXNjb3V0Z3JvdXAtZm9ybSBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5zZWxlY3Qtc2NvdXRncm91cC1mb3JtIC5zdWJzY3JpcHRpb24gLmZjLWZpZWxkLWNob2ljZSBbdHlwZT1jaGVja2JveF0ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogMC4xODc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG5cbi5maXJlY2hlY2tvdXQgI2NoZWNrb3V0LmNoZWNrb3V0LWNvbnRhaW5lciAub3BjLXN1bW1hcnktd3JhcHBlciAuc2VsZWN0LXNjb3V0Z3JvdXAtZm9ybSAuc3Vic2NyaXB0aW9uIC5mYy1maWVsZC1jaG9pY2UgbGFiZWwubGFiZWwge1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmZpcmVjaGVja291dCAjY2hlY2tvdXQuY2hlY2tvdXQtY29udGFpbmVyIC5vcGMtc3VtbWFyeS13cmFwcGVyIC5zZWxlY3Qtc2NvdXRncm91cC1mb3JtIC5zdWJzY3JpcHRpb24gLmZjLWZpZWxkLWNob2ljZSBsYWJlbC5sYWJlbCBzcGFuIHtcbiAgICB0ZXh0LXdyYXA6IHdyYXA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuICBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcbkBpbXBvcnQgJ3BhbGV0dGUnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyNzIpICFkZWZhdWx0O1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gICAgcHJpbWFyeTogIzAwMzY2MCxcbiAgICBwcmltYXJ5RGFyazogIzAwMkU1MixcbiAgICBzZWNvbmRhcnk6ICNlOTVmMTMsXG4gICAgY3RhOiAjMDQzQTYzLFxuICAgIHN0b25lOiAjMzYzQTQzLFxuICAgIHN1Y2Nlc3M6ICMwMDgwNDAsXG4gICAgd2FybmluZzogI0ZGQzgwMCxcbiAgICBhbGVydDogI0VGNTk1OSxcbiAgICB3aGl0ZTogI0ZGRkZGRixcbiAgICBibGFjazogIzAwMDAwMCxcbiAgICBwaW5rOiAjRTNCOUQzLFxuICAgIHJlZDogI2ZmMTUwMCxcbikgIWRlZmF1bHQ7XG5cbiRmb290ZXItYmc6IGdldF9jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcbiRmb290ZXItYm9yZGVyLWNvbG9yOiAjMDAyNDQwICFkZWZhdWx0O1xuJGNvbG9yLXBvbGFyOiAjRjdGQUZEICFkZWZhdWx0O1xuJGNvbG9yLXNreTogI0E3QzNEQyAhZGVmYXVsdDtcbiRjb2xvci1ncmVlbjogIzQxYTYyYSAhZGVmYXVsdDtcbiRjb2xvci1ibHVlOiAjMDBhOGUxICFkZWZhdWx0O1xuJGNvbG9yLW9yYW5nZTogZ2V0LWNvbG9yKHNlY29uZGFyeSkgIWRlZmF1bHQ7XG4kY29sb3ItZnVjaHNpYTogI2RhMDA1ZSAhZGVmYXVsdDtcbiRjb2xvci15ZWxsb3c6ICNlMmUwMDAgIWRlZmF1bHQ7XG4kY29sb3ItZGFya3llbGxvdzogIzgzN2EwMiAhZGVmYXVsdDtcbiRjb2xvci1wdXJwbGU6ICM3ZDQxOTkgIWRlZmF1bHQ7XG4kY29sb3ItbWF0dGVibHVlOiAjMWQ0NDg2ICFkZWZhdWx0O1xuJGNvbG9yLXNoYXJrOiAjMmUzMTM0ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogI2M4ZDRlMCAhZGVmYXVsdDtcbiRsaWdodC1ncmF5OiAjZDZkYmUwICFkZWZhdWx0O1xuJG1lZGl1bS1ncmF5OiAjOUZBNkFEICFkZWZhdWx0O1xuJGRhcmstZ3JheTogIzhBOEQ5NiAhZGVmYXVsdDtcbiRibGFjazogZ2V0X2NvbG9yKGJsYWNrKSAhZGVmYXVsdDtcbiR3aGl0ZTogZ2V0X2NvbG9yKHdoaXRlKSAhZGVmYXVsdDtcbiRib2R5LWJhY2tncm91bmQ6ICNGMUY0ZjYgIWRlZmF1bHQ7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbiRib2R5LWZvbnQtZmFtaWx5OiAnSVRDRnJhbmtsaW5Hb3RoaWMnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYm9keS1mb250LWZhbWlseS1jb25kZW5zZWQ6ICdJVENGcmFua2xpbkdvdGhpYy1DZCcsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiA1MDAgIWRlZmF1bHQ7XG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwIDAuNjI1cmVtICFkZWZhdWx0O1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4kY29udGVudC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoNCwgMTksIDMzLCAwLjgpICFkZWZhdWx0O1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IGZhbHNlICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgICBzbWFsbDogMCxcbiAgICBtZWRpdW06IDY0MHB4LFxuICAgIGxhcmdlOiAxMDI0cHgsXG4gICAgeGxhcmdlOiAxMjAwcHgsXG4gICAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMiAhZGVmYXVsdDtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgICBzbWFsbDogMjBweCxcbiAgICBtZWRpdW06IDMwcHgsXG4pICFkZWZhdWx0O1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWUgIWRlZmF1bHQ7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJyAhZGVmYXVsdDtcbiRibG9jay1ncmlkLW1heDogMTIgIWRlZmF1bHQ7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kaGVhZGVyLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuJGhlYWRlci1zdHlsZXM6IChcbiAgICBzbWFsbDogKFxuICAgICAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAgICAgJ2gyJzogKCdmb250LXNpemUnOiAyMiksXG4gICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAgICAgJ2g1JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMTQpLFxuICAgICksXG4gICAgbWVkaXVtOiAoXG4gICAgICAgICdoMSc6ICgnZm9udC1zaXplJzogMzIpLFxuICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI4KSxcbiAgICAgICAgJ2gzJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgICAgICdoNCc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAgICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgKSxcbikgIWRlZmF1bHQ7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjE4ICFkZWZhdWx0O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoMCA2MCkgIWRlZmF1bHQ7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjEyNSAhZGVmYXVsdDtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjE4ICFkZWZhdWx0O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogIzAzMTMyMSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygxMikgMCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkY29sb3ItcG9sYXIgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAwICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDAgMCAwICFkZWZhdWx0O1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNXB4ICFkZWZhdWx0O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogIzAzMTMyMSAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICMwMzEzMjEgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogZmFsc2UgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJ+KGkicgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICfigLknICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZzogcmVtLWNhbGMoMTUpIDFyZW0gIWRlZmF1bHQ7XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4kYnV0dG9uLXNpemVzOiAoXG4gICAgdGlueTogMC42cmVtLFxuICAgIHNtYWxsOiAwLjc1cmVtLFxuICAgIGRlZmF1bHQ6IDEuMTI1cmVtLFxuICAgIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IDEwJSAhZGVmYXVsdDtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogMCUgIWRlZmF1bHQ7XG4kYnV0dG9uLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDAgIWRlZmF1bHQ7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAyLjVyZW0gMCAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGNhbGxvdXQtbGluay10aW50OiA5MCUgIWRlZmF1bHQ7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nIC8gMS41ICFkZWZhdWx0O1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgICBzbWFsbDogMC4zM3JlbSxcbiAgICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gICAgc21hbGw6IDAuMzNlbSxcbiAgICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICAgIHNtYWxsOiAxLjVlbSxcbiAgICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDVweCAhZGVmYXVsdDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogZ2V0LWNvbG9yKHdoaXRlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24td2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgICB0aW55OiAxMDBweCxcbiAgICBzbWFsbDogMjAwcHgsXG4gICAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogI2ZmZmZmZiAhZGVmYXVsdDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICNGM0Y0RjUgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAyICFkZWZhdWx0O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogI0YzRjRGNiAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICRpbnB1dC1ib3JkZXI7XG4kaW5wdXQtcGFkZGluZzogcmVtLWNhbGMoMTQpIHJlbS1jYWxjKDE2KSByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogMC42ODhyZW0gIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG4kbGFiZWwtcmFkaXVzOiAycHggIWRlZmF1bHQ7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcbiRtZW51LWl0ZW0tYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1lbnUtaXRlbS1jb2xvcjogIzAzMTMyMSAhZGVmYXVsdDtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAjMEU1NThEICFkZWZhdWx0O1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuJG1lbnUtaXRlbS1kZXNrdG9wLWNvbG9yOiAkY29sb3Itc2hhcmsgIWRlZmF1bHQ7XG4kbWVudS1pdGVtLWRlc2t0b3AtY29sb3ItYWN0aXZlOiAjMEU1NThEICFkZWZhdWx0O1xuJG1lbnUtaXRlbS1kZXNrdG9wLWJhY2tncm91bmQtYWN0aXZlOiAkY29sb3ItcG9sYXIgIWRlZmF1bHQ7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuJG1lbnUtZGVza3RvcC1zaGFkb3c6IDAgN3B4IDEzcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMzYpICFkZWZhdWx0O1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yICFkZWZhdWx0O1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gICAgc21hbGw6IDc1JSxcbikgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gICAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDVweCAwIDE1cHggcmdiYSgkYmxhY2ssIDAuMTUpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCMzODM4MzgsIDAuNykgIWRlZmF1bHQ7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206IG51bGwgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogbm9uZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAwLjMxM3JlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiBnZXQtY29sb3IocHJpbWFyeURhcmspICFkZWZhdWx0O1xuJHByb2dyZXNzLXJhZGl1czogMTBweCAhZGVmYXVsdDtcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgICBkb3duLFxuICAgIHVwLFxuICAgIHJpZ2h0LFxuICAgIGxlZnRcbikgIWRlZmF1bHQ7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbSAhZGVmYXVsdDtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICAgIGlubGluZSxcbiAgICBpbmxpbmUtYmxvY2ssXG4gICAgYmxvY2ssXG4gICAgdGFibGUsXG4gICAgdGFibGUtY2VsbFxuKSAhZGVmYXVsdDtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICAgIGRpc2MsXG4gICAgY2lyY2xlLFxuICAgIHNxdWFyZVxuKSAhZGVmYXVsdDtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gICAgZGVjaW1hbCxcbiAgICBsb3dlci1hbHBoYSxcbiAgICBsb3dlci1sYXRpbixcbiAgICBsb3dlci1yb21hbixcbiAgICB1cHBlci1hbHBoYSxcbiAgICB1cHBlci1sYXRpbixcbiAgICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgICB2aXNpYmxlLFxuICAgIGhpZGRlbixcbiAgICBzY3JvbGxcbikgIWRlZmF1bHQ7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gICAgc3RhdGljLFxuICAgIHJlbGF0aXZlLFxuICAgIGFic29sdXRlLFxuICAgIGZpeGVkXG4pICFkZWZhdWx0O1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbSAhZGVmYXVsdDtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0XG4pICFkZWZhdWx0O1xuJHByb3RvdHlwZS1zaXplczogKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICAgIG92ZXJsaW5lLFxuICAgIHVuZGVybGluZSxcbiAgICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICAgIGxvd2VyY2FzZSxcbiAgICB1cHBlcmNhc2UsXG4gICAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFkZWZhdWx0O1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gICAgZGVmYXVsdDogNCBieSAzLFxuICAgIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuJHJldmVhbC13aWR0aDogNjQwcHggIWRlZmF1bHQ7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuJHJldmVhbC1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKDU0LDU4LDY3LCAwLjgpICFkZWZhdWx0O1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuMzEzcmVtICFkZWZhdWx0O1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRzbGlkZXItaGVpZ2h0OiAwLjMxM3JlbSAhZGVmYXVsdDtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogZ2V0LWNvbG9yKHByaW1hcnlEYXJrKSAhZGVmYXVsdDtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS4zMTNyZW0gIWRlZmF1bHQ7XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS4zMTNyZW0gIWRlZmF1bHQ7XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG4kc2xpZGVyLXJhZGl1czogMTJweCAhZGVmYXVsdDtcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodDogMS44NzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLXJhZGl1czogNTBweCAhZGVmYXVsdDtcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4xMjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6IDUwcHggIWRlZmF1bHQ7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiBnZXQtY29sb3Iod2hpdGUpICFkZWZhdWx0O1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYygyMCAxMCAyMSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItc2NhbGU6IDElICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcbiR0YWJsZS1pcy1zdHJpcGVkOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6ICNmY2ZjZmMgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcbiR0YWItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFiLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWItYWN0aXZlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZzogMCAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gMCAwIDAgIWRlZmF1bHQ7XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206IDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICMyNjJhMzIgIWRlZmF1bHQ7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzOCwzOSw0MCwwLjkpICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogMTJyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuMzc1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC41ICFkZWZhdWx0O1xuJHRvb2x0aXAtcmFkaXVzOiAycHggIWRlZmF1bHQ7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcbiR0b3BiYXItYmFja2dyb3VuZDogIzI2MmEzMiAhZGVmYXVsdDtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWUgIWRlZmF1bHQ7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gICAgc21hbGw6IDIwcHgsXG4gICAgbWVkaXVtOiAzMnB4XG4pICFkZWZhdWx0O1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyAhZGVmYXVsdDtcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMgIWRlZmF1bHQ7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4ICFkZWZhdWx0O1xuXG4vLyBhbGxvdyBvdmVycmlkZXNcbkBpbXBvcnQgJy4uL3NldHRpbmdzJztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy8gXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMiBvciAxLzMuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZWlmIHR5cGUtb2YoJHNpemUpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkc2l6ZSkgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIgb3IgXCJuL25cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZShudGgoJHNpemUsIDEpIC8gbnRoKCRzaXplLCAzKSk7XG4gICAgfVxuICB9XG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHNpemU7XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gIG9yIGBzaHJpbmtgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbn1cblxuLy8gU2V0cyBvdXIgY2VsbCB3aWR0aHMgb3IgaGVpZ2h0cyBkZXBlbmRpbmcgb24gZ3V0dGVyIHR5cGUuXG5AbWl4aW4gLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJG1hcmdpbi1ndXR0ZXIsICR2ZXJ0aWNhbCkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgb3VyIGd1dHRlcnMgZnJvbSBtYXAgaWYgYXZhaWxhYmxlLCBpZiBub3QgbWFwIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gXG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHpmLWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgY2FsYygje3h5LWNlbGwtc2l6ZSgkbil9ICsgI3skZ3V0dGVyfSksICN7eHktY2VsbC1zaXplKCRuKX0pO1xuXG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHNpemV9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2xpZGVyJ3MgdHJhY2suXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBhY3RpdmUgZmlsbCBjb2xvciBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBoYW5kbGUgZm9yIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIGFtb3VudCBvZiBhIGRpc2FibGVkIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJhbmdlLWlucHV0IHtcbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHsgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICRtYXJnaW46ICgkc2xpZGVyLWhhbmRsZS1oZWlnaHQgLSAkc2xpZGVyLWhlaWdodCkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItaGFuZGxlIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmlyZWZveFxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCB7XG4gICAgICBvdXRwdXQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gIH1cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG4gICAgXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIENPTUJBSzogQmrDtnJuOiBkaXNjdXNzIGZpbGUgdXNhZ2UgYW5kIG5lc3Npc2l0eSB3IGFudG9uIGFuZCBmYXJvdWtcblxuLmJnLW9yYW5nZSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1vcmFuZ2U7XG59XG5cbi5iZy1ncmVlbiB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcbn1cblxuLmJnLXJlZCB7XG4gIGJhY2tncm91bmQ6IGdldC1jb2xvcihhbGVydCk7XG59XG5cbi5iZy1saWdodGdyYXksXG4uYmctbGlnaHRncmV5IHtcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG59XG5cbi5jb2xvci1yZWQge1xuICBjb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbn1cblxuLmZvbnQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiLy8gQ09NQkFLOiBCasO2cm46IGRpc2N1c3MgZmlsZSB1c2FnZSBhbmQgbmVzc2lzaXR5IHcgYW50b24gYW5kIGZhcm91a1xuXG4vLyBIRUxQRVIgTUlYSU5TXG5cbkBtaXhpbiB3aGl0ZS1zcGFjZSgkcG9zaXRpb246IG51bGwpIHtcbiAgICBAaWYgJHBvc2l0aW9uID09ICd0b3AnIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEhFTFBFUiBDTEFTU0VTXG4ud2hpdGUtc3BhY2UsXG4uc3BhY2UtdG9wIHtcbiAgICBAaW5jbHVkZSB3aGl0ZS1zcGFjZSgndG9wJyk7XG59XG4uc3BhY2UtYm90dG9tIHtcbiAgICBAaW5jbHVkZSB3aGl0ZS1zcGFjZSgnYm90dG9tJyk7XG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AbWl4aW4gY2hlY2tib3goJGRpc3RhbmNlOiAyNXB4KSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHggIWltcG9ydGFudDtcblxuICAmOmJlZm9yZSxcbiAgJi5hY3RpdmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxuXG4gICY6aG92ZXI6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICM2Mzc3OTc7XG4gICAgICBiYWNrZ3JvdW5kOiAjNjM3Nzk3O1xuICAgIH1cbiAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICM2Mzc3OTc7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlLW11bHRpbGluZSgkZm9udC1zaXplOiAxcmVtLCAkbGluZS1oZWlnaHQ6IDEuNSwgJGxpbmVzOiA1LCAkbWF4LWhlaWdodDogOTk5cHgpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC1oZWlnaHQ6ICRmb250LXNpemUgKiAkbGluZS1oZWlnaHQgKiAkbGluZXMgKyByZW0tY2FsYyg4NXB4KTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFRPRE86IENyZWF0ZSBwcm9wZXIgdHJhbnNpdGlvbiBoYW5kbGluZ1xuICAvLyB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNzVzIGVhc2Utb3V0O1xuICAmLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogJG1heC1oZWlnaHQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcbiAgfVxufVxuXG5AbWl4aW4gaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGFycm93LWRvd24oJGNvbG9yOiAkYmxhY2ssICRkaXN0YW5jZTogMCwgJHBvc2l0aW9uOiBhZnRlcikge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBhZnRlciB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcMjVCRVwiO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRkaXN0YW5jZTtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IGJlZm9yZSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDI1QkVcIjtcbiAgICAgIG1hcmdpbi1yaWdodDogJGRpc3RhbmNlO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiogQ1NTIGJhc2VkIGNoZXZyb24gKGFycm93KVxuKiBUT0RPIFN1cHBvcnQgYWxsIGRpcmVjdGlvbnMgKHRyYW5zZm9ybSwgc3dpdGNoIHByb3BlcnRpZXMpXG4qIFRPRE8gU2hvcnRlbiBhcmd1bWVudHMgbGlzdCB0aHJvdWdoICRtaXhpbi1kZWZhdWx0LXZhcmlhYmxlc1xuKiBUT0RPIFJlZmFjdG9yIHRoaXMgd2l0aCBAbWl4aW4gYGFycm93LWRvd25gXG4qKiovXG5AbWl4aW4gYXJyb3ctdXAoJGJhc2U6IDVweCwgJGhlaWdodDogNXB4LCAkcG9zaXRpb246ICh4OiAwLCB5OiAwKSwgJGNvbG9yOiAkYmxhY2ssICRvdXRsaW5lOiBmYWxzZSwgJG91dGxpbmUtY29sb3I6IGdldC1jb2xvcih3aGl0ZSksICRvdXRsaW5lLW9mZnNldDogKHg6IC0xcHgsIHk6IC0xcHgpKSB7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIHdpZHRoOjA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICB9XG5cbiAgLy8gT1VUTElORVxuICBAaWYgJG91dGxpbmUgPT0gdHJ1ZSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHJpZ2h0OiBtYXAtZ2V0KCRwb3NpdGlvbiwgeCkgKyBtYXAtZ2V0KCRvdXRsaW5lLW9mZnNldCwgeCk7IC8vIFRPRE8gYWRkIHN1cHBvcnQgZm9yIG9yaWdpbiBvZiBvZmZzZXQgbGVmdC9yaWdodFxuICAgICAgdG9wOiBtYXAtZ2V0KCRwb3NpdGlvbiwgeSkgKyBtYXAtZ2V0KCRvdXRsaW5lLW9mZnNldCwgeSk7XG5cblxuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAkYmFzZSAqIDEuMjtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkYmFzZSAqIDEuMjtcblxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGhlaWdodCAqIDEuMjtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRvdXRsaW5lLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENPTlRFTlRcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICByaWdodDogbWFwLWdldCgkcG9zaXRpb24sIHgpOyAvLyBUT0RPIGFkZCBzdXBwb3J0IGZvciBvcmlnaW4gb2Ygb2Zmc2V0IGxlZnQvcmlnaHRcbiAgICB0b3A6IG1hcC1nZXQoJHBvc2l0aW9uLCB5KTtcblxuICAgIGJvcmRlci1yaWdodC13aWR0aDogJGJhc2U7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRiYXNlO1xuXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGhlaWdodDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cbiIsIi5faGlkZGVuIHtcbiAgQGluY2x1ZGUgaGlkZTtcbn1cbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnSVRDRnJhbmtsaW5Hb3RoaWMnO1xuICAgIHNyYzpcbiAgICAgICAgdXJsKCcuLi9mb250cy9pdGNmcmFua2xpbmdvdGhpYy9JVENGcmFua2xpbkdvdGhpY0Jvb2sudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL2l0Y2ZyYW5rbGluZ290aGljL0lUQ0ZyYW5rbGluR290aGljQm9vay53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnSVRDRnJhbmtsaW5Hb3RoaWMtQ2QnO1xuICAgIHNyYzpcbiAgICAgICAgdXJsKCcuLi9mb250cy9pdGNmcmFua2xpbmdvdGhpYy9JVENGcmFua2xpbkdvdGhpY0Jvb2tDb25kZW5zZWQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL2l0Y2ZyYW5rbGluZ290aGljL0lUQ0ZyYW5rbGluR290aGljQm9va0NvbmRlbnNlZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnSVRDRnJhbmtsaW5Hb3RoaWMnO1xuICAgIHNyYzpcbiAgICAgICAgdXJsKCcuLi9mb250cy9pdGNmcmFua2xpbmdvdGhpYy9JVENGcmFua2xpbkdvdGhpY01lZGl1bS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvaXRjZnJhbmtsaW5nb3RoaWMvSVRDRnJhbmtsaW5Hb3RoaWNNZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdJVENGcmFua2xpbkdvdGhpYy1DZCc7XG4gICAgc3JjOlxuICAgICAgICB1cmwoJy4uL2ZvbnRzL2l0Y2ZyYW5rbGluZ290aGljL0lUQ0ZyYW5rbGluR290aGljTWVkaXVtQ29uZGVuc2VkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9pdGNmcmFua2xpbmdvdGhpYy9JVENGcmFua2xpbkdvdGhpY01lZGl1bUNvbmRlbnNlZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuIiwiJGljb24tY2FyZXQtZG93bjogXCJcXGU5MTlcIjtcbiRpY29uLWNhcmV0LWxlZnQ6IFwiXFxlOTFhXCI7XG4kaWNvbi1jYXJldC1yaWdodDogXCJcXGU5MWJcIjtcbiRpY29uLWNhcmV0LXVwOiBcIlxcZTkxY1wiO1xuJGljb24tY2xvc2U6IFwiXFxlOTAwXCI7XG4kaWNvbi1iYWcteWVsbG93LXBhdGgxOiBcIlxcZTkwMVwiO1xuJGljb24tYmFnLXllbGxvdy1wYXRoMjogXCJcXGU5MDJcIjtcbiRpY29uLWJhZy15ZWxsb3ctcGF0aDM6IFwiXFxlOTAzXCI7XG4kaWNvbi1iYWctcGF0aDE6IFwiXFxlOTA0XCI7XG4kaWNvbi1iYWctcGF0aDI6IFwiXFxlOTA1XCI7XG4kaWNvbi1iYWctcGF0aDM6IFwiXFxlOTA2XCI7XG4kaWNvbi1oZWFydDogXCJcXGU5MDdcIjtcbiRpY29uLXVzZXI6IFwiXFxlOTA4XCI7XG4kaWNvbi10cmFzaDogXCJcXGU5MDlcIjtcbiRpY29uLXNlYXJjaDogXCJcXGU5MGFcIjtcbiRpY29uLWVkaXQ6IFwiXFxlOTBiXCI7XG4kaWNvbi1ydWxlcjogXCJcXGU5MGNcIjtcbiRpY29uLXRhZzogXCJcXGU5MGRcIjtcbiRpY29uLWxlYWY6IFwiXFxlOTBlXCI7XG4kaWNvbi1jaGVjazogXCJcXGU5MGZcIjtcbiRpY29uLXRydWNrOiBcIlxcZTkxMFwiO1xuJGljb24tc3RhcjogXCJcXGU5MTFcIjtcbiRpY29uLWNoYXQ6IFwiXFxlOTEyXCI7XG4kaWNvbi1jaGV2cm9uLWxlZnQ6IFwiXFxlOTEzXCI7XG4kaWNvbi1jaGV2cm9uLXVwOiBcIlxcZTkxNFwiO1xuJGljb24tY2hldnJvbi1kb3duOiBcIlxcZTkxNVwiO1xuJGljb24tY2hldnJvbi1yaWdodDogXCJcXGU5MTZcIjtcbiRpY29uLWVjbzogXCJcXGU5MTdcIjtcbiRpY29uLWRvbmF0aW9uOiBcIlxcZTkxOFwiO1xuJGljb24tYXJyb3ctcmlnaHQ6IFwiXFwyMTkyXCI7XG4kaWNvbi1jb2xvci15ZWxsb3c6IHJnYigyNTAsIDE5NCwgNjUpO1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3Njb3V0JztcbiAgICBzcmM6XG4gICAgICAgIHVybCgnLi4vZm9udHMvc2NvdXQvc2NvdXQudHRmP3dzc2FnbScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9zY291dC9zY291dC53b2ZmP3dzc2FnbScpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL3Njb3V0L3Njb3V0LnN2Zz93c3NhZ20jc2NvdXQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnICFpbXBvcnRhbnQ7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5cbi5pY29uLWNhcmV0LWRvd24ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb24tY2FyZXQtZG93bjtcbiAgICB9XG59XG5cbi5pY29uLWNhcmV0LWxlZnQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb24tY2FyZXQtbGVmdDtcbiAgICB9XG59XG5cbi5pY29uLWNhcmV0LXJpZ2h0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLWNhcmV0LXJpZ2h0O1xuICAgIH1cbn1cblxuLmljb24tY2FyZXQtdXAge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb24tY2FyZXQtdXA7XG4gICAgfVxufVxuXG4uaWNvbi1jbG9zZSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkaWNvbi1jbG9zZTtcbiAgICB9XG59XG5cbi5pY29uLWJhZy15ZWxsb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAucGF0aDEge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iYWcteWVsbG93LXBhdGgxO1xuICAgICAgICAgICAgY29sb3I6ICRpY29uLWNvbG9yLXllbGxvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXRoMiB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhZy15ZWxsb3ctcGF0aDI7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhdGgzIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJGljb24tYmFnLXllbGxvdy1wYXRoMztcbiAgICAgICAgICAgIGNvbG9yOiAkaWNvbi1jb2xvci15ZWxsb3c7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaWNvbi1iYWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5wYXRoMSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhZy1wYXRoMTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGF0aDIge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1iYWctcGF0aDI7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXRoMyB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWJhZy1wYXRoMztcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaWNvbi1oZWFydCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkaWNvbi1oZWFydDtcbiAgICB9XG59XG5cbi5pY29uLXVzZXIge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb24tdXNlcjtcbiAgICB9XG59XG5cbi5pY29uLXRyYXNoIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLXRyYXNoO1xuICAgIH1cbn1cblxuLmljb24tc2VhcmNoIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLXNlYXJjaDtcbiAgICB9XG59XG5cbi5pY29uLWVkaXQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb24tZWRpdDtcbiAgICB9XG59XG5cbi5pY29uLXJ1bGVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLXJ1bGVyO1xuICAgIH1cbn1cblxuLmljb24tdGFnIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLXRhZztcbiAgICB9XG59XG5cbi5pY29uLWxlYWYge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb24tbGVhZjtcbiAgICB9XG59XG5cbi5pY29uLWNoZWNrIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoZWNrO1xuICAgIH1cbn1cblxuLmljb24tdHJ1Y2sge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb24tdHJ1Y2s7XG4gICAgfVxufVxuXG4uaWNvbi1zdGFyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLXN0YXI7XG4gICAgfVxufVxuXG4uaWNvbi1jaGF0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoYXQ7XG4gICAgfVxufVxuXG4uaWNvbi1jaGV2cm9uLWxlZnQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb24tY2hldnJvbi1sZWZ0O1xuICAgIH1cbn1cblxuLmljb24tY2hldnJvbi11cCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkaWNvbi1jaGV2cm9uLXVwO1xuICAgIH1cbn1cblxuLmljb24tY2hldnJvbi1kb3duIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoZXZyb24tZG93bjtcbiAgICB9XG59XG5cbi5pY29uLWNoZXZyb24tcmlnaHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb24tY2hldnJvbi1yaWdodDtcbiAgICB9XG59XG5cbi5pY29uLWVjbyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkaWNvbi1lY287XG4gICAgfVxufVxuXG4uaWNvbi1kb25hdGlvbiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkaWNvbi1kb25hdGlvbjtcbiAgICB9XG59XG5cbi5pY29uLWFycm93LXJpZ2h0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0O1xuICAgIH1cbn1cbiIsIi5tYXRlcmlhbC1pY29ucyB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjRweDsgIC8qIFByZWZlcnJlZCBpY29uIHNpemUgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXJlY3Rpb246IGx0cjtcblxuICAvKiBTdXBwb3J0IGZvciBhbGwgV2ViS2l0IGJyb3dzZXJzLiAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLyogU3VwcG9ydCBmb3IgU2FmYXJpIGFuZCBDaHJvbWUuICovXG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbiAgLyogU3VwcG9ydCBmb3IgRmlyZWZveC4gKi9cbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAvKiBTdXBwb3J0IGZvciBJRS4gKi9cbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG59XG4iLCJAbWl4aW4gYnV0dG9uLWx5YmUoXG4gICAgJGV4cGFuZDogZmFsc2UsXG4gICAgJGJhY2tncm91bmQ6IGdldC1jb2xvcihwcmltYXJ5KSxcbiAgICAkc2l6ZTogbnVsbCxcbiAgICAkYmFja2dyb3VuZC1ob3ZlcjogbnVsbCxcbiAgICAkY29sb3I6IGF1dG8sXG4gICAgJHN0eWxlOiBzb2xpZFxuKSB7XG4gICAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IG51bGwge1xuICAgICAgICAkYmFja2dyb3VuZC1ob3ZlcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uKCRleHBhbmQsICRiYWNrZ3JvdW5kLCBsaWdodGVuKCRiYWNrZ3JvdW5kLWhvdmVyLCAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKSwgJGNvbG9yLCAkc3R5bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmICRzaXplICE9IG51bGwge1xuICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgJHNpemUpO1xuICAgIH1cblxuICAgICY6bm90KC5jbG9zZS1idXR0b24pOm5vdCguYWN0aW9uLWNsb3NlKSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoJGJhY2tncm91bmQsIDAuNDUpO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBzY291dC1idXR0b24oXG4gICAkYmFja2dyb3VuZDogZ2V0LWNvbG9yKHByaW1hcnkpLFxuICAgJHNpemU6IFwiYmlnXCIsXG4gICAkY29sb3I6ICR3aGl0ZSxcbikge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRzaXplID09IFwiYmlnXCIge1xuICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMS41cmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMi41cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYoJHNpemUgPT0gXCJzbWFsbFwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbn1cblxuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24tbHliZSgpO1xufVxuXG4ub3V0LW9mLXN0b2NrLWJ0biB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWx5YmUodHJ1ZSwgZ2V0LWNvbG9yKHNlY29uZGFyeSkpO1xufVxuXG4uY29uZmlndXJhYmxlLWJ0biB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWx5YmUodHJ1ZSwgZ2V0LWNvbG9yKHN0b25lKSk7XG59XG5cbi5zY291dC1idXR0b24ge1xuICAgIEBpbmNsdWRlIHNjb3V0LWJ1dHRvbjtcblxuICAgICYuYWx0IHtcbiAgICAgICAgQGluY2x1ZGUgc2NvdXQtYnV0dG9uKGdldC1jb2xvcihzZWNvbmRhcnkpKTtcbiAgICB9XG5cbiAgICAmLndoaXRlIHtcbiAgICAgICAgQGluY2x1ZGUgc2NvdXQtYnV0dG9uKGdldC1jb2xvcigkd2hpdGUpLCBcImJpZ1wiLCBnZXQtY29sb3IocHJpbWFyeSkpO1xuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgICAmLmFsdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY291dC1idXR0b24oZ2V0LWNvbG9yKHNlY29uZGFyeSksIFwic21hbGxcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmLndoaXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjb3V0LWJ1dHRvbihnZXQtY29sb3IoJHdoaXRlKSwgXCJzbWFsbFwiLCBnZXQtY29sb3IocHJpbWFyeSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgc2NvdXQtYnV0dG9uKGdldC1jb2xvcihwcmltYXJ5KSwgXCJzbWFsbFwiKTtcbiAgICB9XG59XG5cblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dIHtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG59XG4iLCIudWktZGF0ZXBpY2tlciB7XG4gIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmNhbGxvdXQge1xuICAgICYuc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjRGNjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTlBMUI1O1xuICAgICAgICBjb2xvcjogIzUxNTQ1QztcbiAgICAgICAgLmNsb3NlLWJ1dHRvbiwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgICAgICBjb2xvcjogIzUxNTQ1QztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTRGOUQ4O1xuICAgICAgICBib3JkZXItY29sb3I6ICM2QkI0NDI7XG4gICAgICAgIGNvbG9yOiAjMzc3QTExO1xuICAgICAgICAuY2xvc2UtYnV0dG9uLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgICAgIGNvbG9yOiAjMzc3QTExO1xuICAgICAgICB9XG4gICAgfVxuICAgICYud2FybmluZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkYxQ0M7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0ZGQkEwMDtcbiAgICAgICAgY29sb3I6ICM4RjVCMDA7XG4gICAgICAgIC5jbG9zZS1idXR0b24sIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICAgICAgY29sb3I6ICM4RjVCMDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5hbGVydCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkVBRUE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0VGNTk1OTtcbiAgICAgICAgY29sb3I6ICNCMTFGMUY7XG4gICAgICAgIC5jbG9zZS1idXR0b24sIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICAgICAgY29sb3I6ICNCMTFGMUY7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY29tcGFueS1zd2l0Y2hlci1saXN0IHtcbiAgLmNvbXBhbnktc3dpdGNoZXItbGlzdC1pdGVtIHtcbiAgICAuY29tcGFueS1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgJi5saW5rIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmN1cnJlbnQge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIqIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG4vKiBJbmxpbmUgKi9cblxuLnBhZ2Utd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5jb250ZW50LW92ZXJsYXkge1xuICAgIC5wYWdlLXdyYXBwZXIge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb250ZW50LW92ZXJsYXktYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5tYWluIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyOHB4O1xuICAgIH1cbn1cblxuLmJyZWFkY3J1bWJzICsgbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbnAubGVhZCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cbnAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogLjgxM3JlbTtcbn1cbmJsb2NrcXVvdGUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLmNhcHRpb24ge1xuICAgIGNvbG9yOiAjOEE4RDk2O1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICYuYXNpZGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIH1cbn1cbi5sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJsb2ctc2VsbCB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxufVxuLmJsb2ctbWV0YSB7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgfVxufVxuaDUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4vKiBGb3JtICovXG5cbmZpZWxkc2V0LCAuZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBsZWdlbmQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxubGFiZWwubGFiZWwsIHNwYW4ubGFiZWwsIGxlZ2VuZC5sYWJlbCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbnRleHRhcmVhIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbn1cbi5hY2NvcmRpb24ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0ZEM0RDO1xuICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0ZEM0RDO1xuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIEVsZW1lbnRzICovXG5cbmg0ICsgaHIge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wcm9ncmVzcy1tZXRlcixcbi5zbGlkZXItZmlsbCxcbi5zbGlkZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xufVxuLnNsaWRlci1oYW5kbGUge1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjZmQzZGM7XG4gICAgICAgIGJveC1zaGFkb3c6IDNweCAwIDAgI2NmZDNkYywgLTNweCAwIDAgI2NmZDNkYztcbiAgICB9XG59XG5cblxuXG4vKiBNaXNjICovXG5cbi50b29sdGlwIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsMC41KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAzcHggcmdiYSgwLDAsMCwwLjMpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhcmQge1xuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxufVxuXG4udGFicyB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgJGxpZ2h0LWdyYXk7XG4gICAgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDAgIzM2M0E0MztcbiAgICB9XG59XG50YWJsZSB7XG4gICAgZm9udC1zaXplOiAuODEzcmVtO1xuICAgICYuc3RyaXBlZCB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgfVxufVxuXG4uZmllbGQtdG9vbHRpcC1jb250ZW50LCBzcGFuLm5vdGUge1xuICAgIGZvbnQtc2l6ZTogLjgxM3JlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5yZXZlYWwge1xuICAgIGJveC1zaGFkb3c6IDAgMCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4yMiksIDAgMjRweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLyogTWFnZW50byAqL1xuOjpzZWxlY3Rpb24ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNGNTc1MDA7XG4gICAgLyogV2ViS2l0L0JsaW5rIEJyb3dzZXJzICovXG59XG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjRjU3NTAwO1xuICAgIC8qIEdlY2tvIEJyb3dzZXJzICovXG59XG5cbi5uby1tYXJnaW4geyBtYXJnaW46IDA7IH1cblxuLmR1bW15LXVsIHtcbiAgICBsaSB7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cbn1cblxuLnNraXAge1xuICBAaW5jbHVkZSBoaWRlO1xufVxuXG4uYnJlYWRjcnVtYnMge1xuICBAaW5jbHVkZSBicmVhZGNydW1icztcbn1cblxuLnBhZ2VzLWl0ZW1zIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uO1xufVxuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLy8gPT09PT09PT09XG4vLyA9IEhhY2tzID1cbi8vID09PT09PT09PVxuLy8gQ09NQkFLOiBUQlIuIFJlZmFjdG9yIGFsbCBiZWxvd1xuXG4vLyBUT0RPIGRpc2FibGUgdGhlc2UgaW4gTWFnZW50byAoWE1MIG9yIG1vZHVsZTogZmFsc2UpXG5baHJlZio9XCJyZXF1aXNpdGlvbl9saXN0XCJdLFxuI2ludml0YXRpb24tc2VuZC1saW5rIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCJAbWl4aW4gYnJlYWRjcnVtYnMoKSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzY291dC1pY29uKCRpY29uLXRhZywgJGZvbnRTaXplOiByZW0tY2FsYygxOCkpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICB9XG5cbiAgICA+IHVsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWl4aW4gc2NvdXQtaWNvbihcbiAgICAkaWNvbixcbiAgICAkZm9udFNpemU6IDI0cHgsXG4gICAgJGxpbmVIZWlnaHQ6IDFcbikge1xuICAgIGZvbnQtZmFtaWx5OiAnc2NvdXQnO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYgJGxpbmVIZWlnaHQge1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmVIZWlnaHQ7XG4gICAgfVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgY29udGVudDogJGljb247XG59XG4iLCJAbWl4aW4gcGFnaW5hdGlvbigpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkOm5vdCguY3VycmVudCksXG4gICAgICAgICY6bGFzdC1jaGlsZDpub3QoLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KC5jdXJyZW50KSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkOm5vdCguY3VycmVudCkge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICYucHJldmlvdXMge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NvdXQtaWNvbigkaWNvbi1jYXJldC1sZWZ0LCAkZm9udFNpemU6IHJlbS1jYWxjKDEyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NvdXQtaWNvbigkaWNvbi1jYXJldC1yaWdodCwgJGZvbnRTaXplOiByZW0tY2FsYygxMikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24ucHJldmlvdXMsXG4gICAgICAgIC5hY3Rpb24ubmV4dCxcbiAgICAgICAgLnBhZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMTVzIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIFRPRE86IFBsZWFzZSBzZXBhcmF0ZSB0aGlzIGZpbGUgaW50byBzZXZlcmFsIGNvbXBvbmVudHMuIE1heGltdW0gYXJvdW5kIDEwMCBsaW5lcyBwZXIgZmlsZSwgcGxlYXNlPyA6KVxuXG4ucGFnZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBoZWFkZXIgLmxvZ28ge1xuICAgICAgICBAZXh0ZW5kIC50ZXh0LWNlbnRlcixcbiAgICAgICAgLm1lZGl1bS10ZXh0LWxlZnQ7XG4gICAgfVxuXG4gICAgLmRlc2t0b3AtbG9nbyB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKG1lZGl1bSk7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1sb2dvIHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IobWVkaXVtKTtcbiAgICAgICAgbWF4LWhlaWdodDogMjBweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAudG9wLWJhciB7XG4gICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBpbWdbc3JjJD1cIi5zdmdcIl0ge1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2l0Y2gge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNSU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEzJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN3aXRjaC1wYWRkbGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0OTRENTY7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyYjJlMzc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQ6Y2hlY2tlZH4uc3dpdGNoLXBhZGRsZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzQ5NEQ1NiAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDcycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dDpjaGVja2VkK2xhYmVsPi5zd2l0Y2gtaW5hY3RpdmUsXG4gICAgICAgICAgICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFuZWwud3JhcHBlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAyNjQ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDdweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgLmhlYWRlci10b3AtbWVzc2FnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgLmhlYWRlci10b3AtbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcblxuICAgICAgICAgICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmZhZGVJbiB7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgICAgICAgICAgICAgICAgICBmcm9tIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdG8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmZhZGVJbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDFyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubXktYWNjb3VudCxcbiAgICAgICAgLm15LXdpc2hsaXN0IHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5teS1hY2NvdW50IHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjb3V0LWljb24oJGljb246ICRpY29uLXVzZXIsICRmb250U2l6ZTogcmVtLWNhbGMoMTgpKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXNreTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teS13aXNobGlzdCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY291dC1pY29uKCRpY29uOiAkaWNvbi1oZWFydCwgJGZvbnRTaXplOiByZW0tY2FsYygyMCkpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBnZXRfY29sb3IocGluayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmxpbmtzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgJi5wYW5lbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0byAxZnI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICYtdG9wLW1lbnUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoOCk7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYWRiYmM3O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5saW5rcyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMvNDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAubmF2LXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IobWVkaXVtKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgLmxvZ28tdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAwIDAgNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHktY29uZGVuc2VkO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgLmF1dGhvcml6YXRpb24tbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWNjb3VudCB7XG4gICAgICAgICAgICAgICAgLy8gVE9ETzogc2V0IGFzIGZsZXggbm90IGZsb2F0IVxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC44NzVyZW07XG5cbiAgICAgICAgICAgICAgICAuYXV0aG9yaXphdGlvbi1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nW3NyYyQ9XCIuc3ZnXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUb3AgcmlnaHQgaGVhZGVyIHdyYXBwZXJcbiAgICAgICAgICAgIC5ibG9jay1oZWFkZXItcmlnaHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKG1lZGl1bSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJsb2NrLWhlYWRlci1yaWdodC10ZXh0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNhbGRvIHRvcCByaWdodCBpbiBoZWFkZXJcbiAgICAgICAgICAgICNidWRnZXQtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI2J1ZGdldC1oZWFkZXIgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNDRkQzREM7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiNidWRnZXQtaGVhZGVyLWJhbGFuY2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRnVsbG5hbWUgc2hvd24gdG9wIHJpZ2h0IGluIGhlYWRlclxuICAgICAgICAgICAgI2N1c3RvbWVyLWZ1bGxuYW1lLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjY3VzdG9tZXItZnVsbG5hbWUtd3JhcHBlciBhIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI2N1c3RvbWVyLWZ1bGxuYW1lLXdyYXBwZXI6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDUpO1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDQpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN0aWNreS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4udXNwIHtcbiAgICBAaW5jbHVkZSBzaG93LWZvcihsYXJnZSk7XG5cbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzUyNjU4MDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuZ3JpZC14IHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTRweDtcbiAgICB9XG5cbiAgICBpbWcsXG4gICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgfVxuXG4gICAgc3ZnIHtcblxuICAgICAgICBjaXJjbGUsXG4gICAgICAgIGVsbGlwc2UsXG4gICAgICAgIGxpbmUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHBvbHlsaW5lIHtcbiAgICAgICAgICAgIHN0cm9rZTogIzUyNjU4MDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG59XG4iLCIuaGVhZGVyLWFjY291bnQtZHJvcGRvd24ge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHdpZHRoOiAyMDBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHdoaXRlKTtcbn1cblxuLmhlYWRlci1hY2NvdW50LWRyb3Bkb3duX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMzYzQTQzIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5oZWFkZXItYWNjb3VudC1kcm9wZG93bl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjRjU3NTAwIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1hY2NvdW50LWRyb3Bkb3duX19kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U5ZWNlZjtcbn1cbiIsIi8qIE1lbnUgKi9cbi5uYXYtc2VjdGlvbnMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDMsIDE5LCAzMywgMC44KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiA2LjZyZW07XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICNzdG9yZVxcLmxpbmtzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wb2xhcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAuaGVhZGVyLmxpbmtzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg4MHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4cHgpIDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi1zZWN0aW9ucy1pdGVtcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgICAgIHotaW5kZXg6IDExO1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi1vcGVuICYge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAubmF2LXNlY3Rpb25zLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3IocHJpbWFyeURhcmspO1xuXG4gICAgICAgIC5oZWFkZXIubGlua3Mge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uIHtcbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuYXYubmF2aWdhdGlvbiB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgJi5sZXZlbDAge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lbnUtaXRlbS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlweCAzMHB4IDdweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hbGwtY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcG9sYXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZW51LWl0ZW0tYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnVpLWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjYuNjglO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMzMuMzQlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFsbW9zdC13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQ0ZEM0RDO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgOHB4IDAgNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgICAgICAgICA+IHVsLnN1Ym1lbnUge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJG1lbnUtZGVza3RvcC1zaGFkb3c7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1kZXNrdG9wLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWRlc2t0b3AtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgJi5sZXZlbC10b3Age1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDE1cHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubGV2ZWwxIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWRlc2t0b3AtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLnBhcmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGV2ZWwtdG9wIHtcbiAgICAgICAgICAgICAgICAgICAgJi5wYXJlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tY2FyZXQtZG93bjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi51aS1zdGF0ZS1mb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihjdGEpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihjdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxldmVsMC5zdWJtZW51IC5wYXJlbnQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHVsIGxpIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5sZXZlbC10b3AucGFyZW50ID4gYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY291dC1pY29uKCRpY29uOiAkaWNvbi1jaGV2cm9uLWRvd24sICRmb250U2l6ZTogMTJweCk7XG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBpZGxlIHN0YXRlIHN0eWxlLCB1bnRpbCB0aGUgbmF2aWdhdGlvbiBpcyBsb2FkZWQgYW5kIHJlYWR5IHRvIGJlIHVzZWRcbiAgICAubGV2ZWwwLnN1Ym1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiJGFsbW9zdC13aGl0ZTogI2Y3ZjdmNyAhZGVmYXVsdDtcbiIsIi5oYW1idXJnZXItbWVudSB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcblxuICAgIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICB3aWR0aDogMjdweDtcblxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LW9wZW4gLmhhbWJ1cmdlci1tZW51LFxuLmhhbWJ1cmdlci1tZW51Lm9wZW4ge1xuICAgIHNwYW4ge1xuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm1pbmljYXJ0LXdyYXBwZXIge1xuICAgIC5hY3Rpb24ge1xuICAgICAgICAuaWNvbi1iYWcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuXG4gICAgICAgICAgICAucGF0aCB7XG4gICAgICAgICAgICAgICAgJjEsICYyLCAmMyB7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC5pY29uLWJhZyB7XG4gICAgICAgICAgICAgICAgLnBhdGgge1xuICAgICAgICAgICAgICAgICAgICAmMSxcbiAgICAgICAgICAgICAgICAgICAgJjMge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb3VudGVyIHtcbiAgICAgICAgLmNvdW50ZXItbnVtYmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1vcmFuZ2U7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgICByaWdodDogLTNweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jb3VudGVyLWxhYmVsIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAmLmVtcHR5IHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1jb250YWluZXIuYW1vdW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgzKTtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1iYWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hvd2NhcnQge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIC52YXQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC42ODhyZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmFiYTgwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5xdWljay1vcmRlci1saW5rIHtcbiAgICAgICAgJi5pY29uLWN1c3RvbSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL3RvYy13aGl0ZS5zdmdcIik7IC8vVE9ETyBjbGVhbnVwOyBAZmFyb3VrLiBUaGlzIHNob3VsZCB0byBiZSBkZWNsYXJlZCBpbmxpbmUgKGR1ZSB0byBkaWZmcmVudCBwYXRocyBmb3VuZGF0aW9uIDw+IG1hZ2VudG8pLCBzYW1lIGdvZXMgZm9yIGFsbCBpbWFnZXMgaW4gQ1NTLiBJc3N1ZSB3aXRoIHRoaXMgb25lIGlzIHRoYXQgd2UgZG8gbm90IGhhdmUgYSBwcm9wZXIgaHRtbCBzcGFjZSB0byBwdXQgdGhpcyBpbiBpbiBNYWdlbnRvLi4uIFdlIHdpbGwgZmlndXJlIHRoaXMgb3V0LlxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYmxvY2stbW9iaWxlLXNlYXJjaC1pY29uIHtcbiAgICBtYXJnaW46IDAgMS4yNXJlbSAwIDEuMjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnNlYXJjaC1pY29uLXRyaWdnZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uYmxvY2stc2VhcmNoIHtcbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5tYWduaWZpZXItbGVucyB7XG4gICAgICAgIGNvbnRlbnQ6ICRpY29uLXNlYXJjaDtcbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQuc2VhcmNoIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTsgLy8gVEJSPyB1c2VkP1xuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwcHg7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAmLmFkdmFuY2VkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldF9jb2xvcigncHJpbWFyeScpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdG9wIC41cyBjdWJpYy1iZXppZXIoMC4yNTAsIDAuMjUwLCAwLjc1MCwgMC43NTApO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IHRvcCAuNXMgY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjI1MCwgMC43NTAsIDAuNzUwKTtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogdG9wIC41cyBjdWJpYy1iZXppZXIoMC4yNTAsIDAuMjUwLCAwLjc1MCwgMC43NTApO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgLjVzIGN1YmljLWJlemllcigwLjI1MCwgMC4yNTAsIDAuNzUwLCAwLjc1MCk7XG4gICAgICAgIHRvcDogLTMwMHB4O1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm0ge1xuXG4gICAgICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmllbGQuc2VhcmNoIGlucHV0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDNkM2QzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNSk7XG4gICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg0KTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoMSk7XG4gICAgfVxufVxuIiwiLnBhZ2UtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9vdGVyLWJnO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgICAgICAuYWNjb3JkaW9uLW1lbnUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyIC5zbWFsbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3RlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG5cbiAgICAgICAgLmFjY29yZGlvbiB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEzcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi41O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGlnaGxpZ2h0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3IocHJpbWFyeURhcmspO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjb3V0LWljb24oJGljb246ICRpY29uLXN0YXIsICRmb250U2l6ZTogMTRweCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb2wge1xuICAgICAgICAgICAgJi1jb250YWN0IHtcbiAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtbmV3c2xldHRlciB7XG4gICAgICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tbHliZSgkZXhwYW5kOiB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjY29yZGlvbiB7XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY291dC1pY29uKCRpY29uOiAkaWNvbi1jaGV2cm9uLWRvd24sICRmb250U2l6ZTogMTJweCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3IocHJpbWFyeURhcmspO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ibG9jayB7XG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAmLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9vdGVyLWNvbC1zdG9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvb3Rlci1jb2wtY29udGFjdCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvb3Rlci1jb2wtaW5mb3JtYXRpb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mb290ZXItY29sLW5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ibG9jayB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAuZm9vdGVyLWNvbC1zdG9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg0KTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvb3Rlci1jb2wtY29udGFjdCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgyKTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvb3Rlci1jb2wtaW5mb3JtYXRpb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9vdGVyLWNvbC1uZXdzbGV0dGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xuICAgICAgICAgICAgICAgIG9yZGVyOiA0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSxcbiAgICBwLFxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1tZW51IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzYzQTQzO1xuXG4gICAgICAgIGEsXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwLjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzM2M0E0MztcbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICB1bC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzE5MUMyMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuXG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuXG4gICAgICAgIC5mb290ZXItZGl2aWRlci13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgZmFsc2UsIDApO1xuXG4gICAgICAgICAgICBociB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzQwNDU1MTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNtYWxsLmNvcHlyaWdodCxcbiAgICAgICAgLmZvb3Rlci10cnVzdC1tYXJrcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRicmVha3BvaW50OiBzbWFsbCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBzbWFsbC5jb3B5cmlnaHQge31cblxuICAgICAgICAuZm9vdGVyLXRydXN0LW1hcmtzIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODRweDsgLy8gV0FUPyBjcmVhdGUvdXNlIGV4aXN0aW5nIGNvbHVtbnMgaGVscGVyIGZ1bmN0aW9uXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5hYm91dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICNmZmZmZmY7XG5cbiAgICAgICAgLmdyaWQteCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyLFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3Ioc3RvbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIGZvb3RlclxuZm9vdGVyIHtcbiAgICAuZm9vdGVyLW5hdmlnYXRpb24td3JhcHBlciB7XG4gICAgICAgIEBleHRlbmQgLmdyaWQteCwgLmdyaWQtbWFyZ2luLXg7XG5cbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uLFxuICAgICAgICAuZm9vdGVyLWNvbnRhY3QtaW5mbyB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5zbWFsbC0xMiwgLm1lZGl1bS02LCAuY2VsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY2NvcmRpb24tbWVudSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5ncmlkLXg7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5tZWRpdW0tNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4uZm9vdGVyLW5hdmlnYXRpb24tZGVza3RvcCB7XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uZm9vdGVyLW5hdmlnYXRpb24tZGVza3RvcF9faGVhZGxpbmUge31cbiIsIi5mb290ZXItY29udGFjdC1pbmZvIHtcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG59XG4iLCJcbi5mb290ZXItY3VzdG9tZXItY2x1YiB7XG4gIG1hcmdpbi1ib3R0b206IDEuN3JlbTtcbiAgLy8gQGV4dGVuZCAuZ3JpZC14LCAuZ3JpZC1tYXJnaW4teDtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xufVxuXG4uZm9vdGVyLWN1c3RvbWVyLWNsdWIgLm5ld3NsZXR0ZXIgZm9ybS5zdWJzY3JpYmUge1xuICBAZXh0ZW5kIC5ncmlkLXg7XG59XG5cbi5mb290ZXItY3VzdG9tZXItY2x1YiAuZmllbGQubmV3c2xldHRlciB7XG4gIEBleHRlbmQgLm1lZGl1bS05O1xufVxuXG4uZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmFjdGlvbnMgLnN1YnNjcmliZSB7XG4gIEBleHRlbmQgLmF1dG8sIC5jZWxsO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmZvb3Rlci1jdXN0b21lci1jbHViIC5hY3Rpb25zIC5zdWJzY3JpYmU6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuXG4uZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmJsb2NrLm5ld3NsZXR0ZXIsXG4uZm9vdGVyLWN1c3RvbWVyLWNsdWIgLmN1c3RvbWVyLWNsdWIge1xuICBAaW5jbHVkZSB4eS1jZWxsO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XG4gIH1cbn1cblxuLmNvcnBvcmF0ZS1saW5rLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuIiwiLnJlcXVpcmVkLXN5bWJvbCB7XG4gIGNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xufVxuLmhhcy1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG59XG5cblt0eXBlPXRleHRdLFxuW3R5cGU9cGFzc3dvcmRdLFxuW3R5cGU9ZGF0ZV0sXG5bdHlwZT1kYXRldGltZV0sXG5bdHlwZT1kYXRldGltZS1sb2NhbF0sXG5bdHlwZT1tb250aF0sXG5bdHlwZT13ZWVrXSxcblt0eXBlPWVtYWlsXSxcblt0eXBlPW51bWJlcl0sXG5bdHlwZT1zZWFyY2hdLFxuW3R5cGU9dGVsXSxcblt0eXBlPXRpbWVdLFxuW3R5cGU9dXJsXSxcblt0eXBlPWNvbG9yXSxcbnRleHRhcmVhIHtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG59XG4iLCIvL1xuLy8gQFRPRE86IEFkZCBkb2NzIHRvIHByaWNlIVxuLy9cbkBtaXhpbiBwcmljZSgpIHtcbiAgICAucHJpY2UtYm94IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1vcmFuZ2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblxuICAgICAgICAmLmxvYWRpbmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvbG9hZGVyLTEuZ2lmJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyBAVE9ETzogQWRkIGRvY3MgdG8gcHJvZHVjdC1saXN0aW5nIVxuLy9cbkBtaXhpbiBwcm9kdWN0LWNhcmQoJHR5cGU6ICdsaXN0JywgJGNvbHVtbnM6IDQsICRhY3Rpb25zOiB0cnVlLCAkaHI6IGZhbHNlLCAkbGlzdC1sYXJnZTogZmFsc2UpIHtcbiAgICBAaWYgJHR5cGUgPT0gJ2dyaWQnIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICAgICAgICAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJGdyaWQtY29sdW1uLWNvdW50LyRjb2x1bW5zKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2UtcGhvdG8ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyxcbiAgICAgICAgICAgIC50b2NvbXBhcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICR0eXBlID09ICdsaXN0JyB7XG4gICAgICAgIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1pbmZvIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1pdGVtLXBob3RvIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKHNocmluaywgZmFsc2UpO1xuXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgQGlmICRsaXN0LWxhcmdlIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pdGVtLWRldGFpbHMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgyLCAnLnByb2R1Y3QtaXRlbS1uYW1lLCAucHJvZHVjdC1pdGVtLXNrdSwgLnByaWNlLWJveCwgLnByb2R1Y3QtaXRlbS1pbm5lcicpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0tc2t1IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0taW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJpY2UtYm94LFxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0taW5uZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAkaHIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVuc2V0P1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjdGlvbnMgIT0gdHJ1ZSB7XG4gICAgICAgIC5wcm9kdWN0LWl0ZW0tYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtZ3JpZCxcbi5wcm9kdWN0cy1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG4ucHJvZHVjdC1pdGVtcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgcHJpY2U7XG5cbiAgICAucHJvZHVjdC1pdGVtIHtcbiAgICAgICAgJi1kZXRhaWxzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGN0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNrdSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnByb2R1Y3RzLWdyaWQge1xuICAgIC5vd2wtY2Fyb3VzZWwge1xuICAgICAgICAub3dsIHtcbiAgICAgICAgICAgICYtcHJldixcbiAgICAgICAgICAgICYtbmV4dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1wcmV2IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgdHJhbnNwYXJlbnQsICNmZmZmZmYpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtbmV4dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgI2ZmZmZmZik7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcm9kdWN0cy1ncmlkIHtcbiAgICAucHJvZHVjdC1pdGVtLWluZm8ge1xuICAgICAgICAucHJvZHVjdC1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6MTgwcHg7XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlci5jYXJvdXNlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbiIsIi50b29sYmFyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuXG4gICAgLm1vZGVzIHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZTtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgZmFsc2UpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9mZi1jYW52YXMge1xuICAgICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgICAgLmZpbHRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvb2xiYXItc29ydGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCg0KTtcblxuICAgICAgICAuc29ydGVyLWxhYmVsLFxuICAgICAgICAuc29ydGVyLW9wdGlvbnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zb3J0ZXItYWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMS82KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zb3J0ZXItbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGlkZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwubWlkZGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuM3JlbSAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc29ydGVyLWFjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY291dC1pY29uKCRpY29uLWNoZXZyb24tdXAsICRmb250U2l6ZTogcmVtLWNhbGMoMTYpKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5zb3J0IHtcbiAgICAgICAgICAgICAgICAmLWFzYyB7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoZXZyb24tdXA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi1kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tY2hldnJvbi1kb3duO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b29sYmFyLWFtb3VudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkLmxpbWl0ZXIge1xuICAgICAgICBAaW5jbHVkZSBoaWRlO1xuICAgIH1cblxuICAgIC5wYWdlcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGlkZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgLnRvb2xiYXItc29ydGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCg4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vID0gwqHCocKhQmFubmVyIHRoYXQgZGVjbGFyZXMgd2hhdCB0eXBlIG9mIGZpbGUgSSBsb29rIGF0ISEhID1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEBUT0RPOiBBZGQgZG9jcyB0byB0b2FzdCFcbi8vXG5AbWl4aW4gdG9hc3Qge1xuICAkdG9hc3QtaGVpZ2h0OiA2MHB4O1xuICAkdG9hc3QtcGFkZGluZzogMjBweCAzMHB4IDE1cHg7XG4gICR0b2FzdC1saW5lLWhlaWdodDogMS42O1xuICAkdG9hc3QtZm9udC1zaXplOiAxcmVtO1xuICAkdG9hc3QtYmc6IGdldC1jb2xvcihwcmltYXJ5KTtcbiAgJHRvYXN0LWNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuICAkdG9hc3Qtc2hhZG93LWNvbG9yOiByZ2JhKGdldC1jb2xvcihzdG9uZSksIDAuMTUpO1xuICAkdG9hc3Qtc2hhZG93LXNldHRpbmdzOiAwIDVweCAxMHB4IDZweDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAkdG9hc3QtYmc7XG4gIGNvbG9yOiAkdG9hc3QtY29sb3I7XG4gIGxpbmUtaGVpZ2h0OiAkdG9hc3QtbGluZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nO1xuICBtaW4taGVpZ2h0OiAkdG9hc3QtaGVpZ2h0O1xuICBtaW4td2lkdGg6IDI4OHB4OyAvLyBUT0RPID8gcGVyY2VudGFnZT9cbiAgd2lkdGg6IDEwMCU7XG4gIC8vbWF4LXdpZHRoOiA1NjhweDsgLy8gVE9ETyA/IHBlcmNlbnRhZ2U/XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBib3R0b206IC0kdG9hc3QtaGVpZ2h0O1xuICB6LWluZGV4OiA5OTk5O1xuXG4gIEBpbmNsdWRlIHNoYWRvdygkdG9hc3Qtc2hhZG93LWNvbG9yICR0b2FzdC1zaGFkb3ctc2V0dGluZ3MpO1xuXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuNXMgZWFzZS1vdXQ7XG5cbiAgJi50b2FzdGVyLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbiN0b2FzdGVyIHtcbiAgQGluY2x1ZGUgdG9hc3Q7XG4gIC8vIG9ubHkgc2hvdyBsYXN0IG1lc3NhZ2VcbiAgLm1lc3NhZ2VzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJjpsYXN0LWNoaWxkKCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAubWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICY6bGFzdC1jaGlsZCgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBjb2xvciBoaWdobGlnaHRpbmcgKGZvciBsYXRlciB1c2UpXG4gICYuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcihhbGVydCk7XG4gIH1cblxuICAmLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcih3YXJuaW5nKTtcbiAgfVxuXG4gICYuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuICB9XG5cbiAgJi5jdGEge1xuICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcihjdGEpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2hhZG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzaGFkb3cgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8vIFNoYWRvdyBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm94IHNoYWRvdyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxuQG1peGluIHNoYWRvdyhcbiAgJHNoYWRvdzogJHByb3RvdHlwZS1ib3gtc2hhZG93XG4pIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdyB7XG4gIC5zaGFkb3cge1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1pbmljYXJ0LXdyYXBwZXIge1xuICAgIGNvbG9yOiAjMzYzQTQzO1xuXG4gICAgLnRvdGFscy1leHRlcm5hbCB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKG1lZGl1bSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4xOHJlbTtcbiAgICB9XG5cbiAgICAuc2hvd2NhcnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNob3djYXJ0ID4gaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3RvcC1jYXJ0LWJ0bi1jaGVja291dCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tbHliZSh0cnVlLCBnZXQtY29sb3IoY3RhKSlcbiAgICB9XG59XG5cbi5ibG9jay1taW5pY2FydCB7XG4gICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDEzcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3I7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZSBub25lO1xuICAgIG1hcmdpbjogNHB4IDAgMCAwO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyLjc1cmVtIDAgMC4yNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0yMHB4O1xuICAgIHRvcDogMTAwJTtcbiAgICB3aWR0aDogMzkwcHg7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogNnB4IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKSBnZXQtY29sb3Iod2hpdGUpIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB0b3A6IC0xMnB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMjZweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiA3cHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSByZ2JhKDAsIDAsIDAsIDApICNiYmIgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgei1pbmRleDogOTg7XG4gICAgICAgIHRvcDogLTE0cHg7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgIH1cblxuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgYnV0dG9uLmNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDAuMjVyZW07XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1zLXRvdGFsIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAuY291bnQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VidG90YWwge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1vcmFuZ2U7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgJi5lbXB0eSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAuYWN0aW9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbiB7XG4gICAgICAgICYuY2xvc2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NvdXQtaWNvbigkaWNvbjogJGljb24tY2xvc2UsICRmb250U2l6ZTogMTRweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnZpZXdjYXJ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRleHBhbmQ6IHRydWUsICRiYWNrZ3JvdW5kOiAkY29sb3Itb3JhbmdlLCAkY29sb3I6IGdldC1jb2xvcih3aGl0ZSkpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1pbmljYXJ0LWl0ZW1zIHtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IC0ycHggMHB4IDRweCA0cHggcmdiYSg1MCwgNTAsIDUwLCAwLjEpIGluc2V0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLm92ZXJmbG93ZWQgLm1pbmljYXJ0LWl0ZW1zIHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbn1cbiIsIm9sLm1pbmljYXJ0LWl0ZW1zIHtcbiAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAycmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cbiAgICAgICAgJi5wcm9kdWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLnByb2R1Y3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgICAgICAgICAmLmFjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1pdGVtLXBob3RvIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtaXRlbS1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGN0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBicmVhay1zcGFjZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgLnNlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAxMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuZWRpdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY291dC1pY29uKCRpY29uOiAkaWNvbi1lZGl0LCAkZm9udFNpemU6IDE4cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuZGVsZXRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjb3V0LWljb24oJGljb246ICRpY29uLXRyYXNoLCAkZm9udFNpemU6IDE4cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1pdGVtLXByaWNpbmcge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1vcmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9wdGlvbnMge1xuICAgICAgICAgICAgICAgIC50b2dnbGUge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NvdXQtaWNvbigkaWNvbjogJGljb24tY2hldnJvbi1kb3duLCAkZm9udFNpemU6IDhweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAudG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kZXRhaWxzLXF0eSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC5xdHktY29udHJvbC1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoM3B4KTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0cHgpIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgVmFsdWUgZm9yIGB0ZXh0LW92ZXJmbG93YCB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcblxuLy8vIEltYWdlIFJlcGxhY2VtZW50IHV0aWxpdHkuIGB0ZXh0LWhpZGVgXG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLy8gVHJ1bmNhdGluZyB0aGUgdGV4dCwgZWxpcHNpcyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxuQG1peGluIHRleHQtdHJ1bmNhdGUoXG4gICRvdmVyZmxvdzogJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XG4pIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gTm8gd3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LW5vd3JhcGBcbkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxuQG1peGluIHRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXMge1xuICAudGV4dC1oaWRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gIH1cblxuICAudGV4dC10cnVuY2F0ZSB7XG4gICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgfVxuXG4gIC50ZXh0LW5vd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LW5vd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tb2RhbC1wb3B1cCxcbi5tb2RhbC1zbGlkZSB7XG4gICAgei1pbmRleDogOTk5ICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgJi5fc2hvdyB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW1wb3J0ICdtb2RhbC1vdmVybGF5JztcblxuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgICAgIEBpbXBvcnQgJ21vZGFsLWhlYWRlcic7XG5cbiAgICAgICAgQGltcG9ydCAnbW9kYWwtY29udGVudCc7XG5cbiAgICAgICAgQGltcG9ydCAnbW9kYWwtZm9vdGVyJztcblxuICAgIH1cbn1cblxuLm1vZGFsLXNsaWRlIHtcbiAgICBsZWZ0OiByZW0tY2FsYyg0NHB4KTtcblxuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCB2aXNpYmlsaXR5O1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgJi5fc2hvdyB7XG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5faW5uZXItc2Nyb2xsIHtcbiAgICAgICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtblxuICAgICAgICB9O1xuICAgIH1cbn1cblxuXG4vL1JFRkFDVE9SIEJFTE9XXG5cbi5tb2RhbC1zbGlkZS5faW5uZXItc2Nyb2xsIC5tb2RhbC1oZWFkZXIsXG4ubW9kYWwtc2xpZGUuX2lubmVyLXNjcm9sbCAubW9kYWwtZm9vdGVyIHtcbiAgLXdlYmtpdC1mbGV4LWdyb3c6IDA7XG4gIGZsZXgtZ3JvdzogMDtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgZmxleC1zaHJpbms6IDBcbn1cblxuLm1vZGFsLXNsaWRlLl9pbm5lci1zY3JvbGwgLm1vZGFsLWNvbnRlbnQge1xuICBvdmVyZmxvdy15OiBhdXRvXG59XG5cbi5tb2RhbC1wb3B1cCB7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG9cbn1cblxuLm1vZGFsLXBvcHVwLl9zaG93IC5tb2RhbC1pbm5lci13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxufVxuXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAge1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW46IDVyZW0gYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCB2aXNpYmlsaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlXG59XG5cbi5tb2RhbC1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDM2LjI1cmVtO1xuICB9XG59XG5cbi5tb2RhbC1wb3B1cC5faW5uZXItc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZVxufVxuXG4uaWUxMCAubW9kYWwtcG9wdXAuX2lubmVyLXNjcm9sbCxcbi5pZTkgLm1vZGFsLXBvcHVwLl9pbm5lci1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ubW9kYWwtcG9wdXAuX2lubmVyLXNjcm9sbCAubW9kYWwtaW5uZXItd3JhcCB7XG4gIG1heC1oZWlnaHQ6IDkwJTtcbn1cblxuLmllMTAgLm1vZGFsLXBvcHVwLl9pbm5lci1zY3JvbGwgLm1vZGFsLWlubmVyLXdyYXAsXG4uaWU5IC5tb2RhbC1wb3B1cC5faW5uZXItc2Nyb2xsIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cblxuLm1vZGFsLXBvcHVwLl9pbm5lci1zY3JvbGwgLm1vZGFsLWNvbnRlbnQge1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWNvbnRlbnQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3Rlci1hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZSxcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogNDAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZTpmb2N1cyxcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlOmZvY3VzLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2U6Zm9jdXMsXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2U6YWN0aXZlLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2U6YWN0aXZlLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2U6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2U6aG92ZXIsXG4ubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZTpob3Zlcixcbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2UuZGlzYWJsZWQsXG4ubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZS5kaXNhYmxlZCxcbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlLmRpc2FibGVkLFxuLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlW2Rpc2FibGVkXSxcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlW2Rpc2FibGVkXSxcbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlW2Rpc2FibGVkXSxcbmZpZWxkc2V0W2Rpc2FibGVkXSAubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2UsXG5maWVsZHNldFtkaXNhYmxlZF0gLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2UsXG5maWVsZHNldFtkaXNhYmxlZF0gLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2Uge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2UgPiBzcGFuLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2UgPiBzcGFuLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2UgPiBzcGFuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZTpiZWZvcmUsXG4ubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZTpiZWZvcmUsXG4ubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZTpiZWZvcmUge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIGNvbnRlbnQ6ICfDlyc7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBzcGVhazogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2U6aG92ZXI6YmVmb3JlLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2U6aG92ZXI6YmVmb3JlLFxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2U6aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZTphY3RpdmU6YmVmb3JlLFxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2U6YWN0aXZlOmJlZm9yZSxcbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlOmFjdGl2ZTpiZWZvcmUge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlOmhvdmVyOmJlZm9yZSxcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlOmhvdmVyOmJlZm9yZSxcbi5tb2RhbC1zbGlkZSAuYWN0aW9uLWNsb3NlOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAkYmxhY2s7XG59XG5cbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZSB7XG4gIG1hcmdpbjogMjVweDtcbn1cblxuLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2Uge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSB7XG4gIHBhZGRpbmc6IDEuMXJlbSAycmVtO1xufVxuXG4ubW9kYWwtc2xpZGUgLnBhZ2UtbWFpbi1hY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogLTEyLjlyZW07XG4gIG1hcmdpbi10b3A6IDIuMXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHsgLyppbmNsdWRlIDc2OXB4ID8qL1xuICAubW9kYWwtcG9wdXAtLXdpZGUgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgfVxufVxuXG4uX2hhcy1tb2RhbCB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cbiIsIi5tb2RhbHMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNTUpO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogODk5XG59XG4iLCIubW9kYWwtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxufVxuXG4ubW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkY29sb3Itc2hhcms7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtaW4taGVpZ2h0OiAxZW07XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuIiwiLm1vZGFsLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBib3gtc2hhZG93OiAtMnB4IDBweCA0cHggNHB4IHJnYmEoNTAsIDUwLCA1MCwgMC4xKSBpbnNldDtcbn1cbiIsIi5tb2RhbC1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG4iLCIuc25hY2tiYXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC4zMTNyZW07XG4gICAgYmFja2dyb3VuZDogJGZvb3Rlci1iZztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIC01cHggMTVweCByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICBzdmcge1xuICAgIFx0d2lkdGg6IDMwcHg7XG4gICAgXHRoZWlnaHQ6IGF1dG87XG4gICAgXHRkaXNwbGF5OiBibG9jaztcbiAgICBcdG1hcmdpbjogMCBhdXRvIDVweDtcbiAgICB9XG4gICAgc3BhbiB7XG5cdFx0Zm9udC1zaXplOiAwLjY4OHJlbTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4uc25hY2tiYXJfX2xpbmsge1xuXHRjb2xvcjogI2ZmZmZmZlxufVxuXG4uc25hY2tiYXJfX2xpbms6aG92ZXIsXG4uc25hY2tiYXJfX2xpbms6YWN0aXZlLFxuLnNuYWNrYmFyX19saW5rOnZpc2l0ZWRcbntcblx0Y29sb3I6ICNmZmZmZmZcbn1cblxuLnByb2R1Y3QtbWVudS10cmlnZ2VyIHsgY3Vyc29yOiBwb2ludGVyOyB9IC8vIHdpZXJkZXN0IGZrbiB0cmlnZ2VyIGZpeC4gb2ZmQ2FudmFzTGVmdCB3aWxsIG5vdCB0cmlnZ2VyIHdpdGhvdXQgdGhpcyBoYWNrIGluIFNhZmFyaSBvciBDaHJvbWUgb24gaU9TLi4uXG4iLCIuZm9vdGVyLXN0b3JlLXNlbGVjdG9yX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuN3JlbTtcbn1cblxuLy8gVE9ETzogRml4IHRoaXMgd2l0aG91dCBpbXBvcnRhbnQuIFNjb3BlIGZvb3RlciBiZXR0ZXIuXG4uZm9vdGVyLXN0b3JlLXNlbGVjdG9yX19pY29uIHtcbiAgd2lkdGg6IDIuMjVyZW07XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgbWFyZ2luLXRvcDogLTdweDtcbn1cblxuLmZvb3Rlci1teXN0b3JlX19zdG9yZS1uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi5mb290ZXItbXlzdG9yZV9fc3RvcmUtYWRkcmVzcy1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cblxuLmluZGljYXRvci1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uc3RvcmUtc3RvY2staW5kaWNhdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuIiwiI2Zvb3RlcndhcmVob3VzZWxpc3QsXG4jc3RvcmVzdG9jay1tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zdG9yZS1zZWxlY3Rvci1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IDY0MHB4O1xuICB9XG59XG5cbi5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc3RvcmVsaXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19yb3cge1xuICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgfVxuXG4gIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc3RvcmUtbmFtZS1zdGF0dXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCg4LjUsICRicmVha3BvaW50OiBzbWFsbCk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDZweDtcblxuICAgIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc3RvcmVuYW1lIHt9XG4gICAgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zdG9yZXN0YXR1cyB7fVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg5KTtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQoKTtcbiAgICAgIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc3RvcmVuYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAuc3RvcmUtc2VsZWN0b3ItbW9kYWxfX3N0b3Jlc3RhdHVzIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg1LCAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN0b3JlLXNlbGVjdG9yLW1vZGFsX19zdG9yZW5hbWUge1xuICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgIH1cbiAgfVxuXG4gIC5zdG9yZS1zZWxlY3Rvci1tb2RhbF9fc2VsZWN0LXN0b3JlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgzLjUsICRicmVha3BvaW50OiBzbWFsbCk7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWx5YmUoZmFsc2UsIGdldC1jb2xvcihwcmltYXJ5KSwgc21hbGwsICRjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKSk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuIiwiJGluaXRpYWxzLWNpcmNsZS1wYWdlLWhlYWRlci1zaXplOiA0NXB4O1xuJGluaXRpYWxzLWNpcmNsZS1kYXNoYm9hcmQtc2l6ZTogOTBweDtcblxuLmluaXRpYWxzLWNpcmNsZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5pbml0aWFscy1jaXJjbGUtLXBhZ2UtaGVhZGVyIHtcbiAgQGluY2x1ZGUgc2hvdy1mb3IobWVkaXVtKTtcbiAgd2lkdGg6ICRpbml0aWFscy1jaXJjbGUtcGFnZS1oZWFkZXItc2l6ZTtcbiAgaGVpZ2h0OiAkaW5pdGlhbHMtY2lyY2xlLXBhZ2UtaGVhZGVyLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkaW5pdGlhbHMtY2lyY2xlLXBhZ2UtaGVhZGVyLXNpemU7XG4gIGZvbnQtc2l6ZTogJGluaXRpYWxzLWNpcmNsZS1wYWdlLWhlYWRlci1zaXplIC8gMztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbml0aWFscy1jaXJjbGUtLXBhZ2UtaGVhZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTlweDtcbiAgd2lkdGg6IDE5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogLTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgIzE2MTkyNDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgY29sb3I6ICMzNjNBNDM7XG4gIGNvbnRlbnQ6IFwiXFwyNUJFXCI7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0ZGRkZGRiAwJSwgIzkyOUZCMCAxMDAlKTtcbn1cblxuLmluaXRpYWxzLWNpcmNsZS0tZGFzaGJvYXJkIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAkaW5pdGlhbHMtY2lyY2xlLWRhc2hib2FyZC1zaXplO1xuICBoZWlnaHQ6ICRpbml0aWFscy1jaXJjbGUtZGFzaGJvYXJkLXNpemU7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbGluZS1oZWlnaHQ6ICRpbml0aWFscy1jaXJjbGUtZGFzaGJvYXJkLXNpemU7XG4gIGZvbnQtc2l6ZTogMzJweDtcbn1cblxuIiwiQG1peGluIGdvb2dsZW1hcCgkYnRuTWFyaWducykge1xuICAgIGJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYnRuTWFyaWducyAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAuZ20tYnVuZGxlZC1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH07XG4gICAgfVxufVxuXG4vLyBUQkQ/XG4uZ29vZ2xlbWFwIHtcbiAgLmxvY2F0aW9uLWJveC12aWV3IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBPZmYgY2FudmFzIGFuZCBtZW51IHN0dWZmXG4ucGFnZS13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG59XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIEBpbmNsdWRlIG1lbnUtYmFzZTtcbn1cblxuLy8gT2ZmY2FudmFzXG4ub2ZmLWNhbnZhcyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgY29sb3I6ICRibGFjaztcbiAgLmxvZ28ge1xuICAgIHBhZGRpbmc6IDAuODc1cmVtO1xuICB9XG4gIGhyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNjg4cmVtO1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGEge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cbiAgLnZlcnRpY2FsLm1lbnUge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHBhZGRpbmc6IDAuNzI1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIH1cbiAgICAuanMtZHJpbGxkb3duLWJhY2sge1xuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50YXgtc3dpdGNoZXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSB0YXgtc3dpdGNoZXIoKTtcbiAgfVxuICAuY29weXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnBvc2l0aW9uLWxlZnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuIiwiQG1peGluIHRheC1zd2l0Y2hlciB7XG4gIC8vIFRheCBzd2l0Y2hlciB0b3AgcmlnaHQgaW4gaGVhZGVyXG4gIC50YXgtc3dpdGNoZXItd3JhcHBlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC50YXgtc3dpdGNoZXItZm9ybS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50YXgtc3dpdGNoZXItYnV0dG9ucy13cmFwcGVyIHtcbiAgICB0b3A6IDFweDtcbiAgICBoZWlnaHQ6IDI5cHg7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTRENTY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM0OTRENTY7XG4gIH1cbiAgLnRheC1zd2l0Y2hlci1idXR0b24ge1xuICAgIHdpZHRoOiA3MnB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcmlnaHQ6IDBweDtcbiAgfVxuICAudGF4LXN3aXRjaGVyLWJ1dHRvbjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC50YXgtc3dpdGNoZXItYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICBsZWZ0OiAwcHg7XG4gIH1cbiAgI3RheC1zd2l0Y2hlci1iZyB7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIHdpZHRoOiA3NnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyQjJFMzc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbiAgLnRheC1zd2l0Y2hlci1iZy0xIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwcHg7XG4gIH1cbiAgLnRheC1zd2l0Y2hlci1iZy0yIHtcbiAgICBsZWZ0OiAwcHg7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi5sb2FkaW5nLW1hc2sge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLmxvYWRpbmctbWFzayAubG9hZGVyID4gaW1nIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwO1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xuICB3aWR0aDogMnJlbTtcbn1cbiIsIi5fY29sbGFwc2libGUgLmFjdGlvbi10b2dnbGU6YWZ0ZXIsXG4uY29sbGFwc2libGUgLmNvbGxhcHNpYmxlX190aXRsZTphZnRlciB7XG4gIEBpbmNsdWRlIG1hdGVyaWFsLWljb24oJ2tleWJvYXJkX2Fycm93X2Rvd24nKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzO1xufVxuXG5cbi5fY29sbGFwc2libGUuX2FjdGl2ZSAuYWN0aW9uLXRvZ2dsZTphZnRlcixcbi5jb2xsYXBzaWJsZS5hY3RpdmUgLmNvbGxhcHNpYmxlX190aXRsZTphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4iLCJAbWl4aW4gbWF0ZXJpYWwtaWNvbigkaWNvbikge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgY29udGVudDogJGljb247XG59XG4iLCIuX3dpdGgtdG9vbHRpcCB7XG4gICAgLmZpZWxkLXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIC5maWVsZC10b29sdGlwLWFjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1oZWxwIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuX2FjdGl2ZSB7XG4gICAgICAgICAgICAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC03cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAyOHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNjVyZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVpLXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIC51aS10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG4gICAgICAgIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICAgICAgICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICAgIH1cbn1cbiIsIi5wYWdlLm1lc3NhZ2VzIHtcbiAgJG91dE9mU2NyZWVuOiByZW0tY2FsYygtMzAwKTtcbiAgJHZpc2libGU6IDA7XG5cbiAgYm90dG9tOiAkb3V0T2ZTY3JlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG5cbiAgdHJhbnNpdGlvbjogYm90dG9tIDQwMG1zIGVhc2UtaW4tb3V0O1xuXG4gICYuaGFzLW1lc3NhZ2VzIHtcbiAgICBib3R0b206ICR2aXNpYmxlO1xuICB9XG5cbiAgPiBkaXZbZGF0YS1wbGFjZWhvbGRlcj1cIm1lc3NhZ2VzXCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgPiBkaXYge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtY29sb3IoY3RhKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gIH1cblxuICAubWVzc2FnZSB7XG4gICAgZGl2W2RhdGEtYmluZD1cImh0bWw6IG1lc3NhZ2UudGV4dFwiXSB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCIuaGVyby1mdWxsLXdpZHRoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4gICAgJi5maWZ0eS1maWZ0eSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWltYWdlIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgbWF4LWhlaWdodDogdmFyKC0tbWF4SGVpZ2h0KTtcbiAgICB9XG5cbiAgICAuc2NvdXQtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDJyZW07XG4gICAgICAgIGxlZnQ6IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgYm90dG9tOiA0cmVtO1xuICAgICAgICAgICAgbGVmdDogNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtZmlmdHktZmlmdHkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycmVtIGF1dG87XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogM3JlbSBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2NvdXQtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiJGljb25EaWFtZXRlcjogMTAwcHg7XG4kaWNvbk1heFNpemU6IDUwcHg7XG4kbmF2RGlhbWV0ZXI6IDM0cHg7XG5cbi5ibG9jay10aXRsZSB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbjogMXJlbSAwO1xufVxuXG4uYWdlLWdyb3VwcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG5cbiAgICAgICAgLmFnZS1ncm91cCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGNhbGMoI3skaWNvbkRpYW1ldGVyfSArIDFyZW0pO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogJGljb25EaWFtZXRlciBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDYpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGljb25EaWFtZXRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRpY29uRGlhbWV0ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Jsb2Iuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogY292ZXI7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkaWNvbk1heFNpemU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGljb25NYXhTaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm93bC1jYXJvdXNlbCB7XG4gICAgICAgIC5vd2wtbmF2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIGJ1dHRvbltjbGFzcyo9b3dsLV0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRuYXZEaWFtZXRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogJG5hdkRpYW1ldGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuXG4gICAgICAgICAgICAgICAgJi5vd2wtcHJldjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY291dC1pY29uKCRpY29uLWNoZXZyb24tbGVmdCwgJGZvbnRTaXplOiByZW0tY2FsYyg4KSwgJGxpbmVIZWlnaHQ6IGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5vd2wtbmV4dDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY291dC1pY29uKCRpY29uLWNoZXZyb24tcmlnaHQsICRmb250U2l6ZTogcmVtLWNhbGMoOCksICRsaW5lSGVpZ2h0OiBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50aHJlZS1pbWFnZXMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGNvbHVtbi1nYXA6IDFyZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgIH1cblxuICAgIC50aHJlZS1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zY291dC1idXR0b24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMS41cmVtIDAgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jYW1wYWlnbi13cmFwcGVyIHtcbiAgICAuaGVyby5jYW1wYWlnbiB7XG4gICAgICAgIGhlaWdodDogMTAwdnc7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LWhvbGRlciB7XG4gICAgICAgICAgICBib3R0b206IDJyZW07XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgICAgIC5zY291dC1idXR0b24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0tY29udGFpbmVyOm50aC1jaGlsZChvZGQpIC5wcm9kdWN0LWl0ZW0taW5mbyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0tY29udGFpbmVyOm50aC1jaGlsZChldmVuKSAucHJvZHVjdC1pdGVtLWluZm8ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0tZGV0YWlscyB7XG4gICAgICAgIG1hcmdpbjogMC41cmVtIDA7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlci5jYW1wYWlnbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIkbmF2RGlhbWV0ZXI6IDM0cHg7XG5cbi5wcm9kdWN0LXRvcC1saXN0IHtcbiAgICAucHJvZHVjdC1pdGVtcyB7XG4gICAgICAgIC5vd2wtbmF2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIGJ1dHRvbltjbGFzcyo9b3dsLV0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRuYXZEaWFtZXRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogJG5hdkRpYW1ldGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlO1xuXG5cbiAgICAgICAgICAgICAgICAmLm93bC1wcmV2OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjb3V0LWljb24oJGljb24tY2hldnJvbi1sZWZ0LCAkZm9udFNpemU6IHJlbS1jYWxjKDgpLCAkbGluZUhlaWdodDogZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYub3dsLW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NvdXQtaWNvbigkaWNvbi1jaGV2cm9uLXJpZ2h0LCAkZm9udFNpemU6IHJlbS1jYWxjKDgpLCAkbGluZUhlaWdodDogZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50b3Age1xuICAgIHJvdy1nYXA6IDEuNXJlbTtcblxuICAgIC5jZWxsIHtcbiAgICAgICAgLmhlcm8ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcblxuICAgICAgICAgICAgLnNjb3V0LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCIuY21zLWluZGV4LWluZGV4IHtcbiAgICAucGFnZS1tYWluIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICB9XG4gICAgLmhlcm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI4dnc7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1ob2xkZXIge1xuICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpO1xuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkpO1xuXG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdHJldGNoLWl0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuZml4ZWQtaGVpZ2h0IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSwgIzAwMDAwMCk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnRvcCB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICYuYXV0b3Bvc2l0aW9uIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRleHQtaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKTtcblxuICAgICAgICAgICAgICAgICYudG9wIHtcbiAgICAgICAgICAgICAgICAgICAgJi1sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi1yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAudGV4dC1ob2xkZXIge1xuICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ncm91cCB7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYtaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZ3JlZW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuO1xuICAgICAgICB9XG4gICAgICAgICYtYmx1ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcbiAgICAgICAgfVxuICAgICAgICAmLW9yYW5nZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itb3JhbmdlO1xuICAgICAgICB9XG4gICAgICAgICYtZnVjaHNpYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZnVjaHNpYTtcbiAgICAgICAgfVxuICAgICAgICAmLXllbGxvdyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IteWVsbG93O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJreWVsbG93O1xuICAgICAgICB9XG4gICAgICAgICYtcHJpbWFyeSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmLXB1cnBsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHVycGxlO1xuICAgICAgICB9XG4gICAgICAgICYtbWF0dGVibHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1tYXR0ZWJsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICAgICAgJi1pbWFnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDMyMXB4KSB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIGZvciBpUGhvbmUgNSBhbmQgb3RoZXIgdmVyeSBzbWFsbCBzY3JlZW5zXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0cy1ncmlkIHtcbiAgICAgICAgLnByb2R1Y3QtaXRlbXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jYXJkKCdncmlkJywgMyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jYXJkKCdncmlkJywgNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stcHJvZHVjdHMtbGlzdCB7XG4gICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXJnaW4tYm90dG9tIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtMCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4LFxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyB7XG4gICAgJi5wYWdlLWxheW91dC0xY29sdW1uIHtcbiAgICAgICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IHtcbiAgICAgICAgLmNvbHVtbi5tYWluIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgJi5zaWRlYmFyLW1haW4sXG4gICAgICAgICYuc2lkZWJhci1hZGRpdGlvbmFsIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbHVtbi5tYWluIHtcbiAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgLmNhdGVnb3J5LXZpZXcge1xuICAgICAgICAgICAgLmNhdGVnb3J5LWltYWdlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2F0ZWdvcnktZGVzY3JpcHRpb24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgJi50cnVuY2F0ZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUtbXVsdGlsaW5lKCRsaW5lczogNilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1idG4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtNjBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgLyogRkYzLjYtMTUgKi9cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDBmZmZmZmYnLCBlbmRDb2xvcnN0cj0nI2ZmZmZmZicsIEdyYWRpZW50VHlwZT0wKTtcbiAgICAgICAgICAgICAgICAgICAgLyogSUU2LTkgKi9cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGluZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgLmxpbmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IoY3RhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0cy53cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIC5jYXRlZ29yeS12aWV3IHtcbiAgICAgICAgICAgICAgICAuY2F0ZWdvcnktaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE1cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvb2xiYXIge1xuXG4gICAgICAgIC8vIGFsbCB0b29sYmFyKHMpXG4gICAgICAgIC5wYWdlcyxcbiAgICAgICAgLnRvb2xiYXItYW1vdW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0b29sYmFyLWJvdHRvbVxuICAgIC5wcm9kdWN0cy53cmFwcGVyICsgLnRvb2xiYXIudG9vbGJhci1wcm9kdWN0cyB7XG5cbiAgICAgICAgLnRvb2xiYXItYW1vdW50LFxuICAgICAgICAucGFnZXMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b29sYmFyLWFtb3VudCB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXItYnV0dG9uLFxuICAgICAgICAubW9kZXMsXG4gICAgICAgIC50b29sYmFyLXNvcnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvb2xiYXItYW1vdW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG5cbiAgICAgICAgLnRvb2xiYXItbnVtYmVyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRklMVEVSU1xuICAgIC5maWx0ZXItd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIC5maWx0ZXItY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIGhyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsdGVyLWNvbnRlbnQoKTtcblxuICAgICAgICAmLmJsb2NrIHtcbiAgICAgICAgICAgIC50aXRsZSxcbiAgICAgICAgICAgIC5zdWJ0aXRsZSxcbiAgICAgICAgICAgIC5maWx0ZXItdGl0bGUsXG4gICAgICAgICAgICAuZmlsdGVyLXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtbWFpbiB7XG4gICAgICAgIC5maWx0ZXIsXG4gICAgICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpZGViYXItbmF2aWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXgsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IHtcbiAgICAucGFnZS1tYWluIC5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogdG9wKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBUT0RPXG4vLyBNb3ZlIGF3YXkgZnJvbSB0aGlzIHBhZ2UuIFN1Z2dlc3Rpb246IG1vdmUgaW50byBhIHNlcGFyYXRlIFwicHJvZHVjdC1saXN0XCIgY29tcG9uZW50IGxvYWQgaXRcbi8vIHdpdGggQGltcG9ydCwgZm9sbG93IHRoaXMgaWRlYSBgcGFnZXMvY3VzdG9tZXItYWNjb3VudC9fY3VzdG9tZXItdGFibGUuc2Nzc2AgaXMgbG9hZGVkIGludG8gaXRzIHBhcmVudFxuLnByb2R1Y3QtaXRlbXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNhcmQoJ2dyaWQnLCAkY29sdW1uczogMiwgJGFjdGlvbnM6IGZhbHNlKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAucHJvZHVjdHMuZ3JpZC5wcm9kdWN0cy1ncmlkICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jYXJkKCdncmlkJywgMyk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdHMubGlzdC5wcm9kdWN0cy1saXN0ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jYXJkKCdsaXN0JywgJGhyOiB0cnVlLCAkbGlzdC1sYXJnZTogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIC5wcm9kdWN0cy5ncmlkLnByb2R1Y3RzLWdyaWQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNhcmQoJ2dyaWQnLCA0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpZGViYXItbWFpbiB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogdG9wKTtcbn1cbiIsIkBtaXhpbiBmaWx0ZXItaGVhZGVyIHtcbiAgICAuYnV0dG9uLnRvZ2dsZS1maWx0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGZpbHRlci1jb250ZW50IHtcblxuICAgIC8vIHNlbWFudGljIGRlY2xhcmF0aW9uIG9mIGFjY29yZGlvblxuICAgIC5maWx0ZXItb3B0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG5cbiAgICAgICAgLmZpbHRlci1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuXG4gICAgICAgICAgICAuZmlsdGVyLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1zIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgLnN3YXRjaC1vcHRpb24ge1xuICAgICAgICAgICAgZmxvYXQ6IHVuc2V0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXItY3VycmVudCB7XG4gICAgICAgICAgICAuZmlsdGVyLXN0YXRlLXJlbW92ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWx0ZXItbGFiZWwsXG4gICAgICAgICAgICAuZmlsdGVyLXZhbHVlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5maWx0ZXItYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKHRydWUsIGdldC1jb2xvcihzdG9uZSksICRibGFjayk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpbHRlci1vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgLmZpbHRlci1pdGVtIHtcbiAgICAgICAgICAgIC5maWx0ZXItb3B0aW9ucy10aXRsZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhY2NvcmRpb24tYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYWNjb3JkaW9uLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjb3V0LWljb24oJGljb24tY2hldnJvbi1kb3duLCAkZm9udFNpemU6IHJlbS1jYWxjKDEyKSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpbHRlci1vcHRpb25zLXRpdGxlLmFjdGl2ZSArIC5maWx0ZXItb3B0aW9ucy1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpbHRlci1vcHRpb25zLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIoXCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIilcIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXItY291bnQtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIC5maWx0ZXItb3B0aW9ucy10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uLWNoZXZyb24tdXA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhY2NvcmRpb24tYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQG1peGluIHNpZGViYXItbmF2aWdhdGlvbiB7XG4gICAgZHQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGFjY29yZGlvbi1ib3JkZXItY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjb3V0LWljb24oJGljb24tY2hldnJvbi1kb3duLCAkZm9udFNpemU6IHJlbS1jYWxjKDEyKSk7XG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGwge1xuICAgICAgICAuaXRlbXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXBvbGFyO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRhY2NvcmRpb24tYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNSk7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi41O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY291bnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIoXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiKVwiO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5maWx0ZXItY291bnQtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jYXRhbG9nLXByb2R1Y3QtdmlldyB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0IHtcbiAgICAmLm1lZGlhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLWluZm8tbWFpbiB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJGJyZWFrcG9pbnQ6IHNtYWxsKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICYubWVkaWEge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW5mby1tYWluIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICYubWVkaWEge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW5mby1tYWluIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByaW50LXByb2R1Y3Qge1xuICAgIEBpbmNsdWRlIHh5LWNlbGw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xuICAgIH1cbn1cblxuLy8gbWFpbiBlbGVtZW50c1xuXG4ucHJvZHVjdCB7XG4gICAgJi5tZWRpYSB7XG4gICAgICAgIC5mb3RvcmFtYSB7XG4gICAgICAgICAgICAmX19hcnIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG5cbiAgICAgICAgICAgICAgICAmX19hcnIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgICAgICAgICAgLmZvdG9yYW1hX19hcnJfX2FyciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NvdXQtaWNvbigkaWNvbi1jaGV2cm9uLWxlZnQsICRmb250U2l6ZTogcmVtLWNhbGMoOCksICRsaW5lSGVpZ2h0OiBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgLmZvdG9yYW1hX19hcnJfX2FyciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NvdXQtaWNvbigkaWNvbi1jaGV2cm9uLXJpZ2h0LCAkZm9udFNpemU6IHJlbS1jYWxjKDgpLCAkbGluZUhlaWdodDogZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbmF2IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgJi0tZG90cyB7XG4gICAgICAgICAgICAgICAgICAgIC5mb3RvcmFtYV9fbmF2X19mcmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fZG90IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuZm90b3JhbWFfX2RvdCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihjdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi12aWV3LXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTtcblxuICAgICAgICAmLnByb2R1Y3Qtdmlldy1yb3ctbWFpbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pbmZvLW1haW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcblxuICAgICAgICAuc2l6ZWd1aWRlLXRyaWdnZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXG4gICAgICAgICAgICAuaWNvbi1ydWxlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1zaGFyaztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ncm91cGVkLXByb2R1Y3Qge1xuICAgICAgICAgICAgLmFzc29jaWF0ZWQtcHJvZHVjdHMge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaWNlKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmF0dHJpYnV0ZSB7XG4gICAgICAgICYuc2t1IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgICAgICAgICAudHlwZSxcbiAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuODEzcmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYub3ZlcnZpZXcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtaW5mby1zdG9jayB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtb3B0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuXG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRicmVha3BvaW50OiBzbWFsbCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChmdWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhpZGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWluZm8tcHJpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhpZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtZmluYWxfcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itb3JhbmdlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgIC5wcmljZS1maW5hbF9wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IocmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgLnByaWNlLWZpbmFsX3ByaWNlIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlLXRheC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYWRkLWZvcm0ge1xuICAgICAgICAuYm94LXRvY2FydCAuZmllbGRzZXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b2NhcnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKHRydWUsIGdldC1jb2xvcihjdGEpKVxuICAgICAgICB9XG5cbiAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICAmLmZpZWxkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKHNocmluaywgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoc2hyaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucXR5LW1pbnVzLFxuICAgICAgICAgICAgLnF0eS1wbHVzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2KSAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucXR5LW1pbnVzLFxuICAgICAgICAgICAgLnF0eS1wbHVzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgaW1nW3NyYyQ9XCIuc3ZnXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQjcXR5IHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweCAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgICZbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgICAgICAgICAgICZbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkYnJlYWtwb2ludDogc21hbGwpO1xuICAgICAgICAgICAgb3JkZXI6IDM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg1KTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgJi50b3dpc2hsaXN0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKHNocmluayk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY291dC1pY29uKCRpY29uLWhlYXJ0LCAkZm9udFNpemU6IHJlbS1jYWxjKDI0KSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pbmZvLWF2YWlsYWJpbGl0eSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG5cbiAgICAgICAgLmF2YWlsYWJpbGl0eS1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuXG4gICAgICAgICAgICAuc3RvY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XG4gICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgICYuYXZhaWxhYmxlOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjb3V0LWljb24oJGljb24tY2hlY2ssICRmb250U2l6ZTogcmVtLWNhbGMoMTYpKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmluZm8uZGV0YWlsZWQge1xuICAgICAgICAuZGF0YS5pdGVtIHtcbiAgICAgICAgICAgICYudGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXVzcC13cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhaW5lciA+ICoge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjZyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2hpcHBpbmcge1xuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjb3V0LWljb24oJGljb24tdHJ1Y2ssICRmb250U2l6ZTogcmVtLWNhbGMoMjQpKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXB1cnBsZTtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZWNvLWZyaWVuZGx5IHtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY291dC1pY29uKCRpY29uLWxlYWYsICRmb250U2l6ZTogcmVtLWNhbGMoMjQpKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zdXBwb3J0IHtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjb3V0LWljb24oJGljb24tY2hhdCwgJGZvbnRTaXplOiByZW0tY2FsYygyNCkpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICYubWVkaWEge1xuICAgICAgICAgICAgLmZvdG9yYW1hIHtcbiAgICAgICAgICAgICAgICAmX19uYXYge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICYtd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm90b3JhbWFfX3RodW1iX19hcnIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMjBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLS1sZWZ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm90b3JhbWFfX3RodW1iLS1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuZm90b3JhbWFfX3NoYWRvd3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYtLXRodW1icyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZm90b3JhbWFfX25hdl9fZnJhbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3RvcmFtYV9fdGh1bWIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX190aHVtYiB7XG4gICAgICAgICAgICAgICAgICAgICYtLWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICZfX2FyciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm90b3JhbWFfX3RodW1iLS1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NvdXQtaWNvbigkaWNvbi1jaGV2cm9uLWxlZnQsICRmb250U2l6ZTogcmVtLWNhbGMoOCksICRsaW5lSGVpZ2h0OiBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm90b3JhbWFfX3RodW1iLS1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NvdXQtaWNvbigkaWNvbi1jaGV2cm9uLXJpZ2h0LCAkZm9udFNpemU6IHJlbS1jYWxjKDgpLCAkbGluZUhlaWdodDogZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi1ib3JkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1pbmZvLW1haW4ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWluZm8tYXZhaWxhYmlsaXR5IHtcbiAgICAgICAgICAgIC5hdmFpbGFiaWxpdHktaW5uZXIge1xuICAgICAgICAgICAgICAgIC5zdG9jayB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi11c3Atd3JhcHBlciB7XG4gICAgICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdztcblxuICAgICAgICAgICAgICAgIC5zaGlwcGluZyxcbiAgICAgICAgICAgICAgICAuZWNvLWZyaWVuZGx5LFxuICAgICAgICAgICAgICAgIC5zdXBwb3J0IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgJi11c3Atd3JhcHBlciB7XG4gICAgICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByaW50LXByb2R1Y3QgYSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBjb2xvcjogIzUyNjU4MDtcblxuICAgIGltZ1tzcmMkPVwiLnN2Z1wiXSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbn1cblxuLnByb2R1Y3QtaW5mby11c3Age1xuICAgIGZvbnQtc2l6ZTogLjgxM3JlbTtcblxuICAgIC5jYWxsb3V0IHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDA7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC12aWV3LWV4dGVuZCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dCgpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkYWxtb3N0LXdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtO1xuXG4gICAgLy8gVEJEPyB3aGF0IGlzIHRoaXM/XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyNDBweCkge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAwdnc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAyNTAlO1xuICAgIH1cblxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgQGV4dGVuZCBoNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlIHtcblxuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkYWxtb3N0LXdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1cHBvcnQge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZ1tzcmMkPVwiLnN2Z1wiXSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucmVsYXRlZCxcbi51cHNlbGwge1xuICAgIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5LWNvbmRlbnNlZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIHByaWNlKCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIC5wcm9kdWN0cy5saXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcblxuICAgICAgICAgICAgLnByb2R1Y3QtaXRlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2LCAkYnJlYWtwb2ludDogc21hbGwpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jaGVja291dC1jYXJ0LWluZGV4IHtcbiAgICAuYmFjay10by1zaG9wLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoKTtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbXBvcnQgJ2JhY2stdG8tc2hvcCc7XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIEBpbXBvcnQgJ3BhZ2UtdGl0bGUnO1xuICAgIH1cblxuICAgIC5jYXJ0LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gICAgICAgICAgICAuZm9ybS1jYXJ0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNhcnQtc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWNhcnQge1xuICAgICAgICAgICAgQGltcG9ydCAnY2FydC1wcm9kdWN0JztcbiAgICAgICAgICAgIEBpbXBvcnQgJ2NhcnQtcHJvZHVjdC1pdGVtLWRldGFpbHMnO1xuXG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LXN1bW1hcnkge1xuICAgICAgICAgICAgQGltcG9ydCAnY2FydC1zdW1tYXJ5JztcbiAgICAgICAgICAgIEBpbXBvcnQgJ2NhcnQtdG90YWxzLXRhYmxlJztcbiAgICAgICAgICAgIEBpbXBvcnQgJ2NhcnQtZGlzY291bnQtY291cG9uJztcblxuICAgICAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBQdWxsIHRoZSBTdW1tYXJ5IGJsb2NrIHNvIHRoYXQgaXQgdmVydGljYWxseSBhbGlnbnMgd2l0aCB0aGUgUGFnZSB0aXRsZVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShyZW0tY2FsYygtNTRweCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtZW1wdHkge1xuICAgICAgICBAaW1wb3J0ICdjYXJ0LWVtcHR5JztcbiAgICB9XG5cbiAgICAuY3Jvc3NzZWxsIHtcbiAgICAgICAgQGltcG9ydCAnY2FydC1jcm9zc3NlbGwnO1xuICAgIH1cbn1cbiIsIi5iYWNrLXRvLXNob3Age1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRzaXplOiBzbWFsbCk7XG5cbiAgICAudGV4dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCk7XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucGFnZS10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcbiAgICB9XG59XG4iLCIudGFibGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4ucHJvZHVjdC13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG5cbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaXRlbS1pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4uY2FydC5tYWluLmFjdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmFjdGlvbi5jb250aW51ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tbHliZSgkZXhwYW5kOiB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb24uY2xlYXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnByb2R1Y3QtaXRlbS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIGF1dG8pIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciByZXBlYXQoMiwgYXV0byk7XG5cbiAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWl0ZW0tc2t1IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG4gICAgfVxuXG4gICAgLml0ZW0tb3B0aW9ucyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAzO1xuICAgIH1cblxuICAgIC5wcmljZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzIC8gbGFzdDtcbiAgICAgICAgZ3JpZC1yb3c6IDQgLyBsYXN0O1xuICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG5cbiAgICAgICAgY29sb3I6ICRjb2xvci1vcmFuZ2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiBhdXRvIC8gbGFzdDtcbiAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuXG4gICAgICAgIEBpbXBvcnQgJ2NhcnQtaXRlbS1xdHktY29udHJvbHMnO1xuICAgIH1cblxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBncmlkLWNvbHVtbjogNCAvIGxhc3Q7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcblxuICAgICAgICAuYWN0aW9uLWRlbGV0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgfVxuICAgICAgICAuYWN0aW9uLWVkaXQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5xdHkge1xuICAgIC5jb250cm9sIHtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5xdHktbWludXMsXG4gICAgLnF0eS1wbHVzIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTBweCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYpIDA7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MHB4KTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LmlucHV0LXRleHQucXR5IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHggMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICAgICAgZmxleDogMCAxO1xuXG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgfVxufVxuXG4uYmxvY2suc2hpcHBpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYXJ0LXRvdGFscyxcbi5ibG9jay5kaXNjb3VudCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LW1ldGhvZHMtaXRlbXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRzaXplOiBsYXJnZSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tbHliZSgkZXhwYW5kOiB0cnVlKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCk7XG5cbiAgICB9XG5cbn1cbiIsIi5jYXJ0LXRvdGFscyB7XG4gICAgbWluLWhlaWdodDogMTIwcHg7XG5cbiAgICB0YWJsZS50b3RhbHMge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwIDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5LFxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAudGFibGUtY2FwdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ncmFuZC50b3RhbHMge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZmllbGRzZXQuY291cG9uIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZCxcbiAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyLCAkZ3V0dGVyczogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWx5YmUoJGV4cGFuZDogdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXJzOiAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChzaHJpbmssICRndXR0ZXJzOiAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxufVxuIiwiQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgLnByb2R1Y3RzLmxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMXJlbTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigpO1xufVxuXG5AaW5jbHVkZSBwcmljZTtcblxuYnV0dG9uLnRvY2FydCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWx5YmUoJGV4cGFuZDogdHJ1ZSk7XG59XG5cbi5wcm9kdWN0LWl0ZW0tcGhvdG8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIiRzY291dC1ndWlkZS1jYWxsb3V0LWJhY2tncm91bmQtcHJpbWFyeTogI0MxRTRGRTtcbiRzY291dC1ndWlkZS1jYWxsb3V0LWJhY2tncm91bmQtc2Vjb25kYXJ5OiAjREVGNEQ0O1xuXG5zZWN0aW9uLmd1aWRlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDEuNXJlbTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0NjBweCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IDJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGdhcDogM3JlbTtcbiAgICB9XG5cbiAgICBhcnRpY2xlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC42cmVtO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDgwLCA4MCwgODAsIDAuMik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLnNjb3V0LWd1aWRlLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg0MDBweCk7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNnJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNjb3V0LWd1aWRlIHtcbiAgICAmLmNhbGxvdXQge1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGJsYWNrKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAmLnByaW1hcnkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNjb3V0LWd1aWRlLWNhbGxvdXQtYmFja2dyb3VuZC1wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWNvbmRhcnkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNjb3V0LWd1aWRlLWNhbGxvdXQtYmFja2dyb3VuZC1zZWNvbmRhcnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmIHVsIHtcbiAgICAgICAgJiBsaSB7XG4gICAgICAgICAgICAmIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9jb21wb25lbnRzL3Njb3V0LWd1aWRlcy5zY3NzJztcblxuLnZpZGVvLXBsYXllciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6IDU2LjI1JTtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cbiIsIi5jdXN0b21lci1hY2NvdW50LWxvZ2luIHtcbiAgICBAaW1wb3J0ICdjdXN0b21lci1sb2dpbic7XG59XG4iLCIucGFnZS1tYWluIHtcbiAgICAubG9naW4tY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tbG9naW4ge1xuICAgICAgICAgICAgQGltcG9ydCAnY3VzdG9tZXItZm9ybS1sb2dpbic7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWl4aW4gZm9ybS1sYWJlbCgpIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiBzbWFsbGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRhbG1vc3Qtd2hpdGU7XG4gICAgY29sb3I6IGdldC1jb2xvcihwcmltYXJ5RGFyayk7XG59XG4iLCJsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbCgpO1xufVxuXG4uYWN0aW9ucy10b29sYmFyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogMC41cmVtO1xuXG4gICAgLnNlY29uZGFyeSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbn1cbiIsIi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSB7XG4gICAgQGltcG9ydCAnbGF5b3V0JztcbiAgICBAaW1wb3J0ICdjdXN0b21lci1yZWdpc3Rlci1mb3JtJztcbn1cbiIsIi5mb3JtLWNyZWF0ZS1hY2NvdW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgfVxuXG4gICAgLmluZm8ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zY291dC1ncm91cCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi5mb3JtLWNyZWF0ZS1hY2NvdW50IHtcbiAgICAuZmllbGQge1xuICAgICAgICAmOm5vdCguY2hvaWNlKSB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRyb2wge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWxtb3N0LXdoaXRlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWdlLWVycm9yOm5vdChpbnB1dCkge1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gc3BlY2lmaWMgZmllbGRzXG5cbiAgICAubmV3c2xldHRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjdyZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNjb3V0LWdyb3VwIHtcbiAgICAgICAgI3Njb3V0X2dyb3VwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFzc3dvcmQge1xuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICAjcGFzc3dvcmQtZXJyb3IsXG4gICAgICAgICAgICAjcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAmLnBhc3N3b3JkLXdlYWsge1xuICAgICAgICAgICAgICAgICAgICAjcGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXItbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5wYXNzd29yZC12ZXJ5LXN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgICNwYXNzd29yZC1zdHJlbmd0aC1tZXRlci1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3Bhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYXNzd29yZC1zdHJlbmd0aC1tZXRlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW1wb3J0ICcuLi8uLi9jYXB0Y2hhJztcblxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRleHBhbmQ6IHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIuY2FwdGNoYSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLm1hZ2UtZXJyb3I6bm90KGlucHV0KSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhbG1vc3Qtd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWxtb3N0LXdoaXRlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IC0ycmVtO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcHRjaGEtaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRleHBhbmQ6IHRydWUsICRzaXplOiBzbWFsbCwgJHN0eWxlOiBob2xsb3cpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWx5YmUoJHN0eWxlOiBob2xsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWxtb3N0LXdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDV2dyAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjdXN0b21lci1hdXRoZW50aWNhdGlvbi9pbmRleCc7XG5cbi5hY2NvdW50IHtcbiAgICAucGFnZS1tYWluIHtcbiAgICAgICAgQGltcG9ydCAnbGF5b3V0LnNjc3MnO1xuXG4gICAgICAgIEBpbXBvcnQgJ2N1c3RvbWVyLWFjY291bnQtbmF2aWdhdGlvbic7XG5cbiAgICAgICAgQGltcG9ydCAnY3VzdG9tZXItdGFibGUnO1xuICAgICAgICBAaW1wb3J0ICdjdXN0b21lci10YWJsZS10b29sYmFyJztcblxuICAgICAgICAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgLmJhY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRzdHlsZTogaG9sbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmN1c3RvbWVyLWFjY291bnQtaW5kZXgge1xuICAgIEBpbXBvcnQgJ2N1c3RvbWVyLWRhc2hib2FyZC9pbmRleCc7XG59XG5cbi5zYWxlcy1vcmRlci1oaXN0b3J5IHtcbiAgICBAaW1wb3J0ICdjdXN0b21lci1teS1vcmRlcnMvaW5kZXgnO1xufVxuXG4uc2FsZXMtb3JkZXItdmlldyB7XG4gICAgQGltcG9ydCAnY3VzdG9tZXItbXktb3JkZXJzLWRldGFpbHMvaW5kZXgnO1xufVxuXG4uY3VzdG9tZXItYWNjb3VudC1lZGl0IHtcbiAgICBAaW1wb3J0ICdjdXN0b21lci1lZGl0L2luZGV4Jztcbn1cblxuQGltcG9ydCAnY3VzdG9tZXItYWRkcmVzcy9pbmRleCc7XG4iLCIuY29sdW1ucyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDFyZW07XG5cbiAgICAuYWNjb3VudC1uYXYge1xuICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4ge1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgfVxufVxuIiwiLmFjY291bnQtbmF2IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIG1hcmdpbjogMCAxcmVtIDAuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgfVxufVxuXG4uYWNjb3VudC1uYXYtY29udGVudCB7XG4gICAgLml0ZW1zIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwidGFibGUge1xuICAgIG1hcmdpbjogMDtcblxuICAgIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMC41cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0Zm9vdCB0ciB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW07XG4gICAgfVxuXG4gICAgdHIge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMnB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgLmFjdGlvbi5vcmRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tbHliZSgkc2l6ZTogc21hbGwsICRzdHlsZTogaG9sbG93KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50b29sYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItdG9wOiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgIH1cblxuICAgIC5wYWdlciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdyaWQtZ2FwOiAwLjVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS8zO1xuXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG87XG5cbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNSU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlcyArIC5saW1pdGVyIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGltaXRlciB7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzLzQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBhdXRvKTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5saW1pdGVyLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucGFnZS1tYWluIHtcbiAgICBoZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAuYmxvY2stZGFzaGJvYXJkLWFkZHJlc3NlcyxcbiAgICAuYmxvY2stZGFzaGJvYXJkLW9yZGVycyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGltcG9ydCAnY3VzdG9tZXItZGFzaGJvYXJkLWluZm8nO1xuICAgIEBpbXBvcnQgJ2N1c3RvbWVyLWRhc2hib2FyZC1hZGRyZXNzZXMnO1xuICAgIEBpbXBvcnQgJ2N1c3RvbWVyLWRhc2hib2FyZC1vcmRlcnMnO1xuXG4gICAgLmNvbHVtbnMgLmNvbHVtbiAuYmxvY2s6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stYWRkcmVzc2VzLWRlZmF1bHQge1xuICAgICAgICAuYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbHVtbnMgLm1haW4gLmJsb2NrLWNvbnRlbnQgLmJveCAuYm94LWFjdGlvbnMge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxhXCI7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgLmJsb2NrLWRhc2hib2FyZC1hZGRyZXNzZXMsXG4gICAgICAgIC5ibG9jay1kYXNoYm9hcmQtb3JkZXJzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmJsb2NrLWRhc2hib2FyZC1pbmZvIHtcbiAgICBvcmRlcjogMTtcblxuICAgICoge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmVtYWlsLFxuICAgIC5uZXdzbGV0dGVyLXN1YnNjcmlwdGlvbi1zdGF0dXMsXG4gICAgLmVkaXQsXG4gICAgLmxvZ291dC1idXR0b24tYm94IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgIC5lbWFpbCB7XG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC41cmVtIDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5ld3NsZXR0ZXItc3Vic2NyaXB0aW9uLXN0YXR1cyB7XG4gICAgICAgIC5zdGF0dXMge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZWRpdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAubG9nb3V0LWJ1dHRvbi1ib3gge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxufVxuIiwiLmJsb2NrLWRhc2hib2FyZC1hZGRyZXNzZXMge1xuICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGltcG9ydCAnLi4vY3VzdG9tZXItaW5mby1ib3gnO1xuICAgIH1cbn1cbiIsIi5ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwcHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuICAgIC5ib3gtdGl0bGUtYm94IHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICAgIGNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmJveC10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAuZWRpdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgfVxuXG4gICAgLmJveC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTBweCkgcmVtLWNhbGMoMTBweCkgcmVtLWNhbGMoMTVweCk7XG4gICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwidGFibGUge1xuICAgIC50YWJsZS1jYXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIudGFibGUtY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMCAwIDFyZW07XG4gICAgZm9udC1zaXplOiAycmVtO1xufVxuXG50YWJsZSB7XG4gICAgdHIge1xuICAgICAgICAuc2hpcHBpbmcsXG4gICAgICAgIC5pZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgLnNoaXBwaW5nLFxuICAgICAgICAgICAgLmlkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm9yZGVyLWxpbmtzLFxuLm9yZGVyLXRpdGxlLFxuLnRhYmxlLWNhcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ibG9jay1vcmRlci1kZXRhaWxzLXZpZXcge1xuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItbnVtYmVyIHtcbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihzdG9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW1wb3J0IFwiLi4vY3VzdG9tZXItaW5mby1ib3hcIjtcbiAgICB9XG59XG5cbi5vcmRlci1kZXRhaWxzLWl0ZW1zIHtcbiAgICAuaXRlbXMtcXR5IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbn1cbiIsIi5tYWluIHtcbiAgICBoZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuXG4uZm9ybS1lZGl0LWFjY291bnQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICB9XG5cbiAgICBAaW1wb3J0ICdmaWVsZHNldHMnO1xuXG4gICAgQGltcG9ydCAnLi4vY2FwdGNoYSc7XG5cbiAgICBAaW1wb3J0ICd0b29sdGlwJztcblxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjc2NvdXRfZ3JvdXAge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgfVxufVxuIiwiLmZpZWxkc2V0IHtcbiAgICAuZmllbGQge1xuICAgICAgICAmLmNob2ljZSB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjdyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmNob2ljZSkge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucGFzc3dvcmQge1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEvMztcblxuICAgICAgICBiYWNrZ3JvdW5kOiAkYWxtb3N0LXdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IDRweCBpbnNldCByZ2JhKDEwLCAxMCwgMTAsIDAuMDUpO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBtYXJnaW46IDAgLTJyZW0gMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY3JlYXRlLmFjY291bnQge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5fd2l0aC10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5maWVsZC10b29sdGlwIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAyLjVyZW07XG59XG5cbi5maWVsZC10b29sdGlwLWFjdGlvbiB7XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QnBaRDBpYVMxcGJtWnZJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBek1pQXpNaUlnZDJsa2RHZzlJak15SWlCb1pXbG5hSFE5SWpNeUlpQm1hV3hzUFNKdWIyNWxJaUJ6ZEhKdmEyVTlJaU0xTlRVaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKaWRYUjBJaUJ6ZEhKdmEyVXRiR2x1WldwdmFXNDlJbTFwZEdWeUlpQnpkSEp2YTJVdGQybGtkR2c5SWpFaVBnb2dJQ0FnUEhCaGRHZ2daRDBpVFRFMklERTBJRXd4TmlBeU15Qk5NVFlnT0NCTU1UWWdNVEFpSUM4K0NpQWdJQ0E4WTJseVkyeGxJR040UFNJeE5pSWdZM2s5SWpFMklpQnlQU0l4TkNJZ0x6NEtQQzl6ZG1jKyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG59XG4iLCIuY3VzdG9tZXItYWRkcmVzcy1pbmRleCB7XG4gICAgQGltcG9ydCAnY3VzdG9tZXItYWRkcmVzcyc7XG59XG5cbi5jdXN0b21lci1hZGRyZXNzLWZvcm0ge1xuICAgIEBpbXBvcnQgJ2N1c3RvbWVyLWFkZHJlc3MtbmV3Jztcbn1cbiIsIi5tYWluIHtcbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgfVxufVxuXG4uYmxvY2stYWRkcmVzc2VzLWRlZmF1bHQge1xuICAgIEBpbXBvcnQgJy4uL2N1c3RvbWVyLWluZm8tYm94JztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stYWRkcmVzc2VzLWxpc3Qge1xuICAgIEBpbXBvcnQgJ2N1c3RvbWVyLWFkZHJlc3MtdGFibGUnO1xufVxuXG4uYWN0aW9ucy10b29sYmFyIHtcbiAgICBidXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRleHBhbmQ6IHRydWUpXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJ0ciB7XG4gICAgLmxhc3RuYW1lLFxuICAgIC5jaXR5LFxuICAgIC5jb3VudHJ5LFxuICAgIC5waG9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgLnBob25lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIC5sYXN0bmFtZSxcbiAgICAgICAgLmNpdHksXG4gICAgICAgIC5jb3VudHJ5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubWFpbiB7XG4gICAgaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmZvcm0tYWRkcmVzcy1lZGl0IHtcbiAgICBsYWJlbDpub3QoW2Zvcj1cInByaW1hcnlfYmlsbGluZ1wiXSk6bm90KFtmb3I9XCJwcmltYXJ5X3NoaXBwaW5nXCJdKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwoKTtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgIH1cblxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWNvbmRhcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRleHBhbmQ6IHRydWUpO1xuXG4gICAgICAgICAgICAmLmJhY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRzdHlsZTogaG9sbG93KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jaGVja291dC1pbmRleC1pbmRleCB7XG5cbiAgLm1vZGFsLWN1c3RvbS5hdXRoZW50aWNhdGlvbi1kcm9wZG93biB7XG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgIH1cbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuXG4gICAgLnBhZ2UtdGl0bGUsXG4gICAgLmF1dGhlbnRpY2F0aW9uLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcbiAgICB9XG4gIH1cblxuICBiYWNrZ3JvdW5kOiBnZXQtY29sb3Iod2hpdGUpO1xuXG4gIC8vIGxheW91dFxuICAub3BjLXN1bW1hcnktd3JhcHBlciB7XG4gICAgb3JkZXI6IDE7XG4gIH1cblxuICAuY2hlY2tvdXQtY29udGFpbmVyID4gLm1lc3NhZ2Uge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgLm9wYy13cmFwcGVyIHtcbiAgICBvcmRlcjogMztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLmNoZWNrb3V0LWNvbnRhaW5lciA+IC5tZXNzYWdlIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICAub3BjLXdyYXBwZXIge1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuICAgIC5vcGMtc3VtbWFyeS13cmFwcGVyIHtcbiAgICAgIG9yZGVyOiAzO1xuICAgIH1cbiAgfVxuXG4gIC5pbmZvcm1hdGlvbi1zeW1ib2wge1xuICAgIHdpZHRoOiAyMHB4O1xuICB9XG5cbiAgLmNoZWNrb3V0LWNvbnRhaW5lciA+IC5tZXNzYWdlIHtcbiAgICBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLm5vLXF1b3Rlcy1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCItIFwiO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlLWhlYWRlciB7XG5cbiAgICAubmF2LXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrbGluayB7XG4gICAgICBpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg0KTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVzdGltYXRlZC1ibG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRhYmxlIHRib2R5IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxtb3N0LXdoaXRlO1xuICB9XG5cbiAgLnNoaXBwaW5nLXRvb2x0aXAge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICAuc3RlcC10aXRsZSB7XG4gICAgQGV4dGVuZCAuaDQ7XG4gIH1cbn1cblxuLm9wYy1lc3RpbWF0ZWQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vcGMtc3VtbWFyeS13cmFwcGVyIC5tb2RhbC1oZWFkZXIgLmFjdGlvbi1jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vcGMtd3JhcHBlciBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ub3BjLXByb2dyZXNzLWJhci1pdGVtLl9hY3RpdmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1NzUwMDtcbiAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG59XG5cbi5vcGMtcHJvZ3Jlc3MtYmFyIHtcbiAgbWFyZ2luOiAycmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogI2NmZDNkYztcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgNjBweCAwIDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcih3aGl0ZSk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0ycHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgYmFja2dyb3VuZDogI2NmZDNkYztcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IC43MjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcxJztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcyJztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWRpdmlkZXIge1xuICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBleHRlbmQgLmg0O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRhbG1vc3Qtd2hpdGU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5jaGVja291dC1zaGlwcGluZy1tZXRob2Qge1xuICAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIHtcbiAgICB0aGVhZCwgdHIucm93IHtcbiAgICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLmNvbnRpbnVlIHtcbiAgICBAZXh0ZW5kIC5jdGEsIC5sYXJnZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vXG4vLyBTdGVwIDIgLy9cbi8vLy8vLy8vLy8vL1xuXG4uY2hlY2tvdXQtY29udGFpbmVyIHtcbiAgYnV0dG9uLmNoZWNrb3V0IHtcbiAgICBAZXh0ZW5kIC5jdGEsIC5sYXJnZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICB9XG59XG5cbi5wYXltZW50LW9wdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IC44NzVyZW07XG5cbiAgJi5kaXNjb3VudC1jb2RlIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICAmLmdpZnRjYXJkYWNjb3VudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICB9XG59XG5cbi5wYXltZW50LW9wdGlvbi10aXRsZSB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDtcbn1cblxuLnBheW1lbnQtbWV0aG9kIHtcbiAgICAuYWR5ZW4tY2hlY2tvdXRfX2NoZWNrYm94X19sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIH1cblxuICAgIC5hZHllbi1jaGVja291dF9fY2hlY2tib3hfX2lucHV0Ky5hZHllbi1jaGVja291dF9fY2hlY2tib3hfX2xhYmVse1xuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWxbZm9yPVwiYWR5ZW5fY2NcIl0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL0FkeWVuX1BheW1lbnQvaW1hZ2VzL2NyZWRpdC1jYXJkcy5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG5cbiAgICBsYWJlbFtmb3I9XCJhZHllbl9zd2lzaFwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL0FkeWVuX1BheW1lbnQvaW1hZ2VzL2xvZ29zL3N3aXNoLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG59XG5cbi50YWJsZS10b3RhbHMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIC50YWJsZS1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy9cbi8vIFN1Y2Nlc3MgLy9cbi8vLy8vLy8vLy8vLy9cblxuLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyB7XG4gIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5wcmludCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtc3VjY2VzcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCIuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIHtcbiAgICAuY2hlY2tvdXQtc3VjY2VzcyxcbiAgICAjcmVnaXN0cmF0aW9ue1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkKDYpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIC5tYWluIHtcbiAgICAgICAgICAgIG1hcmdpbjogMnJlbSAwIDA7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XG5cbiAgICAgICAgfVxuICAgICAgICAuY2hlY2tvdXQtc3VjY2VzcyxcbiAgICAgICAgI3JlZ2lzdHJhdGlvbntcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0byk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtc3VjY2VzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbG1vc3Qtd2hpdGU7XG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWx5YmUoJHN0eWxlOiBob2xsb3cpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3JlZ2lzdHJhdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuICogXHREZWZhdWx0IHRoZW1lIC0gT3dsIENhcm91c2VsIENTUyBGaWxlXG4gKi9cblxuJG93bC1jb2xvci1iYXNlOiAjODY5NzkxICFkZWZhdWx0O1xuJG93bC1jb2xvci13aGl0ZTogI0ZGRiAhZGVmYXVsdDtcbiRvd2wtY29sb3ItZ3JheTogI0Q2RDZENiAhZGVmYXVsdDtcblxuLy9uYXZcblxuJG93bC1uYXYtY29sb3I6ICRvd2wtY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kb3dsLW5hdi1jb2xvci1ob3ZlcjogJG93bC1jb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRvd2wtbmF2LWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcbiRvd2wtbmF2LXJvdW5kZWQ6IDNweCAhZGVmYXVsdDtcbiRvd2wtbmF2LW1hcmdpbjogZmFsc2U7XG4kb3dsLW5hdi1wYWRkaW5nOiBmYWxzZTtcbiRvd2wtbmF2LWJhY2tncm91bmQ6IGZhbHNlO1xuJG93bC1uYXYtYmFja2dyb3VuZC1ob3ZlcjogZmFsc2U7XG4kb3dsLW5hdi1kaXNhYmxlZC1vcGFjaXR5OiAwLjUgIWRlZmF1bHQ7XG5cbi8vZG90c1xuXG4kb3dsLWRvdC13aWR0aDogMTBweCAhZGVmYXVsdDtcbiRvd2wtZG90LWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRvd2wtZG90LXJvdW5kZWQ6IDMwcHggIWRlZmF1bHQ7XG4kb3dsLWRvdC1tYXJnaW46IDVweCA3cHggIWRlZmF1bHQ7XG4kb3dsLWRvdC1iYWNrZ3JvdW5kOiAkb3dsLWNvbG9yLWdyYXkgIWRlZmF1bHQ7XG4kb3dsLWRvdC1iYWNrZ3JvdW5kLWFjdGl2ZTogJG93bC1jb2xvci1iYXNlICFkZWZhdWx0O1xuXG4kb3dsLWltYWdlLXBhdGg6IFwiXCIgIWRlZmF1bHQ7XG5cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcblxuICAgIC5vd2wtc3RhZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi9cbiAgICB9XG5cbiAgICAub3dsLXN0YWdlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIuXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG4gICAgfVxuXG4gICAgLm93bC13cmFwcGVyLFxuICAgIC5vd2wtaXRlbSB7XG4gICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cblxuICAgIC5vd2wtaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICB9XG5cbiAgICAub3dsLWl0ZW0gaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5vd2wtbmF2LmRpc2FibGVkLFxuICAgIC5vd2wtZG90cy5kaXNhYmxlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm93bC1uYXYgLm93bC1wcmV2LFxuICAgIC5vd2wtbmF2IC5vd2wtbmV4dCxcbiAgICAub3dsLWRvdCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcbiAgICAub3dsLW5hdiBidXR0b24ub3dsLW5leHQsXG4gICAgYnV0dG9uLm93bC1kb3Qge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgIH1cblxuICAgICYub3dsLWxvYWRlZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYub3dsLWxvYWRpbmcge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLm93bC1oaWRkZW4ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICYub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgICYub3dsLWRyYWcgLm93bC1pdGVtIHtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAmLm93bC1ncmFiIHtcbiAgICAgICAgY3Vyc29yOiBtb3ZlO1xuICAgICAgICBjdXJzb3I6IGdyYWI7XG4gICAgfVxuXG4gICAgJi5vd2wtcnRsIHtcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgfVxuXG4gICAgJi5vd2wtcnRsIC5vd2wtaXRlbSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCB7XG4gICAgLmFuaW1hdGVkIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgfVxuXG4gICAgLm93bC1hbmltYXRlZC1pbiB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLm93bC1hbmltYXRlZC1vdXQge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5mYWRlT3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG5cbi5vd2wtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2VsIHtcbiAgICAub3dsLWl0ZW0ge1xuICAgICAgICAub3dsLWxhenkge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi9cbiAgICAgICAgLm93bC1sYXp5W3NyY149XCJcIl0sXG4gICAgICAgIC5vd2wtbGF6eTpub3QoW3NyY10pIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcub3dsLWxhenkge1xuICAgICAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLypcbiAqIE93bCBUaGVtZVxuICovXG5cbi5vd2wtdGhlbWUge1xuXG4gICAgLy8gU3R5bGluZyBOZXh0IGFuZCBQcmV2IGJ1dHRvbnNcbiAgICAub3dsLW5hdiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICBbY2xhc3MqPSdvd2wtJ10ge1xuICAgICAgICAgICAgY29sb3I6ICRvd2wtbmF2LWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkb3dsLW5hdi1mb250LXNpemU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC41cmVtO1xuXG4gICAgICAgICAgICBAaWYgJG93bC1uYXYtbWFyZ2luIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRvd2wtbmF2LW1hcmdpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAkb3dsLW5hdi1wYWRkaW5nIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkb3dsLW5hdi1wYWRkaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRvd2wtbmF2LWJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvd2wtbmF2LWJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogJG93bC1uYXYtZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN0eWxpbmcgZG90c1xuICAgIC5vd2wtbmF2LmRpc2FibGVkKy5vd2wtZG90cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgLm93bC1kb3RzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5vd2wtZG90IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHpvb206IDE7XG4gICAgICAgICAgICAqZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJG93bC1kb3Qtd2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkb3dsLWRvdC1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkb3dsLWRvdC1tYXJnaW47XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG93bC1kb3QtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRvd2wtZG90LXJvdW5kZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvd2wtZG90LWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbCB7XG4gICAgLm93bC12aWRlby13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgfVxuXG4gICAgLm93bC12aWRlby1wbGF5LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIiN7JG93bC1pbWFnZS1wYXRofW93bC52aWRlby5wbGF5LnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuICAgIH1cblxuICAgIC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7XG4gICAgfVxuXG4gICAgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG4gICAgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAub3dsLXZpZGVvLXRuIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAub3dsLXZpZGVvLWZyYW1lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8qKlxuKiBOb3RpY2Ugb24gcmVhZGluZyB0aGlzIG92ZXJyaWRlIGZpbGVcbipcbiogVGhlIHNlbGVjdG9yIHNwZWNpZmljaXR5IGluIGBmaXJlY2hlY2tvdXQuY3NzYCBpcyBub3Qgd2VsbCBkb25lXG4qIGl0IGlzIHRvIHNwZWNpZmljLiBUaGlzIG1ha2VzIGl0IHJlYWxseSBoYXJkIHRvIG92ZXJyaWRlIHdpdGhvdXQgY3JlYXRpbmcgaGFyZCB0byByZWFkIFNhc3MuXG4qL1xuLmZpcmVjaGVja291dCB7XG4gICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgICAgQGltcG9ydCAnY2hlY2tvdXQtcGFnZS1oZWFkZXInO1xuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICBAaW1wb3J0ICdjaGVja291dC1wYWdlLWhlYWRlci1yb3cnO1xuICAgIH1cblxuICAgICNjaGVja291dC5jaGVja291dC1jb250YWluZXIge1xuICAgICAgICBAaW1wb3J0ICdjaGVja291dC1jb250aWFuZXInO1xuXG4gICAgICAgIC5jaGVja291dC1zaGlwcGluZy1hZGRyZXNzIHtcbiAgICAgICAgICAgIEBpbXBvcnQgJ2NoZWNrb3V0LXN0ZXAtc2hpcHBpbmctYWRkZXJzcyc7XG4gICAgICAgIH1cblxuICAgICAgICAuY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIHtcbiAgICAgICAgICAgIEBpbXBvcnQgJ2NoZWNrb3V0LXN0ZXAtc2hpcHBpbmctbWV0aG9kJztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVja291dC1wYXltZW50LW1ldGhvZCB7XG4gICAgICAgICAgICBAaW1wb3J0ICdjaGVja291dC1zdGVwLXBheW1lbnQtbWV0aG9kJztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVja291dC1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICAgICAgQGltcG9ydCAnY2hlY2tvdXQtYmlsbGluZy1hZGRyZXNzJztcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcGMtc3VtbWFyeS13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbXBvcnQgJ2NoZWNrb3V0LXN1bW1hcnknO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvbnRpbnVlLXNob3BwaW5nIHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnM7XG4gICAgfVxufVxuXG4ubmF2LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhlYWRlci5jb250ZW50IC5sb2dvIHtcbiAgICBpbWcge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgLmxvZ28tdGV4dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1cHgpO1xuICAgIH1cbn1cbiIsIi8vIFRoZSBsb2dpbiBidXR0b24gaXMgcmVhcnJhbmdlZCBpbiBsYXlvdXQgd2hpbGUgbG9hZGluZyB0aGUgY2hlY2tvdXQgcGFnZVxuLy8gd2hpY2ggcHJvdm9rZXMgZmxhc2ggb2YgY29udGVudCBoZW5jZSB0aGUgQGF0LXJvb3RcbkBhdC1yb290IHtcbiAgICAuYXV0aGVudGljYXRpb24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiJjphZnRlciB7XG4gICAgY29udGVudDogXCIuXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweCAhaW1wb3J0YW50O1xufVxuXG4ucXR5LXdyYXBwZXIgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLFxuLmNoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MsXG4uY2hlY2tvdXQtcGF5bWVudC1tZXRob2QsXG4ub3BjLXN1bW1hcnktd3JhcHBlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheSAhaW1wb3J0YW50O1xufVxuXG4udGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLFxudGJvZHksXG4uc2hpcHBpbmctYWRkcmVzcy1pdGVtLFxuLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCAucm93IHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnN0ZXAtdGl0bGUge1xuICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcihwcmltYXJ5KTtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG4ub3BjLXdyYXBwZXIgLnN0ZXAtdGl0bGUsXG4ub3BjLXN1bW1hcnktd3JhcHBlciAub3BjLWJsb2NrLXN1bW1hcnkgPiAudGl0bGUsXG4ub3BjLXNpZGViYXIgLnN0ZXAtdGl0bGUge1xuICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcihwcmltYXJ5KTtcbiAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uc2hpcHBpbmctYWRkcmVzcy1pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xufVxuXG5AYXQtcm9vdCB7XG4gICAgLmZpZWxkLXRvb2x0aXAgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4ub3BjLXdyYXBwZXIgLnN0ZXAtdGl0bGUsXG4ub3BjLWJsb2NrLXN1bW1hcnkgLnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuIiwiLy8gRHVlIHRvIGNvbmZpZ3VyYWJpbGl0eTpcbi8vIFRoZSBsYXlvdXQgb2YgdGhlIHNoaXBwaW5nIGFkZHJlc3Mgc2VjdGlvbiB2YXJpZXMgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIGN1c3RvbWVyXG4vLyBoYXMgYW4gYWRkcmVzcyBwcmVmaWxsZWQgb3Igbm90IGhlbmNlIHRoaXMgY29tcGxleCBzZWxlY3Rvci5cbi5zdGVwLWNvbnRlbnQgPiAqICsgLmZvcm0tc2hpcHBpbmctYWRkcmVzcyB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4uc2hpcHBpbmctYWRkcmVzcy1pdGVtcyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAvLyByZXNldFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNoaXBwaW5nLWFkZHJlc3MtaXRlbSB7XG4gICAgICAgIEBleHRlbmQgLmNhcmQ7XG4gICAgICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLy8gb3ZlcnJpZGUgZGVlcCBzZWxlY3RvciBvZiBGaXJlIENoZWNrb3V0XG4gICAgICAgIG1hcmdpbjogMS4yNXJlbSAwO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcblxuICAgICAgICAmLnNlbGVjdGVkLWl0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShnZXQtY29sb3IocHJpbWFyeSksIDAuMDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3RlZC1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAuc2hpcHBpbmctYWRkcmVzcy1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY3Rpb24tc2VsZWN0LXNoaXBwaW5nLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRleHBhbmQ6IHRydWUsICRzdHlsZTogaG9sbG93KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG59XG5cbmJ1dHRvbi5mYy1jb21wYWN0LWFkZHJlc3MtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24tbHliZSgkZXhwYW5kOiB0cnVlKTtcbn1cblxuYnV0dG9uLmVkaXQtYWRkcmVzcy1saW5rIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmFjdGlvbi1zaG93LXBvcHVwIHtcbiAgIEBpbmNsdWRlIGJ1dHRvbi1seWJlKCRleHBhbmQ6IHRydWUpO1xufVxuIiwiLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuIiwiLnBheW1lbnQtbWV0aG9kLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGF5bWVudC1pY29uIHtcbiAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg0MHB4KTtcbn1cblxuLnBheW1lbnQtbWV0aG9kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGdldC1jb2xvcihwcmltYXJ5KSwgMC4wNik7XG4gICAgcGFkZGluZzogMXJlbSAwLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuXG4gICAgbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbi5kaXNjb3VudC1jb2RlIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgLmZpZWxkIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBpbnB1dCNkaXNjb3VudC1jb2RlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgIH1cbn1cbiIsImlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xuXG4gICAgLmV4dHJhLWluZm9ybWF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgfVxufVxuIiwiLm9wYy1zdW1tYXJ5LXdyYXBwZXIgLm9wYy1ibG9jay1zdW1tYXJ5ID4gLnRpdGxlIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDY1cHgpO1xufVxuXG4uaXRlbXMtaW4tY2FydCA+IC5taW5pY2FydC1pdGVtczo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmdyYW5kLnRvdGFscyB7XG4gICAgdGgsIHRkIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbn1cblxuLm9wYy1zdW1tYXJ5LXdyYXBwZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbG1vc3Qtd2hpdGU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG50ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxudGJvZHkgdGgsIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMCAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbnRhYmxlIHRib2R5IHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi50b3RhbHMsXG4udG90YWxzLXRheCB7XG4gICAgLm1hcmsge1xuICAgIH1cblxuICAgIC5hbW91bnQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi5ncmFuZC50b3RhbHMgdGgsXG4uZ3JhbmQudG90YWxzIHRkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuXG4uZ3JhbmQudG90YWxzIC5wcmljZSB7XG4gICAgY29sb3I6ICRjb2xvci1vcmFuZ2U7XG59XG5cbi5pdGVtcy1pbi1jYXJ0IHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLmNvbGxhcHNpYmxlX190aXRsZTphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAgIGRpdiA+IHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1pbmljYXJ0LWl0ZW1zIHtcbiAgICBAaW1wb3J0ICdjaGVja291dC1taW5pY2FydC1wcm9kdWN0LWl0ZW0nO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5zZWxlY3Qtc2NvdXRncm91cC1mb3JtIHtcbiAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuICAgIC5zdWJzY3JpcHRpb24ge1xuICAgICAgICAuZmMtZmllbGQtY2hvaWNlIHtcbiAgICAgICAgICAgIFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoM3B4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFiZWwubGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcm9kdWN0LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG4ucHJvZHVjdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogMC43NXJlbTtcbn1cblxuLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgICBpbWcge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWl0ZW0taW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICBnYXA6IDAuMjVyZW07XG5cbiAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDM7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpO1xuICAgIH1cblxuICAgIC5kZXRhaWxzLXF0eSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVtb3ZlLWl0ZW0ge1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1YnRvdGFsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzcHgpO1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1vcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBoaWRlIGJ1aWx0IHVuLXN0eWxlLWFibGUgc2hhZG93IGVsZW1lbnRzXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIl19 */
