@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.3.0
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*@import 'typography/fontface';

@include fontFace ('BreveText', '/css/fonts/v1/breve-text-web/medium/BreveText-Medium', normal, normal);
@include fontFace ('BreveText', '/css/fonts/v1/breve-text-web/medium/BreveText-MediumItalic', italic, normal);
@include fontFace ('BreveText', '/css/fonts/v1/breve-text-web/bold/BreveText-Bold', normal, bold);
@include fontFace ('BreveText', '/css/fonts/v1/breve-text-web/bold/BreveText-BoldItalic', italic, bold);

// Navigation Font
@include fontFace ('BreveSans', '/css/fonts/v1/breve-sans-text-web/book/BreveSansText-Book', normal, 500);
@include fontFace ('BreveSans', '/css/fonts/v1/breve-sans-text-web/BreveSansText-Medium', normal, 600);
@include fontFace ('BreveSans', '/css/fonts/v1/breve-sans-text-web/BreveSansText-Black', normal, 800);

// Headline Font
@include fontFace ('BreveSlabTitle', '/css/fonts/v1/breve-slab-title-web/light/BreveSlabTitle-Light', normal, 300);
@include fontFace ('BreveSlabTitle', '/css/fonts/v1/breve-slab-title-web/light/BreveSlabTitle-LightItalic', italic, 300);
@include fontFace ('BreveSlabTitle', '/css/fonts/v1/breve-slab-title-web/bold/BreveSlabTitle-Bold', normal, 700);
@include fontFace ('BreveSlabTitle', '/css/fonts/v1/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic', italic, 700);
@include fontFace ('BreveSlabTitle', '/css/fonts/v1/breve-slab-title-web/black/BreveSlabTitle-Black', normal, 800);
@include fontFace ('BreveSlabTitle', '/css/fonts/v1/breve-slab-title-web/black/BreveSlabTitle-BlackItalic', italic, 800);

//Call to Action Font
@include fontFace ('Acto', '/css/fonts/v1/acto-web/black/Acto-Black', normal, 800);
*/
@font-face {
  font-family: "BreveText";
  src: url("fonts/breve-text-web/medium/BreveText-Medium.eot");
  src: url("fonts/breve-text-web/medium/BreveText-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/breve-text-web/medium/BreveText-Medium.woff") format("woff"), url("fonts/breve-text-web/medium/BreveText-Medium.ttf") format("truetype"), url("fonts/breve-text-web/medium/BreveText-Medium.svg#BreveText") format("svg");
  font-style: normal;
  font-weight: normal; }

@font-face {
  font-family: "BreveText";
  src: url("fonts/breve-text-web/medium/BreveText-MediumItalic.eot");
  src: url("fonts/breve-text-web/medium/BreveText-MediumItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-text-web/medium/BreveText-MediumItalic.woff") format("woff"), url("fonts/breve-text-web/medium/BreveText-MediumItalic.ttf") format("truetype"), url("fonts/breve-text-web/medium/BreveText-MediumItalic.svg#BreveText") format("svg");
  font-style: italic;
  font-weight: normal; }

@font-face {
  font-family: "BreveText";
  src: url("fonts/breve-text-web/bold/BreveText-Bold.eot");
  src: url("fonts/breve-text-web/bold/BreveText-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/breve-text-web/bold/BreveText-Bold.woff") format("woff"), url("fonts/breve-text-web/bold/BreveText-Bold.ttf") format("truetype"), url("fonts/breve-text-web/bold/BreveText-Bold.svg#BreveText") format("svg");
  font-style: normal;
  font-weight: bold; }

@font-face {
  font-family: "BreveText";
  src: url("fonts/breve-text-web/bold/BreveText-BoldItalic.eot");
  src: url("fonts/breve-text-web/bold/BreveText-BoldItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-text-web/bold/BreveText-BoldItalic.woff") format("woff"), url("fonts/breve-text-web/bold/BreveText-BoldItalic.ttf") format("truetype"), url("fonts/breve-text-web/bold/BreveText-BoldItalic.svg#BreveText") format("svg");
  font-style: italic;
  font-weight: bold; }

@font-face {
  font-family: "BreveSans";
  src: url("fonts/breve-sans-text-web/book/BreveSansText-Book.eot");
  src: url("fonts/breve-sans-text-web/book/BreveSansText-Book.eot?#iefix") format("embedded-opentype"), url("fonts/breve-sans-text-web/book/BreveSansText-Book.woff") format("woff"), url("fonts/breve-sans-text-web/book/BreveSansText-Book.ttf") format("truetype"), url("fonts/breve-sans-text-web/book/BreveSansText-Book.svg#BreveSans") format("svg");
  font-style: normal;
  font-weight: 500; }

@font-face {
  font-family: "BreveSans";
  src: url("fonts/breve-sans-text-web/medium/BreveSansText-Medium.eot");
  src: url("fonts/breve-sans-text-web/medium/BreveSansText-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/breve-sans-text-web/medium/BreveSansText-Medium.woff") format("woff"), url("fonts/breve-sans-text-web/medium/BreveSansText-Medium.ttf") format("truetype"), url("fonts/breve-sans-text-web/medium/BreveSansText-Medium.svg#BreveSans") format("svg");
  font-style: normal;
  font-weight: 600; }

@font-face {
  font-family: "BreveSans";
  src: url("fonts/breve-sans-text-web/black/BreveSansText-Black.eot");
  src: url("fonts/breve-sans-text-web/black/BreveSansText-Black.eot?#iefix") format("embedded-opentype"), url("fonts/breve-sans-text-web/black/BreveSansText-Black.woff") format("woff"), url("fonts/breve-sans-text-web/black/BreveSansText-Black.ttf") format("truetype"), url("fonts/breve-sans-text-web/black/BreveSansText-Black.svg#BreveSans") format("svg");
  font-style: normal;
  font-weight: 800; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/book/BreveSlabTitle-Book.eot");
  src: url("fonts/breve-slab-title-web/book/BreveSlabTitle-Book.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-Book.woff") format("woff"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-Book.ttf") format("truetype"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-Book.svg#BreveSlabTitle") format("svg");
  font-style: normal;
  font-weight: 500; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/book/BreveSlabTitle-BookItalic.eot");
  src: url("fonts/breve-slab-title-web/book/BreveSlabTitle-BookItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-BookItalic.woff") format("woff"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-BookItalic.ttf") format("truetype"), url("fonts/breve-slab-title-web/book/BreveSlabTitle-BookItalic.svg#BreveSlabTitle") format("svg");
  font-style: italic;
  font-weight: 500; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/bold/BreveSlabTitle-Bold.eot");
  src: url("fonts/breve-slab-title-web/bold/BreveSlabTitle-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-Bold.woff") format("woff"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-Bold.ttf") format("truetype"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-Bold.svg#BreveSlabTitle") format("svg");
  font-style: normal;
  font-weight: 700; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic.eot");
  src: url("fonts/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic.woff") format("woff"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic.ttf") format("truetype"), url("fonts/breve-slab-title-web/bold/BreveSlabTitle-BoldItalic.svg#BreveSlabTitle") format("svg");
  font-style: italic;
  font-weight: 700; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/black/BreveSlabTitle-Black.eot");
  src: url("fonts/breve-slab-title-web/black/BreveSlabTitle-Black.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-Black.woff") format("woff"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-Black.ttf") format("truetype"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-Black.svg#BreveSlabTitle") format("svg");
  font-style: normal;
  font-weight: 800; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/black/BreveSlabTitle-BlackItalic.eot");
  src: url("fonts/breve-slab-title-web/black/BreveSlabTitle-BlackItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-BlackItalic.woff") format("woff"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-BlackItalic.ttf") format("truetype"), url("fonts/breve-slab-title-web/black/BreveSlabTitle-BlackItalic.svg#BreveSlabTitle") format("svg");
  font-style: italic;
  font-weight: 800; }

@font-face {
  font-family: "Acto";
  src: url("fonts/acto-web/black/Acto-Black.eot");
  src: url("fonts/acto-web/black/Acto-Black.eot?#iefix") format("embedded-opentype"), url("fonts/acto-web/black/Acto-Black.woff") format("woff"), url("fonts/acto-web/black/Acto-Black.ttf") format("truetype"), url("fonts/acto-web/black/Acto-Black.svg#Acto") format("svg");
  font-style: normal;
  font-weight: 800; }

@font-face {
  font-family: "BreveSlabTitle";
  src: url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.eot");
  src: url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.eot?#iefix") format("embedded-opentype"), url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.woff") format("woff"), url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.ttf") format("truetype"), url("fonts/breve-slab-title-web/thin/BreveSlabTitle-Thin.svg#BreveSlabTitle") format("svg");
  font-style: normal;
  font-weight: 300; }

@font-face {
  font-family: "BreveDisplay";
  src: url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.eot");
  src: url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.eot?#iefix") format("embedded-opentype"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.woff") format("woff"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.ttf") format("truetype"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.svg#BreveDisplay") format("svg");
  font-style: normal;
  font-weight: bold; }

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

/*! 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 {
  -webkit-box-sizing: content-box;
          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"] {
  -webkit-box-sizing: border-box;
          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 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

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

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

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

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

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

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

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

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

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

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 18px; }

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "BreveSans", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #525252;
  -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 {
  width: 100%;
  border-radius: 0; }

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

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

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

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

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

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

.column.row.row, .row.row.columns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

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

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

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

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

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

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

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

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 48em) {
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

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

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

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

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

@media screen and (min-width: 64em) {
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

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

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

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

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

@media screen and (min-width: 75em) {
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

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

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

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

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

@media screen and (min-width: 90em) {
  .xxlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .xxlarge-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; } }

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

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

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

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

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

.align-justify {
  -webkit-box-pack: 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-top {
  -webkit-box-align: start;
  -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-box-align: end;
  -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-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

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

.align-stretch {
  -webkit-box-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;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "BreveSlabTitle", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: #18161f;
  text-rendering: optimizeLegibility; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    line-height: 0;
    color: #cacaca; }

h1 {
  font-size: 2.11111rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2 {
  font-size: 1.77778rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3 {
  font-size: 1.55556rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4 {
  font-size: 1.44444rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5 {
  font-size: 1.22222rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6 {
  font-size: 1.11111rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media screen and (min-width: 48em) {
  h1 {
    font-size: 2.77778rem; }
  h2 {
    font-size: 2rem; }
  h3 {
    font-size: 1.77778rem; }
  h4 {
    font-size: 1.55556rem; }
  h5 {
    font-size: 1.33333rem; }
  h6 {
    font-size: 1.22222rem; } }

@media screen and (min-width: 64em) {
  h1 {
    font-size: 3.11111rem; }
  h2 {
    font-size: 2.11111rem; }
  h3 {
    font-size: 1.88889rem; }
  h4 {
    font-size: 1.55556rem; }
  h5 {
    font-size: 1.33333rem; }
  h6 {
    font-size: 1.22222rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 66.66667rem;
  height: 0;
  margin: 0 auto 2.22222rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 2px solid #d1d1d2;
  border-left: 0; }

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

li {
  font-size: inherit; }

ul {
  margin-left: 15px;
  list-style-type: disc; }

ol {
  margin-left: 15px; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 1.55556rem 2.22222rem 1.55556rem 2.22222rem;
  border-left: 0 none; }
  blockquote, blockquote p {
    line-height: 28px;
    color: #18171e; }

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

abbr {
  border-bottom: 1px dotted #0a0a0a;
  color: #525252;
  cursor: help; }

figure {
  margin: 0; }

code {
  padding: 0.11111rem 0.27778rem 0.05556rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: "BreveSlabTitle", sans-serif;
  font-weight: normal;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.11111rem 0.22222rem 0;
  background-color: #e6e6e6;
  font-family: "BreveSlabTitle", sans-serif;
  color: #0a0a0a; }

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

.lead {
  font-size: 22.5px;
  line-height: 1.6; }

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

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

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

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

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

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

@media screen and (min-width: 48em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

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

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 1.22222rem;
  font-weight: bold;
  line-height: 1.8;
  color: #18161f; }
  label.middle {
    margin: 0 0 0.88889rem;
    padding: 0.5rem 0; }

.help-text {
  margin-top: -0.44444rem;
  font-size: 0.72222rem;
  font-style: italic;
  color: #525252; }

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

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #525252;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -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-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

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

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

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

.fieldset {
  margin: 1rem 0;
  padding: 1.11111rem;
  border: 1px solid #d1d1d2; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.16667rem;
    padding: 0 0.16667rem;
    background: #fefefe; }

select {
  height: 2.16667rem;
  margin: 0 0 0.88889rem;
  padding: 0.44444rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: "BreveSans", sans-serif;
  font-size: 0.88889rem;
  line-height: normal;
  color: #525252;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -0.88889rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.33333rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

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

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #fefefe; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #fefefe; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 0 none;
  border-bottom: 0;
  font-size: 1.33333rem;
  line-height: 1;
  color: #525252; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 0 none;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #81796f; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '–'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 0 none;
  border-bottom: 0;
  background-color: #f9f9f9;
  color: #525252; }
  :last-child > .accordion-content:last-child {
    border-bottom: 0 none; }

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

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

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

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.61111rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      top: 1px;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #1779ba; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -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-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
      -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 screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 47.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #525252; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #525252; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #525252; }
  .callout.success {
    background-color: #e1faea;
    color: #525252; }
  .callout.warning {
    background-color: #fff3d9;
    color: #525252; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #525252; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #525252; }
  .card > :last-child {
    margin-bottom: 0; }

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

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

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

.menu {
  margin: 0;
  list-style-type: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%; }
  .menu > li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu > li > a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu > li > a img,
    .menu > li > a i,
    .menu > li > a svg {
      margin-right: 0.25rem; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }
    .menu > li, .menu.horizontal > li {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
  .menu.expanded > li {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.expanded > li:first-child:last-child {
    width: 100%; }
  .menu.vertical {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .menu.vertical > li {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
    .menu.vertical > li > a {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start; }
  @media screen and (min-width: 48em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.medium-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.medium-expanded > li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-expanded > li:first-child:last-child {
      width: 100%; }
    .menu.medium-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.medium-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.medium-vertical > li > a {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start; } }
  @media screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.large-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.large-expanded > li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-expanded > li:first-child:last-child {
      width: 100%; }
    .menu.large-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.large-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.large-vertical > li > a {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start; } }
  @media screen and (min-width: 75em) {
    .menu.xlarge-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.xlarge-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.xlarge-expanded > li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-expanded > li:first-child:last-child {
      width: 100%; }
    .menu.xlarge-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.xlarge-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.xlarge-vertical > li > a {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.xxlarge-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.xxlarge-expanded > li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xxlarge-expanded > li:first-child:last-child {
      width: 100%; }
    .menu.xxlarge-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.xxlarge-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.xxlarge-vertical > li > a {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start; } }
  .menu.simple li {
    display: inline-block;
    margin-right: 1rem;
    line-height: 1; }
  .menu.simple a {
    padding: 0; }
  .menu.align-right {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .menu.icon-top > li > a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-top.vertical a > span {
    margin: auto; }
  .menu.nested {
    margin-left: 1rem; }
  .menu .active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu.menu-bordered li {
    border: 1px solid #e6e6e6; }
    .menu.menu-bordered li:not(:first-child) {
      border-top: 0; }
  .menu.menu-hover li:hover {
    background-color: #e6e6e6; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.dropdown-pane.large {
  width: 400px; }

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

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

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

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

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

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

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

@media screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media 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-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 90em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

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

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .is-dropdown-submenu .is-dropdown-submenu {
    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: 0.88889rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video, .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen, .flex-video.widescreen {
    padding-bottom: 56.25%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: -webkit-box;
  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: 47.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 47.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-box-flex: 0;
  -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-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

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

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

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

.off-canvas {
  position: fixed;
  z-index: 1;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #98012e; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-overlap {
    z-index: 10; }
    .off-canvas.is-transition-overlap.is-open {
      -webkit-box-shadow: none;
              box-shadow: none; }
  .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: 1;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #98012e; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 10; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      -webkit-box-shadow: none;
              box-shadow: none; }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

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

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

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

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

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

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

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

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 772px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 772px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 772px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 772px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 772px; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 772px; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 772px; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 772px; } }

.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: 11px 11px 35px;
  background-color: rgba(10, 10, 10, 0.65);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 10px 0px;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

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

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

.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-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.55556rem;
    border-radius: 0;
    font-size: 1rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    .pagination li.current {
      display: inline-block; }
    @media screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.16667rem 0.33333rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: transparent; }
  .pagination .current {
    padding: 0.16667rem 0.33333rem;
    background: transparent;
    color: #98012e;
    cursor: default; }
  .pagination .disabled {
    padding: 0.16667rem 0.33333rem;
    color: #ecf0f3;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.16667rem 0.33333rem;
    content: '\2026';
    color: #18161f; }

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

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

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

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

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

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

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

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead, tbody, tfoot {
    border: 0 none;
    background-color: #fefefe; }
  caption {
    padding: 0.83333rem 1.11111rem 0.83333rem;
    font-weight: bold; }
  thead {
    background: #81796f;
    color: #fefefe; }
  tfoot {
    background: #f1f1f1;
    color: #525252; }
  thead tr, tfoot tr {
    background: transparent; }
  thead th, thead td, tfoot th, tfoot td {
    padding: 0.83333rem 1.11111rem 0.83333rem;
    font-weight: bold;
    text-align: left; }
  tbody th, tbody td {
    padding: 0.83333rem 1.11111rem 0.83333rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f9f9f9; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 0 none;
      background-color: #fefefe; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.tabs-panel {
  display: none;
  padding: 40 52px; }
  .tabs-panel[aria-hidden="false"] {
    display: block; }

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

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

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -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-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

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

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

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

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

.top-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #fefefe; }
  .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-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media screen and (min-width: 48em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto; }
      .top-bar .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-box-flex: 0;
        -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-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 118.6875em) {
    .top-bar.stacked-for-xxlarge {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-xxlarge .top-bar-left,
      .top-bar.stacked-for-xxlarge .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -webkit-box-flex: 0;
  -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-box-flex: 0;
  -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: 47.9375em) {
  .hide-for-small-only {
    display: none !important; } }

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

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

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

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

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

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

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

@media screen and (min-width: 64em) and (max-width: 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; } }

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

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

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

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

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

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

@media screen and (min-width: 90em) and (max-width: 118.6875em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#main-content h1 {
  font-weight: 800;
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 33px; }
  #main-content h1 > .socialHeader {
    width: 49%;
    display: inline-block; }
    #main-content h1 > .socialHeader:nth-child(2) {
      text-align: right;
      padding-right: 10%; }
  @media screen and (max-width: 47.9375em) {
    #main-content h1 {
      padding-bottom: 33px; }
      #main-content h1 > .socialHeader {
        with: 100%; }
        #main-content h1 > .socialHeader:nth-child(2) {
          text-align: left; } }
  #main-content h1:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 8px;
    width: 85px;
    background-color: #18171e; }

#main-content .intro {
  font-family: "BreveText", sans-serif;
  font-size: 20px; }
  #main-content .intro, #main-content .intro p {
    line-height: 32px; }
  @media screen and (max-width: 74.9375em) {
    #main-content .intro {
      font-size: 18px; }
      #main-content .intro, #main-content .intro p {
        line-height: 28px; } }
  @media screen and (max-width: 47.9375em) {
    #main-content .intro {
      font-size: 17px; }
      #main-content .intro, #main-content .intro p {
        line-height: 26px; } }

#main-content ul li {
  position: relative;
  list-style-type: none; }
  #main-content ul li:before {
    content: "";
    height: 5px;
    width: 5px;
    position: absolute;
    left: -13px;
    background-color: #bcbcbc;
    top: 11px; }

#main-content ul.list-of-facts li:before {
  background-color: transparent;
  height: 0px;
  width: 0px; }

h1 {
  font-weight: 800; }

h2 {
  margin-bottom: 18px; }

h3,
h5 {
  font-weight: 700; }

h2.btm-divider, h3.btm-divider, h4.btm-divider, h5.btm-divider, h6.btm-divider {
  position: relative;
  padding-bottom: 26px;
  margin-bottom: 34px; }
  h2.btm-divider:after, h3.btm-divider:after, h4.btm-divider:after, h5.btm-divider:after, h6.btm-divider:after {
    content: "";
    height: 6px;
    background-color: #18171e;
    width: 77px;
    position: absolute;
    bottom: 0;
    left: 0; }
  h2.btm-divider.text-right:after, h3.btm-divider.text-right:after, h4.btm-divider.text-right:after, h5.btm-divider.text-right:after, h6.btm-divider.text-right:after {
    right: 0;
    left: auto; }
  h2.btm-divider.text-center:after, h3.btm-divider.text-center:after, h4.btm-divider.text-center:after, h5.btm-divider.text-center:after, h6.btm-divider.text-center:after {
    left: 50%;
    margin-left: -38.5px; }

h2.top-divider, h3.top-divider, h4.top-divider, h5.top-divider, h6.top-divider {
  position: relative;
  padding-top: 26px;
  margin-top: 34px; }
  h2.top-divider:before, h3.top-divider:before, h4.top-divider:before, h5.top-divider:before, h6.top-divider:before {
    content: "";
    height: 6px;
    background-color: #18171e;
    width: 77px;
    position: absolute;
    top: 0;
    left: 0; }
  h2.top-divider.text-right:before, h3.top-divider.text-right:before, h4.top-divider.text-right:before, h5.top-divider.text-right:before, h6.top-divider.text-right:before {
    right: 0;
    left: auto; }
  h2.top-divider.text-center:before, h3.top-divider.text-center:before, h4.top-divider.text-center:before, h5.top-divider.text-center:before, h6.top-divider.text-center:before {
    left: 50%;
    margin-left: -38.5px; }

a {
  color: #2090ac;
  text-decoration: underline; }
  a:hover, a:focus {
    color: #05637b; }
  a,
  a > * {
    -webkit-transition: color .3s, background-color .3s;
    transition: color .3s, background-color .3s; }

ul {
  margin-left: 0; }
  ul li {
    margin-left: 15px; }

table {
  border-collapse: collapse;
  border-bottom: 2px solid #d1d1d2; }
  table.table--full-width {
    width: 100%; }
  table thead {
    border-bottom: 2px solid #6b655d; }
    table thead th {
      font-size: 18px; }
    table thead th + th {
      border-left: 1px solid #d1d1d2; }
  table th,
  table td {
    text-align: left; }
  table td {
    font-size: 16px; }
    table td + td {
      border-left: 1px solid #d1d1d2; }

.table-scroll {
  position: relative;
  overflow: hidden !important; }
  .table-scroll .table-scroll__wrapper {
    overflow-x: auto; }
    .table-scroll .table-scroll__wrapper > table td {
      min-width: 160px !important; }
  .table-scroll.active.table-scroll--shadow-right:after, .table-scroll.active.table-scroll--shadow-left:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 18px;
    width: 200px;
    pointer-events: none; }
    @media screen and (max-width: 47.9375em) {
      .table-scroll.active.table-scroll--shadow-right:after, .table-scroll.active.table-scroll--shadow-left:before {
        width: 50px; } }
  .table-scroll.active.table-scroll--shadow-right:after {
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(white));
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 );
    right: 0;
    left: unset; }
  .table-scroll.active.table-scroll--shadow-left:before {
    background: -webkit-gradient(linear, left top, right top, from(white), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 );
    left: 0; }

.add-this {
  margin: 20px 0; }

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

/*
   Animation example, for spinners
*/
.animate-spin {
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
  display: inline-block; }

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

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

/*
   End of Animation example
*/
/* Including for fallback purposes  */
.du-icon-right-arrow:before {
  content: '\e800'; }

/* '' */
.du-icon-left-arrow:before {
  content: '\e801'; }

/* '' */
.du-icon-up-arrow:before {
  content: '\e802'; }

/* '' */
.du-icon-down-arrow:before {
  content: '\e803'; }

/* '' */
.du-icon-cust-menu:before {
  content: '\e804'; }

/* '' */
.du-icon-cust-close:before {
  content: '\e805'; }

/* '' */
.du-icon-cust-search:before {
  content: '\e806'; }

/* '' */
.du-icon-check:before {
  content: '\e807'; }

/* '' */
.du-icon-minus:before {
  content: '\e808'; }

/* '' */
.du-icon-plus:before {
  content: '\e809'; }

/* '' */
.du-icon-cust-clipboard:before {
  content: '\e80a'; }

/* '' */
.du-icon-cust-right-arrow:before {
  content: '\e80b'; }

/* '' */
.du-icon-cust-left-arrow:before {
  content: '\e80c'; }

/* '' */
.du-icon-play-circled2:before {
  content: '\e80d'; }

/* '' */
.du-icon-pause-circled:before {
  content: '\e80e'; }

/* '' */
.du-icon-play-circled:before {
  content: '\e80f'; }

/* '' */
.du-icon-attention-circled:before {
  content: '\e810'; }

/* '' */
.du-icon-location:before {
  content: '\e811'; }

/* '' */
.du-icon-mail:before {
  content: '\e812'; }

/* '' */
.du-icon-phone:before {
  content: '\e813'; }

/* '' */
.du-icon-clock:before {
  content: '\e814'; }

/* '' */
.du-icon-globe:before {
  content: '\e815'; }

/* '' */
.du-icon-twitter:before {
  content: '\f099'; }

/* '' */
.du-icon-facebook:before {
  content: '\f09a'; }

/* '' */
.du-icon-gplus:before {
  content: '\f0d5'; }

/* '' */
.du-icon-linkedin:before {
  content: '\f0e1'; }

/* '' */
.du-icon-youtube:before {
  content: '\f167'; }

/* '' */
.du-icon-instagram:before {
  content: '\f16d'; }

/* '' */
.du-icon-tumblr:before {
  content: '\f173'; }

/* '' */
.du-icon-fax:before {
  content: '\f1ac'; }

/* '' */
.du-icon-rebel:before {
  content: '\f1d0'; }

/* '' */
.du-icon-snapchat:before {
  content: '\f2ac'; }

/* '' */
/* Including for fallback purposes */
.icon-du-right-arrow:before {
  content: '\e800'; }

/* '' */
.icon-du-left-arrow:before {
  content: '\e801'; }

/* '' */
.icon-du-up-arrow:before {
  content: '\e802'; }

/* '' */
.icon-du-down-arrow:before {
  content: '\e803'; }

/* '' */
.icon-du-cust-menu:before {
  content: '\e804'; }

/* '' */
.icon-du-cust-close:before {
  content: '\e805'; }

/* '' */
.icon-du-cust-search:before {
  content: '\e806'; }

/* '' */
.icon-du-check:before {
  content: '\e807'; }

/* '' */
.icon-du-minus:before {
  content: '\e808'; }

/* '' */
.icon-du-plus:before {
  content: '\e809'; }

/* '' */
.icon-du-cust-clipboard:before {
  content: '\e80a'; }

/* '' */
.icon-du-cust-right-arrow:before {
  content: '\e80b'; }

/* '' */
.icon-du-cust-left-arrow:before {
  content: '\e80c'; }

/* '' */
.icon-du-play-circled2:before {
  content: '\e80d'; }

/* '' */
.icon-du-pause-circled:before {
  content: '\e80e'; }

/* '' */
.icon-du-play-circled:before {
  content: '\e80f'; }

/* '' */
.icon-du-attention-circled:before {
  content: '\e810'; }

/* '' */
.icon-du-print:before {
  content: '\e811'; }

/* '' */
.icon-du-mail:before {
  content: '\e812'; }

/* '' */
.icon-du-phone:before {
  content: '\e813'; }

/* '' */
.icon-du-clock:before {
  content: '\e814'; }

/* '' */
.icon-du-globe:before {
  content: '\e815'; }

/* '' */
.icon-du-location:before {
  content: '\e816'; }

/* '' */
.icon-du-info-circled:before {
  content: '\e817'; }

/* '' */
.icon-du-logout:before {
  content: '\e818'; }

/* '' */
.icon-du-block:before {
  content: '\e819'; }

/* '' */
.icon-calendar:before {
  content: '\e81a'; }

/* '' */
.icon-du-spin3:before {
  content: '\e832'; }

/* '' */
.icon-du-twitter:before {
  content: '\f099'; }

/* '' */
.icon-du-facebook:before {
  content: '\f09a'; }

/* '' */
.icon-du-gplus:before {
  content: '\f0d5'; }

/* '' */
.icon-du-mail-alt:before {
  content: '\f0e0'; }

/* '' */
.icon-du-linkedin:before {
  content: '\f0e1'; }

/* '' */
.icon-du-calendar-empty:before {
  content: '\f133'; }

/* '' */
.icon-du-link-ext-alt:before {
  content: '\f14c'; }

/* '' */
.icon-du-youtube:before {
  content: '\f167'; }

/* '' */
.icon-du-instagram:before {
  content: '\f16d'; }

/* '' */
.icon-du-tumblr:before {
  content: '\f173'; }

/* '' */
.icon-du-fax:before {
  content: '\f1ac'; }

/* '' */
.icon-du-rebel:before {
  content: '\f1d0'; }

/* '' */
.icon-du-newspaper:before {
  content: '\f1ea'; }

/* '' */
.icon-du-calendar-plus-o:before {
  content: '\f271'; }

/* '' */
.icon-du-snapchat:before {
  content: '\f2ac'; }

/* '' */
@media screen {
  header {
    position: relative; }
    header #top-bar-sticky-wrap {
      z-index: 5;
      width: 100%; }
      header #top-bar-sticky-wrap,
      header #top-bar-sticky-wrap * {
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease; }
    header #main-menu-wrap {
      position: relative;
      background-color: white;
      height: 80px;
      width: 100%;
      margin-left: auto;
      margin-right: auto; } }
    @media screen and (max-width: 600px) {
      header #main-menu-wrap {
        height: 60px; }
        header #main-menu-wrap #main-menu {
          top: 60px !important; } }

@media screen {
      header #main-menu-wrap a.logo {
        position: relative;
        width: 225px;
        height: 84px;
        display: block;
        margin-left: 80px; }
        header #main-menu-wrap a.logo > span {
          position: absolute;
          top: -10px;
          z-index: 3; }
          header #main-menu-wrap a.logo > span > img {
            float: left; } }
      @media screen and (min-width: 1024px) and (max-width: 1100px) {
        header #main-menu-wrap a.logo {
          margin-left: 30px; } }
      @media screen and (max-width: 47.9375em) {
        header #main-menu-wrap a.logo {
          margin-left: 58px; } }
      @media screen and (max-width: 600px) {
        header #main-menu-wrap a.logo {
          width: 66px;
          margin-left: 14px; }
          header #main-menu-wrap a.logo > span {
            top: -34px; }
            header #main-menu-wrap a.logo > span > img + img {
              position: absolute;
              left: -9999px;
              top: -9999px; } }

@media screen {
      header #main-menu-wrap #alt-logo {
        background-color: #fff;
        text-align: center; }
        header #main-menu-wrap #alt-logo.mobile {
          display: none; }
        header #main-menu-wrap #alt-logo.desktop {
          display: block; } }
      @media screen and (max-width: 63.9375em) {
        header #main-menu-wrap #alt-logo {
          padding-bottom: 0px;
          text-align: left; }
          header #main-menu-wrap #alt-logo.mobile {
            display: block;
            position: relative; }
          header #main-menu-wrap #alt-logo.desktop {
            display: none; } }

@media screen {
        header #main-menu-wrap #alt-logo img {
          height: 112px; } }
        @media screen and (max-width: 63.9375em) {
          header #main-menu-wrap #alt-logo img {
            height: 80px; } }
        @media screen and (max-width: 47.9375em) {
          header #main-menu-wrap #alt-logo img {
            height: auto;
            max-height: 60px; } }

@media screen {
      header #main-menu-wrap .shield-logo img {
        height: 54px;
        margin-top: 0.6em;
        margin-left: 1.2em;
        margin-right: 3em; } }
      @media screen and (max-width: 63.9375em) {
        header #main-menu-wrap .shield-logo img {
          margin-right: 2em;
          margin-top: 0.8em; } }
      @media screen and (max-width: 47.9375em) {
        header #main-menu-wrap .shield-logo img {
          height: 44px;
          margin-top: 0.4em;
          margin-right: 1em; } }

@media screen {
      header #main-menu-wrap #main-menu > ul > li.active > a {
        background-color: transparent;
        border-bottom: 8px solid #98012e; } }
      @media screen and (max-width: 63.9375em) {
        header #main-menu-wrap #main-menu > ul > li.active > a {
          border-bottom: 0 none; } }

@media screen {
      header #main-menu-wrap #main-menu > ul > li > a {
        height: 80px;
        border-width: 8px 0;
        border-style: solid;
        text-align: center;
        border-color: transparent;
        text-decoration: none; }
        header #main-menu-wrap #main-menu > ul > li > a:hover, header #main-menu-wrap #main-menu > ul > li > a:focus {
          border-bottom: 8px solid #98012e;
          background-color: #f9f9f9; } }
        @media screen and (max-width: 63.9375em) {
          header #main-menu-wrap #main-menu > ul > li > a:hover, header #main-menu-wrap #main-menu > ul > li > a:focus {
            border-bottom: 0 none; } }
      @media screen and (max-width: 63.9375em) {
        header #main-menu-wrap #main-menu > ul > li > a {
          border-color: #e0e0e0;
          border-style: solid;
          border-width: 0 0 0 4px;
          font-size: 32px;
          height: auto;
          text-align: left; } }

@media screen {
        header #main-menu-wrap #main-menu > ul > li > a.calendar-icon-nav {
          text-decoration: none;
          text-indent: -9999px;
          width: 80px;
          background-color: #f9f9f9;
          border-width: 0 1px 1px 1px !important;
          border-style: solid;
          border-color: #e0e0e0;
          position: relative;
          display: block; }
          header #main-menu-wrap #main-menu > ul > li > a.calendar-icon-nav:before {
            text-indent: 0;
            content: '\f133';
            position: absolute;
            top: 50%;
            left: 50%;
            margin-left: -11px;
            margin-top: -11px;
            font-size: 22px;
            font-family: "Fontello";
            speak: none;
            display: inline-block;
            text-align: center;
            font-variant: normal;
            text-transform: none;
            line-height: 1em;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale; }
          header #main-menu-wrap #main-menu > ul > li > a.calendar-icon-nav:hover, header #main-menu-wrap #main-menu > ul > li > a.calendar-icon-nav:focus {
            border-bottom: 8px solid #98012e !important;
            background-color: #f9f9f9;
            background-color: #e0e0e0;
            color: #666666; } }
        @media screen and (max-width: 63.9375em) {
          header #main-menu-wrap #main-menu > ul > li > a.calendar-icon-nav {
            display: none; } }
    @media screen and (max-width: 63.9375em) {
      header #main-menu-wrap #main-menu > ul > li[role="menuitem"] {
        max-width: 320px; }
      header #main-menu-wrap #main-menu > ul > li + li {
        margin-top: 15px; }
      header #main-menu-wrap #main-menu > ul > li#utility-menu {
        margin-top: 40px; }
        header #main-menu-wrap #main-menu > ul > li#utility-menu ul.menu {
          background-color: #18171e;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          header #main-menu-wrap #main-menu > ul > li#utility-menu ul.menu li {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex; }
            header #main-menu-wrap #main-menu > ul > li#utility-menu ul.menu li a {
              color: white;
              font-size: 15px; } }

@media screen {
      header #main-menu-wrap #main-menu > ul li {
        margin-left: 0; }
        header #main-menu-wrap #main-menu > ul li > a {
          font-size: 19px;
          color: #18171e;
          font-weight: normal;
          font-family: "BreveSans", sans-serif;
          display: table-cell;
          vertical-align: middle; } }
        @media screen and (min-width: 1200px) and (max-width: 1270px) {
          header #main-menu-wrap #main-menu > ul li > a {
            font-size: 16px; } }
        @media screen and (min-width: 64em) and (max-width: 74.9375em) {
          header #main-menu-wrap #main-menu > ul li > a {
            font-size: 16px;
            padding-left: 9px;
            padding-right: 9px; } }
    @media screen and (max-width: 63.9375em) {
      header #main-menu-wrap #main-menu {
        height: 90vh;
        overflow: auto;
        background-color: white;
        padding: 40px 62px; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    header #main-menu-wrap #main-menu {
      padding: 30px 20px; } }
    @media screen and (max-width: 63.9375em) {
        header #main-menu-wrap #main-menu > ul.menu {
          display: block; }
        header #main-menu-wrap #main-menu .utility-menu {
          height: auto;
          background-color: white;
          position: absolute;
          top: 33px;
          right: 62px;
          background-color: transparent;
          width: 200px;
          text-align: center; }
          header #main-menu-wrap #main-menu .utility-menu ul {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -webkit-flex-flow: column;
                -ms-flex-flow: column;
                    flex-flow: column;
            -webkit-box-align: stretch;
            -webkit-align-items: stretch;
                -ms-flex-align: stretch;
                    align-items: stretch; }
          header #main-menu-wrap #main-menu .utility-menu li {
            display: block; }
            header #main-menu-wrap #main-menu .utility-menu li + li {
              margin-top: 10px; }
            header #main-menu-wrap #main-menu .utility-menu li a {
              -webkit-box-pack: center;
              -webkit-justify-content: center;
                  -ms-flex-pack: center;
                      justify-content: center; } }
    @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
      header #main-menu-wrap #main-menu .utility-menu {
        margin-top: 30px;
        position: static;
        width: 100%; }
        header #main-menu-wrap #main-menu .utility-menu li + li {
          margin-top: 2px; } }

@media screen {
      header #main-menu-wrap li.search.is-active > a {
        background-color: #e0e0e0;
        color: #666666; }
        header #main-menu-wrap li.search.is-active > a:before {
          content: '\e805'; }
      header #main-menu-wrap li.search > a {
        text-decoration: none;
        height: 80px;
        background-color: #f9f9f9;
        border-width: 0 1px 1px 1px !important;
        border-style: solid;
        border-color: #e0e0e0;
        text-indent: -9999px;
        display: block;
        position: relative;
        width: 80px;
        color: #666666; }
        header #main-menu-wrap li.search > a:before {
          text-indent: 0;
          content: '\e806';
          position: absolute;
          top: 50%;
          left: 50%;
          margin-left: -11px;
          margin-top: -11px;
          font-size: 22px;
          font-family: "Fontello";
          speak: none;
          display: inline-block;
          text-align: center;
          font-variant: normal;
          text-transform: none;
          line-height: 1em;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale; }
        header #main-menu-wrap li.search > a:hover, header #main-menu-wrap li.search > a:focus {
          border-bottom-width: 0 !important;
          background-color: #e0e0e0; }
      header #main-menu-wrap #calendar-icon {
        display: none;
        position: relative; }
        header #main-menu-wrap #calendar-icon:before {
          text-indent: 0;
          content: '\f133';
          position: absolute;
          top: 50%;
          left: 50%;
          margin-left: -11px;
          margin-top: -11px;
          font-size: 22px;
          font-family: "Fontello";
          speak: none;
          display: inline-block;
          text-align: center;
          font-variant: normal;
          text-transform: none;
          line-height: 1em;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale; }
        header #main-menu-wrap #calendar-icon:hover, header #main-menu-wrap #calendar-icon:focus {
          border-bottom: 8px solid #98012e !important;
          background-color: #f9f9f9;
          background-color: #e0e0e0;
          color: #666666; } }
      @media screen and (max-width: 1024px) {
        header #main-menu-wrap #calendar-icon {
          width: 80px;
          height: 80px;
          display: inline-block;
          color: #666666;
          text-align: center;
          background-color: #f9f9f9;
          border-width: 0 1px 1px 1px !important;
          border-style: solid;
          border-color: #e0e0e0; } }
      @media screen and (max-width: 600px) {
        header #main-menu-wrap #calendar-icon {
          width: 60px;
          height: 60px; } }

@media screen {
      header #main-menu-wrap .is-dropdown-submenu-parent.mega-menu {
        position: static; }
      header #main-menu-wrap .mega-menu .is-dropdown-submenu {
        left: 0;
        right: 0;
        top: auto;
        position: absolute;
        border: 0 none;
        -webkit-box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2);
                box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2); } }
    @media screen and (max-width: 63.9375em) {
      header #main-menu-wrap #main-menu .mega-menu .is-dropdown-submenu {
        display: none; } }

@media screen {
      header #main-menu-wrap .mega-menu > .menu > li > .row {
        margin-left: auto;
        margin-right: auto;
        padding-top: 39px;
        padding-bottom: 39px; }
        header #main-menu-wrap .mega-menu > .menu > li > .row ul {
          border-top: 8px solid #e0e0e0; }
          header #main-menu-wrap .mega-menu > .menu > li > .row ul li {
            list-style-type: none;
            display: table;
            width: 100%; }
            header #main-menu-wrap .mega-menu > .menu > li > .row ul li a {
              display: table-cell;
              vertical-align: middle;
              height: 62px;
              border-bottom: 2px solid #e0e0e0;
              font-size: 18px;
              line-height: 1.2;
              padding: 0 15px 0 10px;
              text-align: left;
              text-decoration: none; }
              header #main-menu-wrap .mega-menu > .menu > li > .row ul li a:hover, header #main-menu-wrap .mega-menu > .menu > li > .row ul li a:focus {
                background-color: #f9f9f9;
                color: #98012e !important; }
        header #main-menu-wrap .mega-menu > .menu > li > .row .content {
          background-color: white;
          margin-right: 30px;
          margin-top: -48px;
          position: relative;
          padding-top: 17px;
          padding-right: 15px; }
          header #main-menu-wrap .mega-menu > .menu > li > .row .content h2 {
            font-size: 24px;
            font-weight: 700; }
        header #main-menu-wrap .mega-menu > .menu > li > .row.mega-menu--alt-layout .content-wrap {
          position: relative; }
          header #main-menu-wrap .mega-menu > .menu > li > .row.mega-menu--alt-layout .content-wrap .content {
            position: absolute;
            bottom: 0;
            left: 0;
            max-width: 358px;
            margin-right: 0;
            margin-top: 0;
            padding-right: 30px; }
      header #main-menu-wrap > .row.expanded {
        max-width: 1356px;
        height: 100%; }
        header #main-menu-wrap > .row.expanded > .columns.shrink + .columns {
          padding-right: 0;
          height: 100%; }
        header #main-menu-wrap > .row.expanded > .columns.shrink:last-child {
          padding-left: 0;
          padding-right: 0; } }
      @media screen and (max-width: 63.9375em) {
        header #main-menu-wrap > .row.expanded #main-menu {
          position: absolute;
          top: 80px;
          left: 0;
          right: 0;
          padding-top: 32px;
          -webkit-box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2);
                  box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2);
          display: none; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    header #main-menu-wrap > .row.expanded #main-menu > ul {
      padding-left: 30px; } }
      @media screen and (max-width: 63.9375em) {
          header #main-menu-wrap > .row.expanded #main-menu > ul > li > a {
            padding-left: 30px; }
          header #main-menu-wrap > .row.expanded #main-menu > ul.align-right {
            -webkit-box-pack: center;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
    @media screen and (max-width: 63.9375em) and (max-width: 63.9375em) {
      header #main-menu-wrap > .row.expanded #main-menu > ul.align-right {
        -webkit-box-pack: left;
        -webkit-justify-content: left;
            -ms-flex-pack: left;
                justify-content: left; } }
      @media screen and (max-width: 63.9375em) {
        header #main-menu-wrap > .row.expanded .columns.shrink {
          padding-right: 0; }
          header #main-menu-wrap > .row.expanded .columns.shrink .logo {
            float: left; }
          header #main-menu-wrap > .row.expanded .columns.shrink #search-toggler {
            float: left;
            width: auto; } }
    @media screen and (max-width: 63.9375em) and (max-width: 600px) {
      header #main-menu-wrap > .row.expanded .columns.shrink #search-toggler > li > a {
        height: 60px;
        width: 60px; } }
      @media screen and (max-width: 63.9375em) {
          header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler {
            float: right;
            position: relative; }
            header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button {
              cursor: pointer;
              height: 80px;
              width: 80px;
              background-color: #f9f9f9;
              border-bottom: 1px solid #e0e0e0;
              display: inline-block; }
              header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button:hover, header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button:focus {
                background-color: #e0e0e0; } }
      @media screen and (max-width: 63.9375em) and (max-width: 600px) {
        header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button {
          height: 60px;
          width: 60px; } }
      @media screen and (max-width: 63.9375em) {
              header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.icon-du-cust-menu, header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.du-icon-cust-menu {
                font-size: 23px;
                color: #98012e; }
              header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.open.icon-du-cust-menu, header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.open.du-icon-cust-menu {
                background-color: #e0e0e0; }
                header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.open.icon-du-cust-menu:before, header #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button.open.du-icon-cust-menu:before {
                  content: "\e805";
                  color: #666666; } }

@media screen {
    header .is-stuck {
      -webkit-box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.45);
              box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.45); }
      header .is-stuck #main-menu-wrap {
        height: 60px; }
        header .is-stuck #main-menu-wrap > .row.expanded a.logo > span > img:first-child {
          margin-top: 13px; } }
        @media screen and (max-width: 600px) {
          header .is-stuck #main-menu-wrap > .row.expanded a.logo > span > img:first-child {
            margin-top: 42px; } }

@media screen {
          header .is-stuck #main-menu-wrap > .row.expanded a.logo > span > img:first-child + img {
            opacity: 0; }
        header .is-stuck #main-menu-wrap > .row.expanded #alt-logo {
          padding-bottom: 0px; }
          header .is-stuck #main-menu-wrap > .row.expanded #alt-logo.mobile {
            display: block; }
          header .is-stuck #main-menu-wrap > .row.expanded #alt-logo.desktop {
            display: none; }
          header .is-stuck #main-menu-wrap > .row.expanded #alt-logo img {
            height: 60px; }
        header .is-stuck #main-menu-wrap > .row.expanded .shield-logo img {
          height: 44px;
          margin-top: 0.4em;
          margin-right: 1em; } }
      @media screen and (min-width: 64em) {
        header .is-stuck #main-menu-wrap > .row.expanded #main-menu ul > li > a,
        header .is-stuck #main-menu-wrap > .row.expanded #search-toggler > li > a {
          font-size: 16px;
          height: 60px; } }

@media screen {
        header .is-stuck #main-menu-wrap > .row.expanded #calendar-icon {
          width: 60px;
          height: 60px; }
        header .is-stuck #main-menu-wrap > .row.expanded li > a.calendar-icon-nav {
          height: 60px;
          width: 60px; }
        header .is-stuck #main-menu-wrap > .row.expanded #search-toggler > li > a {
          height: 60px;
          width: 60px; } }
      @media screen and (max-width: 63.9375em) {
        header .is-stuck #main-menu-wrap > .row.expanded #main-menu {
          top: 60px;
          padding-top: 50px; } }

@media screen {
        header .is-stuck #main-menu-wrap > .row.expanded #calendar-icon > a > img {
          height: 60px; } }
      @media screen and (max-width: 63.9375em) {
        header .is-stuck #main-menu-wrap > .row.expanded .columns.shrink #main-menu-toggler button {
          height: 60px;
          width: 60px; } }

@media screen {
    header .top-bar .search .is-dropdown-submenu {
      background-color: rgba(255, 255, 255, 0.9); }
    header .top-bar .search .search-box {
      padding-left: 20px;
      padding-right: 20px; }
      header .top-bar .search .search-box label > input[type="text"] {
        font-size: 36px; }
    header ul#search-toggler li {
      margin-left: 0; } }

header .utility-menu {
  height: 48px; }
  header .utility-menu .menu li {
    margin-left: 0; }
    header .utility-menu .menu li a {
      background-color: #18171e;
      text-transform: uppercase;
      font-family: "BreveSans", sans-serif;
      font-weight: 600;
      font-size: 13px;
      color: white;
      padding-bottom: 17px;
      padding-top: 18px;
      text-decoration: none; }
      header .utility-menu .menu li a:hover, header .utility-menu .menu li a:focus {
        text-decoration: underline; }
    header .utility-menu .menu li.audience-menu > a {
      background-color: #98012e; }
      header .utility-menu .menu li.audience-menu > a:hover, header .utility-menu .menu li.audience-menu > a:focus {
        text-decoration: none;
        background-color: #710829; }
      header .utility-menu .menu li.audience-menu > a:after {
        content: "\e800";
        font-family: "Fontello";
        padding-left: 7px; }
      header .utility-menu .menu li.audience-menu > a[aria-expanded="true"]:after {
        content: "\e805";
        font-size: 10px;
        padding-top: 2px; }
    @media screen and (max-width: 47.9375em) {
      header .utility-menu .menu li {
        display: none; }
        header .utility-menu .menu li.audience-menu {
          display: block; } }

.bg-dark-gray {
  background-color: #18171e; }

.buffer-top {
  margin-top: 1em; }

.display-block {
  display: block; }

@media screen and (max-width: 74.9375em) {
  .buffer-on-inner-row > .row {
    padding-left: 55px;
    padding-right: 55px; } }

@media screen and (max-width: 47.9375em) {
  .buffer-on-inner-row > .row {
    padding-left: 18px;
    padding-right: 18px; } }

#sub-menu {
  margin-top: 12px; }
  #sub-menu > ul {
    margin-left: 0; }
    #sub-menu > ul ul {
      margin-left: 24px; }
    #sub-menu > ul > li:first-child > a {
      border-top: 2px solid #e0e0e0; }
    #sub-menu > ul li {
      list-style-type: none;
      padding: 0;
      margin: 0; }
      #sub-menu > ul li a {
        border-bottom: 2px solid #e0e0e0;
        display: block;
        font-size: 20px;
        color: #353535;
        padding: 15px 10px 18px 20px;
        position: relative;
        font-family: "BreveSans", sans-serif;
        text-decoration: none; }
        #sub-menu > ul li a:hover, #sub-menu > ul li a:focus {
          background-color: #f9f9f9;
          color: #98012e;
          text-decoration: none; }
      #sub-menu > ul li.active > a,
      #sub-menu > ul li.active > a:hover,
      #sub-menu > ul li.active > a:focus {
        background-color: #f9f9f9;
        color: #353535;
        font-weight: bold;
        cursor: default; }
        #sub-menu > ul li.active > a:before,
        #sub-menu > ul li.active > a:hover:before,
        #sub-menu > ul li.active > a:focus:before {
          content: "";
          position: absolute;
          left: 0;
          bottom: 0;
          top: 0;
          width: 8px;
          background-color: #98012e; }
  #sub-menu > .search-box {
    margin-bottom: 40px; }
  #sub-menu ul li:before {
    display: none; }
  @media screen and (min-width: 64em) {
    #sub-menu.sub-menu--horizontal {
      max-width: none; }
      #sub-menu.sub-menu--horizontal > ul {
        border-bottom: 2px solid #e6e6e6;
        margin-bottom: 32px;
        overflow: auto;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
        -webkit-align-items: flex-end;
            -ms-flex-align: end;
                align-items: flex-end; }
        #sub-menu.sub-menu--horizontal > ul > li {
          display: inline-block;
          -webkit-flex-basis: 12%;
              -ms-flex-preferred-size: 12%;
                  flex-basis: 12%; }
          #sub-menu.sub-menu--horizontal > ul > li:first-child > a {
            border-top: 0 none; }
          #sub-menu.sub-menu--horizontal > ul > li.active > a {
            border-bottom: 6px solid #98012e;
            background-color: transparent; }
            #sub-menu.sub-menu--horizontal > ul > li.active > a:before {
              display: none; }
            #sub-menu.sub-menu--horizontal > ul > li.active > a:hover, #sub-menu.sub-menu--horizontal > ul > li.active > a:focus {
              color: #18171e; }
          #sub-menu.sub-menu--horizontal > ul > li > a {
            font-size: 16px;
            line-height: 20px;
            padding: 10px 10px 9px 10px;
            text-align: center;
            border-bottom: 6px solid transparent; }
            #sub-menu.sub-menu--horizontal > ul > li > a:hover, #sub-menu.sub-menu--horizontal > ul > li > a:focus {
              color: #98012e;
              background-color: transparent; } }
  @media screen and (min-width: 75em) {
    #sub-menu {
      max-width: 287px; } }

@media screen and (min-width: 64em) {
  #sub-menu-toggler {
    display: none; } }

@media screen and (max-width: 63.9375em) {
  #sub-menu-toggler {
    margin-bottom: 30px; }
    #sub-menu-toggler > a {
      display: block;
      border-width: 2px 0;
      border-color: #e0e0e0;
      border-style: solid;
      padding: 17px 22px;
      font-family: "BreveSans", sans-serif;
      font-size: 20px;
      color: #18171e;
      text-decoration: none; }
      #sub-menu-toggler > a:after {
        content: "\e804";
        padding-top: 6px;
        color: #000000;
        float: right;
        font-family: "Fontello";
        speak: none;
        display: inline-block;
        text-align: center;
        font-variant: normal;
        text-transform: none;
        line-height: 1em;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
      #sub-menu-toggler > a:hover, #sub-menu-toggler > a:focus {
        background-color: #f9f9f9;
        text-decoration: none;
        color: #98012e; }
      #sub-menu-toggler > a.open:after {
        content: "\e805";
        color: #666666; }
  .sub-menu-wrap #sub-menu {
    margin-top: 0;
    position: absolute;
    z-index: 3;
    left: 0;
    right: 0;
    width: 100%;
    background-color: white;
    padding-left: 65px;
    padding-right: 62px;
    -webkit-box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 0px 8px 9px 0px rgba(0, 0, 0, 0.2); } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    .sub-menu-wrap #sub-menu {
      padding-left: 22px;
      padding-right: 22px; } }

@media screen and (max-width: 63.9375em) {
    .sub-menu-wrap #sub-menu > ul {
      margin-bottom: 30px;
      border-bottom: 2px solid #e0e0e0;
      margin-top: -32px; }
      .sub-menu-wrap #sub-menu > ul li {
        margin-left: 22px; } }
      @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
        .sub-menu-wrap #sub-menu > ul li {
          margin-left: 0; } }

@media screen and (max-width: 63.9375em) {
      .sub-menu-wrap #sub-menu > ul ul {
        margin-bottom: -2px; }
    .sub-menu-wrap #sub-menu > p + ul,
    .sub-menu-wrap #sub-menu > .search-box + ul {
      margin-top: 0; } }

.sub-menu__back-link {
  color: #a99a6f;
  font-size: 13px;
  text-transform: uppercase;
  margin-top: -5px;
  display: block;
  font-family: "BreveSans", sans-serif;
  font-weight: 600;
  text-decoration: none; }
  .sub-menu__back-link:hover, .sub-menu__back-link:focus {
    color: #8b6e4a; }

footer {
  text-align: center; }
  footer .menu {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    footer .menu li {
      margin-left: 0; }
      footer .menu li a {
        color: white;
        font-size: 14px;
        font-weight: normal;
        font-family: "BreveSans", sans-serif;
        text-decoration: none; }
        footer .menu li a:hover, footer .menu li a:focus {
          color: #ebd5ab;
          text-decoration: underline; }
  footer .bg-dark-gray {
    padding: 36px 0; }
  footer .copyright {
    background-color: #000000;
    color: #797979;
    font-size: 14px;
    padding: 15px;
    font-family: "BreveSans", sans-serif;
    margin-bottom: 0; }
  @media screen and (max-width: 63.9375em) {
    footer .has-gray-band > .row {
      padding-left: 55px;
      padding-right: 55px; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    footer .has-gray-band > .row {
      padding-left: 18px;
      padding-right: 18px; } }

.has-gray-band {
  position: relative;
  padding-bottom: 50px; }
  .has-gray-band:after {
    content: "";
    background-color: #f4f4f4;
    height: 138px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1; }
  @media screen and (max-width: 47.9375em) {
    .has-gray-band {
      padding-bottom: 30px; }
      .has-gray-band:after {
        height: 274px; } }

.btn,
a.btn {
  padding: 15px 20px;
  font-size: 18px;
  font-family: "Acto", sans-serif;
  text-decoration: none;
  display: inline-block;
  color: white;
  background-color: #ac9147; }
  .btn.display-block,
  a.btn.display-block {
    display: block; }
  .btn:hover, .btn:focus,
  a.btn:hover,
  a.btn:focus {
    background-color: #8b6e4a; }
  .btn.btn--small,
  a.btn.btn--small {
    font-size: 16px;
    padding: 10px 16px; }
  .btn.btn--white,
  a.btn.btn--white {
    color: #ac9147;
    background-color: white; }
    .btn.btn--white:hover, .btn.btn--white:focus,
    a.btn.btn--white:hover,
    a.btn.btn--white:focus {
      background-color: #ac9147;
      color: white; }
  .btn.btn--dark-red,
  a.btn.btn--dark-red {
    background-color: #760626;
    color: white; }
    .btn.btn--dark-red:hover, .btn.btn--dark-red:focus,
    a.btn.btn--dark-red:hover,
    a.btn.btn--dark-red:focus {
      background-color: #510c1e;
      text-decoration: underline; }
  .btn.btn--academic-filter,
  a.btn.btn--academic-filter {
    border: 2px solid #b1b1b1;
    background-color: white;
    color: #81796f !important;
    width: 170px;
    height: 45px;
    padding: 13px 10px;
    font-size: 16px;
    text-align: center;
    line-height: 1; }
    .btn.btn--academic-filter:hover, .btn.btn--academic-filter:focus, .btn.btn--academic-filter.active,
    a.btn.btn--academic-filter:hover,
    a.btn.btn--academic-filter:focus,
    a.btn.btn--academic-filter.active {
      background-color: #98012e;
      text-decoration: none;
      border: 2px solid #98012e;
      color: white !important; }
    .btn.btn--academic-filter.info,
    a.btn.btn--academic-filter.info {
      width: 45px;
      font-size: 26px;
      padding: 8px 0;
      text-align: center;
      position: relative; }
  .btn.btn--disabled,
  a.btn.btn--disabled {
    background-color: #f4f4f4;
    border: 2px solid #f4f4f4;
    color: #a9a8a8 !important;
    font-weight: normal;
    cursor: not-allowed;
    pointer-events: none; }
    .btn.btn--disabled.active,
    a.btn.btn--disabled.active {
      background-color: #f4f4f4;
      border: 2px solid #f4f4f4;
      color: #a9a8a8 !important; }
    .btn.btn--disabled:before,
    a.btn.btn--disabled:before {
      font-family: "Fontello";
      content: "\e819";
      padding-right: 5px; }
    .btn.btn--disabled:hover, .btn.btn--disabled:focus,
    a.btn.btn--disabled:hover,
    a.btn.btn--disabled:focus {
      color: #a9a8a8 !important;
      background-color: #f4f4f4 !important;
      border: 2px solid #f4f4f4; }
  .btn.btn--inline--gold,
  a.btn.btn--inline--gold {
    color: #A58D5B !important;
    border-left: 5px solid #A58D5B;
    background-color: transparent;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 5px;
    margin-bottom: 5px; }
    .btn.btn--inline--gold:hover, .btn.btn--inline--gold:focus,
    a.btn.btn--inline--gold:hover,
    a.btn.btn--inline--gold:focus {
      background-color: #A58D5B;
      color: #f4f4f4 !important; }
  .btn.btn--inline--dark-red,
  a.btn.btn--inline--dark-red {
    color: #760626 !important;
    border-left: 5px solid #760626;
    background-color: transparent; }
    .btn.btn--inline--dark-red:hover, .btn.btn--inline--dark-red:focus,
    a.btn.btn--inline--dark-red:hover,
    a.btn.btn--inline--dark-red:focus {
      background-color: #760626;
      color: #f4f4f4 !important; }

.bg-img-btn {
  position: relative;
  display: block; }
  .bg-img-btn > img {
    width: 100%; }
  .bg-img-btn .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: white;
    font-size: 24px;
    line-height: 1.2;
    font-family: "BreveSlabTitle", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    background-color: rgba(0, 0, 0, 0.3);
    text-align: center;
    padding-left: 5px;
    padding-right: 5px; }
    .bg-img-btn .content p {
      margin-bottom: 0;
      line-height: 1.2; }
  .bg-img-btn:hover .content, .bg-img-btn:focus .content {
    background-color: rgba(0, 0, 0, 0.75); }
  @media screen and (max-width: 47.9375em) {
    .bg-img-btn {
      max-height: 90px;
      overflow: hidden;
      margin-top: 13px; }
      .bg-img-btn .content > img {
        display: none; } }

.follow-us {
  background: #8c2332 url("../images/follow-us-stamp.png") no-repeat scroll center center;
  text-align: center;
  padding-bottom: 24px;
  padding-top: 24px;
  font-size: 16px; }
  @media screen and (max-width: 63.9375em) {
    .follow-us {
      background-position: center bottom;
      background-size: 90% auto; } }
  .follow-us h2 {
    font-size: 30px;
    font-weight: 700;
    color: white;
    font-family: "BreveSans", sans-serif; }
  .follow-us .social-media li {
    margin-left: 0; }
    .follow-us .social-media li a {
      font-size: 30px;
      padding-left: 7px;
      padding-right: 7px;
      border-radius: 30px; }
      .follow-us .social-media li a:hover, .follow-us .social-media li a:focus {
        background-color: #560d20;
        text-decoration: none;
        color: white; }
  @media (max-width: 350px) {
    .follow-us .social-media {
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .follow-us .social-media > li {
        -webkit-flex-basis: 21%;
            -ms-flex-preferred-size: 21%;
                flex-basis: 21%; } }
  .follow-us .follow-us__view-all {
    font-family: "Acto", sans-serif;
    font-size: 16px;
    color: white;
    display: block;
    text-decoration: none; }
    .follow-us .follow-us__view-all:hover, .follow-us .follow-us__view-all:focus {
      text-decoration: underline; }
    @media screen and (max-width: 63.9375em) {
      .follow-us .follow-us__view-all {
        margin-top: 1em; } }

ul.list-of-facts {
  list-style: none;
  margin-left: 0px;
  margin-bottom: 0px;
  height: 100%; }
  ul.list-of-facts li {
    margin-left: 0;
    height: 25%;
    font-weight: bold;
    font-size: 1.25rem;
    padding-top: 0.8rem;
    padding-right: 24px;
    padding-bottom: 0.8rem;
    padding-left: 24px;
    border-bottom: 1px solid #d1d1d2; }
    @media screen and (max-width: 47.9375em) {
      ul.list-of-facts li {
        height: auto; } }
    @media (min-width: 768px) and (max-width: 1199px) {
      ul.list-of-facts li {
        padding-top: 0.6rem;
        padding-right: 18px;
        padding-bottom: 0.6rem;
        padding-left: 18px; } }
    ul.list-of-facts li:last-child {
      border-bottom: none; }
    @media screen and (max-width: 47.9375em) {
      ul.list-of-facts li:first-child {
        border-top: 1px solid #d1d1d2; } }
    ul.list-of-facts li:nth-child(2), ul.list-of-facts li:nth-child(4) {
      background-color: #e0e0e0; }
    ul.list-of-facts li:before {
      background-color: transparent;
      height: 0px;
      width: 0px; }
    ul.list-of-facts li p {
      font-weight: normal;
      font-size: 1rem;
      margin-bottom: 0px; }

ul.two-col {
  -webkit-column-count: 2;
  column-count: 2; }
  ul.two-col li {
    /* autoprefixer: off */
    -webkit-column-break-inside: avoid;
    /* Chrome, Safari */
    page-break-inside: avoid;
    /* Theoretically FF 20+ */
    break-inside: avoid-column;
    /* IE 11 */ }

.pagination {
  font-family: "BreveSlabTitle", sans-serif;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 56px;
  margin-top: 43px; }
  .pagination li {
    border-bottom: 5px solid transparent; }
    .pagination li:before {
      display: none; }
    .pagination li.pagination-previous, .pagination li.pagination-next {
      padding-top: 0;
      font-size: 26px;
      position: relative;
      top: -14px; }
      .pagination li.pagination-previous a, .pagination li.pagination-next a {
        display: block;
        width: 65px;
        height: 65px;
        color: #c2b89d;
        border: 2px solid #d1d1d2;
        padding: 0; }
        .pagination li.pagination-previous a [class*="icon-du-"]:before,
        .pagination li.pagination-previous a [class*="du-icon-"]:before, .pagination li.pagination-next a [class*="icon-du-"]:before,
        .pagination li.pagination-next a [class*="du-icon-"]:before {
          margin: 0;
          width: 65px;
          height: 65px;
          position: relative;
          top: 16px; }
        .pagination li.pagination-previous a:hover, .pagination li.pagination-previous a:focus, .pagination li.pagination-next a:hover, .pagination li.pagination-next a:focus {
          background-color: #c2b89d;
          border-color: #c2b89d;
          color: white; }
      .pagination li.pagination-previous.disabled, .pagination li.pagination-next.disabled {
        color: #ecf0f3;
        border: 2px solid #ecf0f3;
        padding: 0; }
        .pagination li.pagination-previous.disabled [class*="icon-du-"]:before, .pagination li.pagination-next.disabled [class*="icon-du-"]:before {
          width: 65px;
          height: 65px;
          margin: 0;
          position: relative;
          top: 16px; }
    .pagination li a {
      color: #18171e;
      text-decoration: none; }
      .pagination li a:hover, .pagination li a:focus {
        color: #98012e; }
    .pagination li.current {
      border-bottom: 5px solid #98012e; }

ul.accordion li {
  margin-left: 0; }

.accordion-item:before,
#main-content .accordion-item:before {
  display: none; }

.accordion-item a.accordion-title,
#main-content .accordion-item a.accordion-title {
  background-color: #e0dbce;
  color: #525252;
  font-family: "BreveSlabTitle", sans-serif;
  font-weight: 700;
  text-decoration: none;
  padding-right: 42px; }
  .accordion-item a.accordion-title:hover, .accordion-item a.accordion-title:focus,
  #main-content .accordion-item a.accordion-title:hover,
  #main-content .accordion-item a.accordion-title:focus {
    text-decoration: none;
    background-color: #b0aa9e;
    color: white; }
  .accordion-item a.accordion-title:before,
  #main-content .accordion-item a.accordion-title:before {
    font-family: "Fontello";
    content: "\e809";
    color: white;
    margin-top: -11px; }

.accordion-item.is-active a.accordion-title,
#main-content .accordion-item.is-active a.accordion-title {
  background-color: #81796f;
  color: white; }
  .accordion-item.is-active a.accordion-title:before,
  #main-content .accordion-item.is-active a.accordion-title:before {
    content: "\e808"; }

.accordion-item + .accordion-item,
#main-content .accordion-item + .accordion-item {
  margin-top: 11px; }

.icon-list {
  margin-left: 0; }
  .icon-list > li {
    margin-left: 0;
    border-bottom: 1px solid #d1d1d2;
    padding: 19px 15px 14px 100px;
    font-size: 18px;
    color: #525252;
    overflow: auto; }
    .icon-list > li:before {
      display: none; }
    .icon-list > li:first-child {
      border-top: 1px solid #d1d1d2; }
    .icon-list > li .icon-list__media {
      width: 60px;
      height: 60px;
      margin-left: -85px;
      float: left;
      font-size: 60px;
      line-height: 47px;
      text-align: center; }
      .icon-list > li .icon-list__media span:before {
        margin-left: 0;
        margin-right: 0;
        width: auto; }
    .icon-list > li ul {
      margin-left: 0; }
    .icon-list > li p {
      margin-bottom: 0px;
      line-height: 28px; }
    .icon-list > li a {
      font-family: "Acto", sans-serif;
      text-decoration: none;
      font-weight: bold; }
      .icon-list > li a.btn {
        position: relative;
        padding: 11px 0 2px 22px;
        background-color: transparent;
        color: #2090ac; }
        .icon-list > li a.btn:before {
          content: "\e800";
          color: #d1d1d2;
          font-family: "Fontello";
          position: absolute;
          left: 2px;
          top: 12px;
          margin-top: 0; }
        .icon-list > li a.btn:hover, .icon-list > li a.btn:focus {
          color: #05637b; }
    @media screen and (max-width: 74.9375em) {
      .icon-list > li {
        font-size: 16px; }
        .icon-list > li p {
          line-height: 26px; } }
    @media screen and (max-width: 47.9375em) {
      .icon-list > li {
        padding-left: 78px;
        font-size: 15px; }
        .icon-list > li .icon-list__media {
          margin-left: -78px; }
        .icon-list > li p {
          line-height: 22px; } }

.list-of-links {
  margin-left: 0;
  list-style-type: none; }
  .list-of-links > li {
    margin-left: 0;
    border-bottom: 1px solid #d1d1d2;
    padding-top: 8px;
    padding-bottom: 8px;
    line-height: 21px; }
    .list-of-links > li:before {
      display: none; }
    .list-of-links > li:first-child {
      border-top: 1px solid #d1d1d2; }
    .list-of-links > li a {
      padding: 0 16px 0 41px;
      position: relative;
      display: block;
      font-size: 18px;
      font-weight: 800;
      font-family: "Acto", sans-serif;
      text-decoration: none; }
      .list-of-links > li a:before {
        content: "\e800";
        color: #d1d1d2;
        font-family: "Fontello";
        position: absolute;
        left: 16px;
        top: 50%;
        margin-top: -10px; }
    .list-of-links > li ul {
      margin-left: 41px;
      padding-bottom: 7px; }
      .list-of-links > li ul li a {
        padding: 0; }
        .list-of-links > li ul li a:before {
          display: none; }

.list-of-links--alt {
  margin-left: 0; }
  .list-of-links--alt li {
    margin-left: 0;
  	text-align:left;}
    .list-of-links--alt li:before {
      display: none; }
    .list-of-links--alt li a {
      position: relative;
      z-index: 1;
      padding: 18px 21px 21px 20px;
      color: #A58D5B;
      display: inline-block;
      text-decoration: none;
      font-size: 22px;
      line-height: 25px; }
      .list-of-links--alt li a:before {
        content: "";
        -webkit-transition: width .2s ease;
        transition: width .2s ease;
        width: 5px;
        top: 0;
        bottom: 0;
        left: 0;
        position: absolute;
        background-color: #bda474;
        z-index: -1; }
      @media screen and (max-width: 63.9375em) {
        .list-of-links--alt li a {
          font-size: 18px;
          line-height: 23px; } }
      .list-of-links--alt li a:hover, .list-of-links--alt li a:focus {
        color: white; }
        .list-of-links--alt li a:hover:before, .list-of-links--alt li a:focus:before {
          width: 100%;
          right: 0; }
    .list-of-links--alt li + li {
      margin-top: 23px; }

.contact-list {
  margin-left: 0; }
  .contact-list li {
    border-bottom: 1px solid #d1d1d2;
    padding: 7px 15px 5px 55px;
    font-size: 16px;
    color: #525252;
    overflow: auto; }
    .contact-list li:before {
      display: none; }
    .contact-list li:first-child {
      border-top: 1px solid #d1d1d2; }
    .contact-list li .contact-list__media {
      width: 25px;
      height: 25px;
      margin-left: -45px;
      float: left;
      font-size: 24px;
      line-height: 24px; }
    .contact-list li p {
      margin-bottom: 0px;
      line-height: 28px; }
    .contact-list li a {
      text-decoration: none; }
    @media screen and (max-width: 74.9375em) {
      .contact-list li {
        font-size: 16px; }
        .contact-list li p {
          line-height: 26px; } }
    @media screen and (max-width: 47.9375em) {
      .contact-list li {
        padding-left: 50px;
        font-size: 14px; }
        .contact-list li .contact-list__media {
          margin-left: -48px; }
        .contact-list li p {
          line-height: 22px; } }

.show-hide-toggle {
  display: none; }

.js .show-hide-toggle {
  position: relative;
  margin-top: -54px;
  margin-bottom: 40px;
  display: block; }
  .js .show-hide-toggle ~ * {
    display: none; }
  .js .show-hide-toggle:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1px;
    height: 70px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(21%, rgba(255, 255, 255, 0.64)), color-stop(62%, white), to(white));
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.64) 21%, white 62%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); }
  .js .show-hide-toggle a {
    display: block;
    text-decoration: none;
    border-bottom: 1px solid #d1d1d2;
    height: 70px;
    position: relative; }
    .js .show-hide-toggle a [class*="icon-du"],
    .js .show-hide-toggle a [class*="du-icon"] {
      position: absolute;
      margin-left: -15.5px;
      left: 50%;
      bottom: -14px; }
      .js .show-hide-toggle a [class*="icon-du"]:before,
      .js .show-hide-toggle a [class*="du-icon"]:before {
        width: 30px;
        height: 30px;
        border: 1px solid #c2b89d;
        background-color: white;
        color: #81796f;
        padding: 0;
        font-size: 23px;
        line-height: 27px;
        -webkit-transition: background-color 0.5s ease;
        transition: background-color 0.5s ease;
        border-radius: 16px;
        margin-left: 0;
        margin-right: 0; }
    .js .show-hide-toggle a .icon-du-minus,
    .js .show-hide-toggle a .du-icon-minus {
      display: none; }
    .js .show-hide-toggle a:hover [class*="icon-du"]:before,
    .js .show-hide-toggle a:hover [class*="du-icon"]:before, .js .show-hide-toggle a:focus [class*="icon-du"]:before,
    .js .show-hide-toggle a:focus [class*="du-icon"]:before {
      background-color: #c2b89d;
      color: white; }
  .js .show-hide-toggle.show-hide--expanded:before {
    display: none; }
  .js .show-hide-toggle.show-hide--expanded a .icon-du-minus,
  .js .show-hide-toggle.show-hide--expanded a .du-icon-minus {
    display: block; }
  .js .show-hide-toggle.show-hide--expanded a .icon-du-plus,
  .js .show-hide-toggle.show-hide--expanded a .du-icon-plus {
    display: none; }

.js .show-hide__contents {
  display: none; }

.orbit-bullets button {
  background-color: #c7c7c7; }
  .orbit-bullets button.is-active {
    background-color: #98012e; }
  .orbit-bullets button:hover, .orbit-bullets button:focus {
    cursor: pointer; }

.responsive-embed {
  margin-bottom: 50px; }
  @media screen and (max-width: 47.9375em) {
    .responsive-embed {
      margin-bottom: 40px; } }

#du-loader {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(209, 209, 210, 0.6);
  width: 100%;
  text-align: center;
  bottom: 0;
  z-index: 10; }
  #du-loader > span {
    /*content: '\e832';
		font-family: $icon-font;*/
    font-size: 30px;
    position: absolute;
    top: 50%;
    margin-top: -17px;
    margin-left: -17px;
    color: white; }

@media screen {
  html {
    min-width: 320px; }
  header {
    height: 538px; } }
  @media screen and (max-width: 74.9375em) {
    header {
      height: 489px; } }
  @media screen and (max-width: 47.9375em) {
    header {
      height: 430px; } }
  @media screen and (min-width: 118.75em) {
    header {
      height: 750px; } }

@media screen {
  .utility-page header {
    height: 392px; } }
  @media screen and (max-width: 47.9375em) {
    .utility-page header {
      height: 354px; } }

@media screen {
  .page-title-band {
    position: relative; }
    .page-title-band:before {
      content: "";
      position: absolute;
      top: 0;
      left: -54px;
      background-color: white;
      right: 0;
      width: auto;
      bottom: 0; } }
    @media screen and (max-width: 63.9375em) {
      .page-title-band:before {
        left: 0; } }

@media screen {
  .intro {
    margin-bottom: 51px; }
    .intro > *:last-child {
      margin-bottom: 0; } }
  @media screen and (max-width: 47.9375em) {
    .intro {
      margin-bottom: 41px; } }

@media screen and (min-width: 64em) {
  .pull-up > *:last-child {
    margin-bottom: 70px; } }

@media screen and (min-width: 64em) {
  .pull-up {
    margin-top: -93px;
    padding-top: 43px; } }

@media screen and (max-width: 74.9375em) {
  #main-content > .row,
  footer > .row {
    margin-left: 55px;
    margin-right: 55px; }
    #main-content > .row.expanded,
    footer > .row.expanded {
      margin-left: 0;
      margin-right: 0; } }
  @media screen and (max-width: 74.9375em) and (max-width: 47.9375em) {
    #main-content > .row,
    footer > .row {
      margin-left: 0;
      margin-right: 0;
      padding-left: 18px;
      padding-right: 18px; } }

@media screen and (max-width: 63.9375em) {
  #main-content > .row:first-child > .pull-up {
    margin-top: -81px;
    padding-top: 32px;
    margin-left: -35px;
    margin-right: -35px;
    padding-left: 42px;
    padding-right: 42px; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    #main-content > .row:first-child > .pull-up {
      margin-left: -18px;
      margin-right: -18px;
      padding-left: 22px;
      padding-right: 22px; } }

#audience-menu {
  padding-left: 100px;
  padding-right: 100px;
  padding-top: 48px; }
  #audience-menu .columns {
    margin-bottom: 16px; }
    @media screen and (max-width: 47.9375em) {
      #audience-menu .columns {
        margin-bottom: 7px; } }
    #audience-menu .columns .bg-img-btn .content {
      background-color: rgba(0, 0, 0, 0.5);
      font-size: 22px; }
      #audience-menu .columns .bg-img-btn .content,
      #audience-menu .columns .bg-img-btn .content p {
        line-height: 1.2; }
      #audience-menu .columns .bg-img-btn .content:hover, #audience-menu .columns .bg-img-btn .content:focus {
        background-color: rgba(0, 0, 0, 0.75); }
  #audience-menu .row + .row {
    margin-top: 15px; }
  @media screen and (max-width: 74.9375em) {
    #audience-menu {
      padding-left: 77px;
      padding-right: 56px; } }
  @media screen and (max-width: 47.9375em) {
    #audience-menu {
      padding-left: 29px;
      padding-right: 31px; }
      #audience-menu .bg-img-btn {
        margin-top: 0; } }

.is-off-canvas-open header #top-bar-sticky-wrap {
  max-width: none; }

@media screen and (max-width: 74.9375em) {
  .off-canvas.position-right {
    width: 571px;
    -webkit-transform: translateX(571px);
        -ms-transform: translateX(571px);
            transform: translateX(571px); } }
  @media screen and (max-width: 74.9375em) and (max-width: 47.9375em) {
    .off-canvas.position-right {
      width: 286px;
      -webkit-transform: translateX(286px);
          -ms-transform: translateX(286px);
              transform: translateX(286px); } }

@media screen and (max-width: 74.9375em) {
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .position-right.is-open ~ .off-canvas-content {
    -webkit-transform: translateX(-571px);
        -ms-transform: translateX(-571px);
            transform: translateX(-571px); } }
  @media screen and (max-width: 74.9375em) and (max-width: 47.9375em) {
    .position-right.is-open ~ .off-canvas-content {
      -webkit-transform: translateX(-286px);
          -ms-transform: translateX(-286px);
              transform: translateX(-286px); } }

.search-box {
  max-width: 590px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  .search-box > input[type="text"] {
    background-color: transparent;
    border-width: 0 0 4px 0;
    border-color: #98012e;
    -webkit-box-shadow: none;
            box-shadow: none;
    color: #525252;
    font-size: 28px;
    font-weight: 500;
    height: auto;
    width: 100%;
    max-width: none;
    font-family: "BreveSlabTitle", sans-serif;
    line-height: 1.3;
    padding-bottom: 2px;
    padding-right: 90px; }
  .search-box.search-box--neutral > input[type="text"] {
    border-color: #d1d1d2; }
  .search-box > button {
    position: absolute;
    bottom: 14px;
    right: 16px; }
    .search-box > button > .icon-du-cust-search {
      font-size: 26px; }
  .search-box > button.search-clear {
    right: 55px;
    background-color: transparent;
    display: inline-block;
    vertical-align: middle;
    outline: 0;
    cursor: pointer; }
    .search-box > button.search-clear > .icon-du-cust-close {
      font-size: 24px;
      color: #2090ac;
      text-align: center;
      display: block; }
  .search-box > input[name="search"]:not(:valid) ~ .search-clear {
    display: none; }

#main-content .search-results__listing-summary {
  color: #18171e;
  margin-top: 10px; }

#main-content .search-results {
  margin-left: 0;
  border-top: 8px solid #e0e0e0; }
  #main-content .search-results li {
    list-style-type: none;
    border-bottom: 2px solid #e0e0e0;
    padding: 26px 10px 5px 21px;
    margin-left: 0; }
    @media screen and (max-width: 47.9375em) {
      #main-content .search-results li {
        padding-left: 0;
        padding-right: 0; } }
    #main-content .search-results li a {
      display: block;
      text-decoration: none; }
      #main-content .search-results li a h2 {
        font-size: 24px;
        line-height: 26px;
        font-weight: 700;
        color: #2090ac;
        margin-bottom: 13px; }
      #main-content .search-results li a .search-result--type {
        text-transform: uppercase;
        color: #81796f;
        font-weight: bold;
        font-family: "BreveText", sans-serif; }
      #main-content .search-results li a p {
        font-size: 18px;
        line-height: 28px;
        color: #525252;
        margin-bottom: 10px; }
      #main-content .search-results li a .search-result--url {
        color: #727272;
        font-size: 14px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; }
      #main-content .search-results li a:hover, #main-content .search-results li a:focus {
        text-decoration: none; }
        #main-content .search-results li a:hover h2, #main-content .search-results li a:focus h2 {
          color: #05637b; }
        #main-content .search-results li a:hover .search-result--url, #main-content .search-results li a:focus .search-result--url {
          text-decoration: underline; }
    #main-content .search-results li.search-result--keyword-hit {
      background-color: #f9f9f9;
      padding-right: 40px; }

#main-content .search-results--no-pager,
#main-content .search-results__no-results,
#main-content .search-results__error {
  margin-bottom: 56px; }

#main-content .loader {
  display: block;
  margin: 20px auto 40px; }

.du-alert {
  background-color: #faebce; }
  .du-alert > .row > .columns {
    position: relative;
    padding-right: 82px; }
    @media screen and (max-width: 47.9375em) {
      .du-alert > .row > .columns {
        padding-right: 0; } }
    .du-alert > .row > .columns .du-alert__action-button {
      display: none; }
    .js .du-alert > .row > .columns .du-alert__action-button {
      position: absolute;
      right: 30px;
      top: 30px;
      color: #666666;
      font-size: 24px;
      display: block; }
      .js .du-alert > .row > .columns .du-alert__action-button.open .icon-du-down-arrow:before {
        content: "\e802"; }
      .js .du-alert > .row > .columns .du-alert__action-button:hover, .js .du-alert > .row > .columns .du-alert__action-button:focus {
        color: #000000;
        cursor: pointer; }
  .js .du-alert #du-alert__content {
    display: none; }
    .js .du-alert #du-alert__content.du-alert__content--expanded {
      display: block; }
  .du-alert #du-alert__content.du-alert__content--expanded {
    text-align: center; }
    .du-alert #du-alert__content.du-alert__content--expanded p {
      font-size: 16px;
      line-height: 22px;
      color: #302d2e; }
      @media screen and (max-width: 63.9375em) {
        .du-alert #du-alert__content.du-alert__content--expanded p {
          font-size: 15px; } }
      @media screen and (max-width: 63.9375em) {
        .du-alert #du-alert__content.du-alert__content--expanded p {
          font-size: 14px; } }
    .du-alert #du-alert__content.du-alert__content--expanded a {
      color: #302d2e; }
      .du-alert #du-alert__content.du-alert__content--expanded a:hover, .du-alert #du-alert__content.du-alert__content--expanded a:focus {
        color: #560d20; }
  .du-alert h1 {
    font-size: 26px;
    text-transform: uppercase;
    padding-top: 25px;
    margin-bottom: 25px; }
    .du-alert h1:before {
      content: "\e810";
      font-family: "Fontello";
      color: #c50c0c;
      padding-right: 4px; }
    @media screen and (max-width: 47.9375em) {
      .du-alert h1 {
        margin-bottom: 5px;
        padding-right: 20px; } }
    .du-alert h1,
    .du-alert h1 + p {
      display: inline-block; }
      @media screen and (max-width: 47.9375em) {
        .du-alert h1,
        .du-alert h1 + p {
          display: block; } }
    .du-alert h1 + p {
      border-left: 2px solid #ccbda3;
      margin-left: 14px;
      padding-left: 16px;
      font-weight: bold;
      color: #18171e;
      font-size: 24px; }
      @media screen and (max-width: 47.9375em) {
        .du-alert h1 + p {
          border-left: 0 none;
          margin-left: 0;
          padding-left: 0;
          font-size: 20px;
          line-height: 22px; } }
  .js .du-alert--notification {
    display: none; }
    .js .du-alert--notification.du-alert--notification--show {
      display: block; }
    .js .du-alert--notification > .row > .columns .du-alert__action-button {
      top: 27px; }
  .du-alert--notification h1 {
    font-size: 22px; }
    .du-alert--notification h1:before {
      color: #ac9147; }
    .du-alert--notification h1 + p {
      font-size: 18px; }

.catastrophic-alert header {
  background-color: #333335;
  height: auto;
  padding-bottom: 32px;
  padding-top: 40px;
  margin-bottom: 40px; }
  @media screen and (max-width: 63.9375em) {
    .catastrophic-alert header {
      text-align: center;
      padding-bottom: 13px;
      padding-top: 21px;
      padding-left: 62px;
      padding-right: 62px; }
      .catastrophic-alert header img {
        width: 235px;
        height: auto; } }
  @media screen and (max-width: 47.9375em) {
    .catastrophic-alert header {
      padding-left: 22px;
      padding-right: 22px; } }
  .catastrophic-alert header h1 {
    text-transform: uppercase;
    color: white;
    font-size: 50px; }
    .catastrophic-alert header h1:before {
      content: "";
      background: transparent url("../images/alert-attention-circle.png") no-repeat scroll center center;
      background-size: 100% 100%;
      width: 39px;
      height: 39px;
      margin-right: 10px;
      display: inline-block; }
    @media screen and (max-width: 63.9375em) {
      .catastrophic-alert header h1 {
        font-size: 40px;
        margin-top: 14px;
        margin-bottom: 11px; }
        .catastrophic-alert header h1:before {
          width: 31px;
          height: 31px; } }
    @media screen and (max-width: 47.9375em) {
      .catastrophic-alert header h1 {
        font-size: 32px;
        text-align: left;
        padding-left: 49px;
        position: relative;
        max-width: 264px;
        margin-left: auto;
        margin-right: auto; }
        .catastrophic-alert header h1:before {
          width: 33px;
          height: 33px;
          position: absolute;
          left: 0;
          top: 50%;
          margin-top: -17px;
          margin-left: 6px; } }
  .catastrophic-alert header h2 {
    color: white;
    font-size: 38px; }
    @media screen and (max-width: 63.9375em) {
      .catastrophic-alert header h2 {
        font-size: 32px; } }
    @media screen and (max-width: 47.9375em) {
      .catastrophic-alert header h2 {
        font-size: 26px; } }

@media screen and (min-width: 64em) {
  .catastrophic-alert aside {
    padding-right: 8%; } }

.catastrophic-alert aside h3 {
  margin-bottom: 20px;
  font-size: 24px; }

.catastrophic-alert aside h4 {
  margin-bottom: 20px;
  font-size: 22px; }

.catastrophic-alert aside p {
  margin-left: 20px; }
  .catastrophic-alert aside p + h3 {
    margin-top: 36px; }

/* Modal Styles */
.reveal.full {
  background-color: white; }
  .reveal.full .modal_cta_utility h2 {
    font-size: 66px;
    line-height: 66px;
    font-weight: 100;
    margin-bottom: 1em; }
    @media screen and (max-width: 74.9375em) {
      .reveal.full .modal_cta_utility h2 {
        margin-bottom: 0.5em;
        font-size: 55px;
        line-height: 55px; } }
    @media screen and (max-width: 47.9375em) {
      .reveal.full .modal_cta_utility h2 {
        font-size: 38px;
        line-height: 38px; } }
  .reveal.full .modal_cta_utility h4 {
    font-weight: bold; }
  .reveal.full .modal_cta_utility h6 {
    color: #525252; }
  .reveal.full .modal_cta_utility p {
    margin-bottom: 1em; }
  .reveal.full .modal_cta_utility .btn {
    font-size: 19px;
    text-align: center;
    display: block;
    width: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    line-height: 21px;
    margin-bottom: 1em; }
    @media screen and (max-width: 74.9375em) {
      .reveal.full .modal_cta_utility .btn {
        font-size: 17px;
        line-height: 19px; } }
    .reveal.full .modal_cta_utility .btn:hover, .reveal.full .modal_cta_utility .btn:focus {
      cursor: pointer; }

.reveal.modal_wrapper {
  height: 100%; }

#feedback_floater {
  border: 0;
  position: fixed;
  bottom: 0;
  left: 20px;
  z-index: 999;
  display: block;
  background-color: #2090ac;
  -webkit-box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.4); }
  #feedback_floater:hover, #feedback_floater:focus {
    background-color: #05637b; }

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

@font-face {
  font-family: "BreveDisplay";
  src: url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.eot");
  src: url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.eot?#iefix") format("embedded-opentype"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.woff") format("woff"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.ttf") format("truetype"), url("fonts/breve-display-web/stencil/BreveDisplay-Stencil.svg#BreveDisplay") format("svg");
  font-style: normal;
  font-weight: bold; }

@font-face {
  font-family: "BreveNews";
  src: url("fonts/breve-news-web/book/BreveNews-Book.eot");
  src: url("fonts/breve-news-web/book/BreveNews-Book.eot?#iefix") format("embedded-opentype"), url("fonts/breve-news-web/book/BreveNews-Book.woff") format("woff"), url("fonts/breve-news-web/book/BreveNews-Book.ttf") format("truetype"), url("fonts/breve-news-web/book/BreveNews-Book.svg#BreveNews") format("svg");
  font-style: normal;
  font-weight: normal; }

@font-face {
  font-family: "BreveNews";
  src: url("fonts/breve-news-web/book/BreveNews-BookItalic.eot");
  src: url("fonts/breve-news-web/book/BreveNews-BookItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-news-web/book/BreveNews-BookItalic.woff") format("woff"), url("fonts/breve-news-web/book/BreveNews-BookItalic.ttf") format("truetype"), url("fonts/breve-news-web/book/BreveNews-BookItalic.svg#BreveNews") format("svg");
  font-style: italic;
  font-weight: normal; }

@font-face {
  font-family: "BreveNews";
  src: url("fonts/breve-news-web/bold/BreveNews-Bold.eot");
  src: url("fonts/breve-news-web/bold/BreveNews-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/breve-news-web/bold/BreveNews-Bold.woff") format("woff"), url("fonts/breve-news-web/bold/BreveNews-Bold.ttf") format("truetype"), url("fonts/breve-news-web/bold/BreveNews-Bold.svg#BreveNews") format("svg");
  font-style: normal;
  font-weight: bold; }

@font-face {
  font-family: "BreveNews";
  src: url("fonts/breve-news-web/bold/BreveNews-BoldItalic.eot");
  src: url("fonts/breve-news-web/bold/BreveNews-BoldItalic.eot?#iefix") format("embedded-opentype"), url("fonts/breve-news-web/bold/BreveNews-BoldItalic.woff") format("woff"), url("fonts/breve-news-web/bold/BreveNews-BoldItalic.ttf") format("truetype"), url("fonts/breve-news-web/bold/BreveNews-BoldItalic.svg#BreveNews") format("svg");
  font-style: italic;
  font-weight: bold; }

.du-home header {
  height: 837px; }
  @media screen and (max-width: 74.9375em) {
    .du-home header {
      height: 630px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home header {
      height: 500px; } }
  .du-home header:before, .du-home header:after {
    content: "";
    width: 50%;
    border-bottom: 40px solid white;
    position: absolute;
    bottom: 0;
    height: 40px; }
  .du-home header:before {
    border-right: 40px solid transparent;
    left: 0;
    margin-right: 40px; }
  .du-home header:after {
    border-left: 40px solid transparent;
    right: 0;
    margin-left: 40px; }
  @media screen and (max-width: 74.9375em) {
    .du-home header:before, .du-home header:after {
      border-bottom-width: 30px;
      height: 30px; }
    .du-home header:before {
      border-right-width: 30px;
      margin-right: 30px; }
    .du-home header:after {
      border-left-width: 30px;
      margin-left: 30px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home header:before, .du-home header:after {
      display: none; } }
  .du-home header .hero-media {
    /*&:before {
				content: "";
				background-color: rgba(184, 161, 98, 0);
				position: absolute;
				left: 0;
				right: 0;
				top: 0;
				bottom: 0;
				z-index: 1;
				transition: background-color 2s ease;
			}*/ }
    @media screen and (min-width: 64em) {
      .du-home header .hero-media {
        display: block; } }
    .du-home header .hero-media > video {
      width: 100%; }
      @media (min-width: 1200px) and (max-width: 1488px) {
        .du-home header .hero-media > video {
          width: 1488px;
          margin-left: -744px;
          height: 837px;
          left: 50%;
          position: relative;
          min-height: 0;
          min-width: 0; } }
      @media (min-width: 1120px) and (max-width: 1199px) {
        .du-home header .hero-media > video {
          min-width: 100%;
          width: 100%;
          position: static;
          margin-left: 0;
          height: auto; } }
      @media (min-width: 1024px) and (max-width: 1119px) {
        .du-home header .hero-media > video {
          width: 1120px;
          margin-left: -560px;
          height: 630px;
          left: 50%;
          position: relative;
          min-height: 0;
          min-width: 0; } }
      @media screen and (max-width: 63.9375em) {
        .du-home header .hero-media > video {
          width: 1588px;
          margin-left: -794px;
          left: 50%;
          min-height: 0;
          min-width: 0;
          position: relative; } }
      @media screen and (max-width: 47.9375em) {
        .du-home header .hero-media > video {
          width: 1260px;
          margin-left: -630px;
          height: 500px; } }
    @media (min-width: 2111px) {
      .du-home header .hero-media > img {
        width: 100%;
        min-height: auto;
        height: auto; } }
    @media (min-width: 1200px) and (max-width: 2110px) {
      .du-home header .hero-media > img {
        width: 2110px;
        margin-left: -1055px;
        height: 837px;
        left: 50%;
        position: relative;
        min-height: 0;
        min-width: 0; } }
    @media screen and (max-width: 74.9375em) {
      .du-home header .hero-media > img {
        width: 1588px;
        margin-left: -794px;
        height: 630px;
        left: 50%;
        position: relative;
        min-height: 0;
        min-width: 0; } }
    @media screen and (max-width: 47.9375em) {
      .du-home header .hero-media > img {
        width: 1260px;
        margin-left: -630px;
        height: 500px; } }
  .du-home header .hero-media__caption h2 {
    font-size: 78px;
    line-height: 81px;
    color: white;
    font-weight: bold;
    font-family: "BreveDisplay", sans-serif; }
    @media screen and (max-width: 74.9375em) {
      .du-home header .hero-media__caption h2 {
        font-size: 50px;
        line-height: 51px; } }
    @media screen and (max-width: 47.9375em) {
      .du-home header .hero-media__caption h2 {
        font-size: 48px;
        line-height: 51px; } }
    .du-home header .hero-media__caption h2 span.line {
      line-height: 1em;
      display: block; }
      @media screen and (max-width: 47.9375em) {
        .du-home header .hero-media__caption h2 span.line {
          display: inline; } }
  @media screen and (max-width: 74.9375em) {
    .du-home header .hero-media__caption {
      right: 0;
      padding-left: 80px;
      padding-right: 80px;
      bottom: 88px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home header .hero-media__caption {
      padding-left: 22px;
      padding-right: 22px;
      bottom: 29px; } }

.du-home #main-content {
  padding-top: 96px;
  padding-bottom: 150px; }
  @media screen and (max-width: 74.9375em) {
    .du-home #main-content {
      padding-top: 66px;
      padding-bottom: 100px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home #main-content {
      padding-top: 63px;
      padding-bottom: 50px; } }
  .du-home #main-content h2, .du-home #main-content h3, .du-home #main-content h4, .du-home #main-content h5, .du-home #main-content h6 {
    font-weight: 300; }
  .du-home #main-content h2 {
    font-size: 66px;
    line-height: 66px; }
    @media screen and (max-width: 74.9375em) {
      .du-home #main-content h2 {
        font-size: 55px;
        line-height: 55px; } }
    @media screen and (max-width: 47.9375em) {
      .du-home #main-content h2 {
        font-size: 38px;
        line-height: 38px; } }
  .du-home #main-content h3 {
    font-size: 45px;
    line-height: 59px; }
    @media screen and (max-width: 74.9375em) {
      .du-home #main-content h3 {
        font-size: 33px;
        line-height: 44px; } }
  .du-home #main-content p {
    font-family: 'BreveNews', san-serif; }
  .du-home #main-content > .row + .row {
    margin-top: 150px; }
    @media screen and (max-width: 63.9375em) {
      .du-home #main-content > .row + .row {
        margin-top: 70px; } }
    @media screen and (max-width: 47.9375em) {
      .du-home #main-content > .row + .row {
        margin-top: 60px; } }

.du-home .du-home__section-1 {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .du-home .du-home__section-1 p {
    font-size: 24px;
    line-height: 32px; }
    @media screen and (max-width: 74.9375em) {
      .du-home .du-home__section-1 p {
        font-size: 18px;
        line-height: 28px; } }
    @media screen and (max-width: 47.9375em) {
      .du-home .du-home__section-1 p {
        font-size: 16px;
        line-height: 23px; } }
  @media screen and (min-width: 75em) {
    .du-home .du-home__section-1 h2.btm-divider {
      margin-bottom: 53px; }
    .du-home .du-home__section-1 .list-of-links--alt {
      text-align: center; }
      .du-home .du-home__section-1 .list-of-links--alt a {
        text-align: left; } }

.du-home .du-home__academic-programs .search-box {
  max-width: none; }
  .du-home .du-home__academic-programs .search-box input[type="text"] {
    font-weight: 300;
    font-size: 40px;
    line-height: 67px;
    margin-bottom: 1.5rem;
    height: 81px; }
    @media screen and (max-width: 74.9375em) {
      .du-home .du-home__academic-programs .search-box input[type="text"] {
        font-size: 30px;
        line-height: 45px;
        margin-bottom: 26px;
        height: 59px; } }
    @media screen and (max-width: 47.9375em) {
      .du-home .du-home__academic-programs .search-box input[type="text"] {
        font-size: 22px;
        line-height: 37px;
        margin-bottom: 20px;
        padding-left: 5px;
        padding-right: 36px;
        height: 51px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home .du-home__academic-programs .search-box > button {
      right: 8px;
      bottom: 12px; }
      .du-home .du-home__academic-programs .search-box > button > .icon-du-cust-search {
        font-size: 20px; } }

.du-home .du-home__academic-programs .btn {
  font-size: 19px;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 64px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 21px;
  padding-bottom: 5;
  padding-top: 5; }
  @media screen and (max-width: 74.9375em) {
    .du-home .du-home__academic-programs .btn {
      font-size: 17px;
      line-height: 19px; } }
  @media screen and (max-width: 47.9375em) {
    .du-home .du-home__academic-programs .btn {
      height: 84px; } }
  .du-home .du-home__academic-programs .btn .icon-du-cust-search {
    padding-left: 6px; }
  .du-home .du-home__academic-programs .btn:hover, .du-home .du-home__academic-programs .btn:focus {
    cursor: pointer; }

@media screen and (max-width: 47.9375em) {
  .du-home .du-home__academic-programs button {
    margin-bottom: 4px; } }

@media screen and (max-width: 74.9375em) {
  .du-home #main-content > .row.row--expanded {
    max-width: 1200px;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0; } }

.du-home header .hero-media {
  position: fixed; }

.du-home.du-alert--active header .hero-media {
  position: absolute; }

.du-home #main-content,
.du-home footer {
  background-color: white; }

/*.du-home header.header--fade-out-gold {
	.hero-media {
		&:before {
			background-color: rgba(184, 161, 98, 0.25);
		}
	}
}*/
.wide-carousel__wrapper.row {
  max-width: none; }
  .wide-carousel__wrapper.row > .columns {
    padding-left: 0;
    padding-right: 0; }
    .wide-carousel__wrapper.row > .columns > .row {
      margin-left: auto;
      margin-right: auto; }
  @media screen and (max-width: 74.9375em) {
    #main-content .wide-carousel__wrapper.row {
      padding-left: 0;
      padding-right: 0;
      margin-left: 0;
      margin-right: 0; } }

@media screen and (max-width: 47.9375em) {
  .wide-carousel__wrapper .wide-carousel {
    position: relative; }
    .wide-carousel__wrapper .wide-carousel:before {
      content: "";
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
      position: absolute;
      right: 0;
      top: -30px;
      left: auto;
      bottom: 0;
      width: 100%;
      height: 30px;
      z-index: 0; } }

@media screen and (min-width: 48em) {
  .wide-carousel__wrapper .wide-carousel .orbit-slide > .row > .columns:first-child {
    position: relative; }
    .wide-carousel__wrapper .wide-carousel .orbit-slide > .row > .columns:first-child:before {
      content: "";
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
      position: absolute;
      right: 0;
      top: -47px;
      left: auto;
      bottom: 0;
      width: 50%;
      height: 47px;
      z-index: 0; } }
    @media screen and (min-width: 48em) and (max-width: 74.9375em) {
      .wide-carousel__wrapper .wide-carousel .orbit-slide > .row > .columns:first-child:before {
        top: -30px;
        height: 30px; } }

@media screen and (min-width: 64em) {
  .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden; } }
  @media screen and (min-width: 64em) and (min-width: 75em) {
    .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper {
      padding-bottom: 46.25%; }
      .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > * {
        top: -5% !important;
        height: auto !important; } }

@media screen and (min-width: 64em) {
    .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > * {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > video {
      z-index: 2; }
      .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > video + img {
        display: none; }
    .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > img {
      z-index: 1; } }

@media screen and (max-width: 47.9375em) {
  .wide-carousel__wrapper .wide-carousel {
    margin-top: 35px; } }

@media screen and (max-width: 63.9375em) {
  .wide-carousel__wrapper .wide-carousel .wide-carousel__media-wrapper > video {
    display: none; } }

@media screen and (min-width: 48em) {
  .wide-carousel__wrapper.wide-carousel__wrapper--alt .wide-carousel .orbit-slide > .row > .columns:first-child:before {
    right: auto;
    left: 0; } }

.wide-carousel__wrapper .wide-carousel__content {
  margin-bottom: -57px;
  position: relative;
  background-color: white;
  z-index: 3;
  padding: 13px 44px; }
  @media screen and (min-width: 48em) {
    .wide-carousel__wrapper .wide-carousel__content {
      left: -10px; } }
  .wide-carousel__wrapper .wide-carousel__content p {
    font-size: 16px;
    line-height: 24px; }
  @media screen and (max-width: 47.9375em) {
    .wide-carousel__wrapper .wide-carousel__content {
      padding: 15px 22px 0 22px;
      margin-bottom: 0; }
      .wide-carousel__wrapper .wide-carousel__content p {
        font-size: 14px;
        line-height: 19px; } }

@media screen and (min-width: 48em) {
  .wide-carousel__wrapper.wide-carousel__wrapper--alt .wide-carousel__content {
    left: 10px; } }

@media screen and (max-width: 47.9375em) {
  .wide-carousel__wrapper > .columns:first-child {
    padding-left: 22px;
    padding-right: 22px; }
  .wide-carousel__wrapper h3 {
    position: relative;
    z-index: 1; } }

.three-col-facts {
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
  padding-top: 10.3%; }
  @media screen and (max-width: 63.9375em) {
    #main-content .three-col-facts.row {
      margin-left: 24px;
      margin-right: 24px; } }
  @media screen and (max-width: 63.9375em) and (max-width: 47.9375em) {
    #main-content .three-col-facts.row {
      margin-left: 0;
      margin-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .three-col-facts {
      background-image: none !important;
      padding-top: 0; } }
  @media screen and (min-width: 48em) {
    .three-col-facts {
      padding-bottom: 19%; }
      .three-col-facts + .row,
      .three-col-facts + .du-home__quotes__wrapper {
        margin-top: 60px; } }
  @media (min-width: 1600px) {
    .three-col-facts {
      padding-bottom: 235px; } }
  .du-home #main-content .three-col-facts.row {
    margin-top: 60px; }
    @media screen and (max-width: 47.9375em) {
      .du-home #main-content .three-col-facts.row {
        margin-top: 33px; } }
  .three-col-facts .show-for-small-only {
    position: absolute; }
  .three-col-facts .three-col-facts__img.is-stuck {
    z-index: 0; }
  .three-col-facts > .three-col-facts__item {
    position: relative;
    z-index: 1; }
    .three-col-facts > .three-col-facts__item p {
      color: #08657d;
      font-weight: 300;
      font-size: 43px;
      line-height: 59px;
      text-align: center; }
      @media screen and (min-width: 64em) {
        .three-col-facts > .three-col-facts__item p {
          max-width: 300px;
          margin-left: auto;
          margin-right: auto; } }
      @media screen and (max-width: 47.9375em) {
        .three-col-facts > .three-col-facts__item p {
          max-width: 230px;
          margin: 0 auto 60px; } }
      .three-col-facts > .three-col-facts__item p,
      .du-home #main-content .three-col-facts > .three-col-facts__item p {
        font-family: "BreveSlabTitle", sans-serif; }
      @media screen and (max-width: 74.9375em) {
        .three-col-facts > .three-col-facts__item p {
          font-size: 32px;
          line-height: 44px; } }
      .three-col-facts > .three-col-facts__item p strong {
        font-size: 95px;
        line-height: 95px;
        color: #0072bc;
        font-weight: bold;
        display: block; }
        @media screen and (max-width: 74.9375em) {
          .three-col-facts > .three-col-facts__item p strong {
            font-size: 71px;
            line-height: 71px; } }
        .three-col-facts > .three-col-facts__item p strong,
        .du-home #main-content .three-col-facts > .three-col-facts__item p strong {
          font-family: "BreveDisplay", sans-serif; }
    .three-col-facts > .three-col-facts__item + .three-col-facts__item p strong {
      color: #08657d; }
    .three-col-facts > .three-col-facts__item + .three-col-facts__item + .three-col-facts__item p strong {
      color: #00746b; }
    @media screen and (max-width: 47.9375em) {
      .three-col-facts > .three-col-facts__item {
        padding-top: 26px; } }

@media screen {
  .du-home #main-content .swapping-img-feature.row {
    margin-top: 60px; }
  .swapping-img-feature .swapping-img-feature__content {
    background-color: white;
    padding: 24px 44px;
    position: relative; } }
  @media screen and (max-width: 47.9375em) {
    .swapping-img-feature .swapping-img-feature__content {
      padding: 14px 22px 15px; } }
  @media screen and (min-width: 48em) {
    .swapping-img-feature .swapping-img-feature__content {
      top: -76px;
      left: -90px;
      margin-right: -23px;
      z-index: 1; } }
  @media screen and (min-width: 48em) and (max-width: 74.9375em) {
    .swapping-img-feature .swapping-img-feature__content {
      left: -68px; } }

@media screen {
    .swapping-img-feature .swapping-img-feature__content p {
      font-size: 20px;
      line-height: 32px; } }
    @media screen and (max-width: 74.9375em) {
      .swapping-img-feature .swapping-img-feature__content p {
        font-size: 15px;
        line-height: 24px; } }

@media screen {
  .swapping-img-feature .swapping-img-feature__image {
    position: relative;
    padding-left: 0;
    padding-right: 0;
    margin-top: 64px; }
    .swapping-img-feature .swapping-img-feature__image:before {
      content: "";
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
      position: absolute;
      right: 0;
      top: -40px;
      left: 0;
      width: 100%;
      height: 40px;
      z-index: 0; } }
    @media screen and (max-width: 74.9375em) {
      .swapping-img-feature .swapping-img-feature__image:before {
        top: -36px;
        height: 36px; } }

@media screen {
    .swapping-img-feature .swapping-img-feature__image img {
      width: 100%;
      height: auto; } }

@media screen and (max-width: 47.9375em) {
  .du-home #main-content .swapping-img-feature.row {
    margin-top: 0; } }

@media screen {
  .swapping-img-feature.swapping-img-feature--alt .swapping-img-feature__image {
    margin-top: 41px; } }

@media screen and (min-width: 48em) {
  .swapping-img-feature.swapping-img-feature--alt .swapping-img-feature__content {
    left: auto;
    right: -90px;
    margin-right: 0;
    margin-left: -38px;
    top: 0;
    padding-top: 29px; } }
  @media screen and (min-width: 48em) and (max-width: 74.9375em) {
    .swapping-img-feature.swapping-img-feature--alt .swapping-img-feature__content {
      right: -68px; } }

.quotes-module__wrapper {
  position: relative; }
  .quotes-module__wrapper,
  .quotes-module__wrapper + .row {
    margin-top: 150px; }
    @media screen and (max-width: 47.9375em) {
      .quotes-module__wrapper,
      .quotes-module__wrapper + .row {
        margin-top: 60px; } }
  @media screen and (min-width: 75em) {
    .quotes-module__wrapper:before {
      content: "";
      background: transparent url("../images/arrow-pattern.png") repeat scroll 0 0;
      position: absolute;
      right: 0;
      top: 50%;
      margin-top: -175px;
      left: 0;
      width: 100%;
      height: 350px;
      z-index: 0;
      /*@include breakpoint(large down) {
				top: -30px;
				height: 30px;
			}
			@include breakpoint(small down) {
				width: 100%;
			}*/ } }

.quotes-module .orbit-slide > .row {
  margin-left: 0;
  margin-right: 0; }
  .quotes-module .orbit-slide > .row > .columns {
    padding-left: 0;
    padding-right: 0; }

.quotes-module .quotes-module__content {
  background-color: #2090ac;
  padding: 0 250px 0 50px;
  display: table;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .quotes-module .quotes-module__content {
      min-height: 445px; } }
  @media screen and (min-width: 48em) and (max-width: 74.9375em) {
    .quotes-module .quotes-module__content {
      min-height: 345px; } }
  @media screen and (max-width: 74.9375em) {
    .quotes-module .quotes-module__content {
      padding-right: 200px;
      padding-left: 25px; } }
  @media screen and (max-width: 47.9375em) {
    .quotes-module .quotes-module__content {
      padding: 54px 25px; } }
  .quotes-module .quotes-module__content blockquote {
    display: table-cell;
    vertical-align: middle;
    color: white;
    text-align: center;
    font-style: normal;
    padding: 0; }
    .quotes-module .quotes-module__content blockquote p {
      color: white;
      font-family: "BreveDisplay", sans-serif !important;
      font-size: 38px;
      line-height: 51px; }
      @media screen and (max-width: 74.9375em) {
        .quotes-module .quotes-module__content blockquote p {
          font-size: 28px;
          line-height: 38px; } }
      @media screen and (max-width: 63.9375em) {
        .quotes-module .quotes-module__content blockquote p {
          font-size: 26px;
          line-height: 36px; } }
      @media screen and (max-width: 47.9375em) {
        .quotes-module .quotes-module__content blockquote p {
          font-size: 23px;
          line-height: 29px; } }
    .quotes-module .quotes-module__content blockquote cite {
      font-family: "BreveSans", sans-serif;
      font-weight: 500;
      font-style: normal;
      color: white;
      font-size: 18px;
      line-height: 22px; }
      .quotes-module .quotes-module__content blockquote cite:before {
        display: none; }
      .quotes-module .quotes-module__content blockquote cite small {
        font-size: 15px;
        text-transform: uppercase;
        display: block;
        margin-top: 10px; }
    @media screen and (max-width: 47.9375em) {
      .quotes-module .quotes-module__content blockquote {
        padding-bottom: 0;
        margin-bottom: 0; } }

.quotes-module .quotes-module__image {
  position: relative;
  left: -208px;
  margin-right: -200px;
  top: 60px; }
  @media screen and (max-width: 74.9375em) {
    .quotes-module .quotes-module__image {
      left: -158px;
      margin-right: -150px;
      top: 40px; } }
  @media screen and (max-width: 47.9375em) {
    .quotes-module .quotes-module__image {
      left: 0;
      margin-right: 0;
      top: 0; } }

@media screen and (max-width: 47.9375em) {
  .quotes-module .orbit-container {
    background-color: #2090ac; } }

header .hero-media {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  overflow: hidden; }
  header .hero-media > * {
    width: auto;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    max-width: none; }
    @media (max-width: 1356px) {
      header .hero-media > * {
        min-height: 0;
        min-width: 0;
        position: relative;
        left: 50%;
        width: 1356px;
        margin-left: -678px; } }
    @media screen and (max-width: 74.9375em) {
      header .hero-media > * {
        width: 1232px;
        margin-left: -616px; } }
    @media screen and (max-width: 47.9375em) {
      header .hero-media > * {
        width: 1084px;
        margin-left: -542px; } }
  header .hero-media > video + img {
    position: absolute !important;
    top: 0;
    z-index: -1; }
  header .hero-media > video {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 1s ease;
    transition: opacity 1s ease; }
    header .hero-media > video.hero-video--visible {
      opacity: 1;
      visibility: visible; }
  @media screen and (min-width: 64em) {
    header .hero-media {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      /*> video + img {
				display: none;
			}*/ } }

header .hero-media__caption {
  position: absolute;
  width: 100%;
  bottom: 113px; }
  @media screen and (max-width: 74.9375em) {
    header .hero-media__caption {
      right: 55px; } }
  @media screen and (max-width: 63.9375em) {
    header .hero-media__caption {
      right: 22px; } }
  header .hero-media__caption .columns {
    padding-left: 0;
    padding-right: 0; }
  header .hero-media__caption .hero-media__caption__text {
    -webkit-transition: background-color 1s ease;
    transition: background-color 1s ease;
    position: relative;
    float: right;
    right: 0;
    left: unset;
    background-color: rgba(24, 23, 30, 0.6);
    width: 283px; }
    header .hero-media__caption .hero-media__caption__text > a {
      text-decoration: none;
      display: block;
      padding: 9px 56px 13px 16px; }
      header .hero-media__caption .hero-media__caption__text > a:hover, header .hero-media__caption .hero-media__caption__text > a:focus {
        background-color: rgba(24, 23, 30, 0.8); }
        header .hero-media__caption .hero-media__caption__text > a:hover p, header .hero-media__caption .hero-media__caption__text > a:focus p {
          opacity: 1; }
    header .hero-media__caption .hero-media__caption__text p {
      color: #fff;
      opacity: 0.5;
      margin-bottom: 0;
      font-size: 16px;
      line-height: 20px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis; }
    header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler {
      position: absolute;
      bottom: 8px;
      right: 11px; }
      header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler .icon-du-minus,
      header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler .du-icon-minus {
        display: none; }
      header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler [class*="icon-du"],
      header .hero-media__caption .hero-media__caption__text .hero-media__caption__toggler [class*="du-icon"] {
        font-size: 24px;
        color: white; }
  @media screen and (max-width: 63.9375em) {
    header .hero-media__caption.caption-expanded {
      width: auto;
      left: 20px; } }
  header .hero-media__caption.caption-expanded .hero-media__caption__text {
    background-color: rgba(24, 23, 30, 0.9);
    width: auto;
    left: 0;
    margin-left: -54px; }
    @media screen and (max-width: 74.9375em) {
      header .hero-media__caption.caption-expanded .hero-media__caption__text {
        margin-left: 20px; } }
    @media screen and (max-width: 63.9375em) {
      header .hero-media__caption.caption-expanded .hero-media__caption__text {
        margin-left: 0; } }
    header .hero-media__caption.caption-expanded .hero-media__caption__text p {
      opacity: 1;
      white-space: normal; }
  header .hero-media__caption.caption-expanded .hero-media__caption__toggler .icon-du-plus,
  header .hero-media__caption.caption-expanded .hero-media__caption__toggler .du-icon-plus {
    display: none; }
  header .hero-media__caption.caption-expanded .hero-media__caption__toggler .icon-du-minus,
  header .hero-media__caption.caption-expanded .hero-media__caption__toggler .du-icon-minus {
    display: block; }

@media print {
  /*@page {
	  margin: 1cm 2cm 2cm;
	}*/
  header {
    height: auto; }
    header .hero-media,
    header .hero-media__caption,
    header .utility-menu,
    header #main-menu,
    header #search-toggler,
    header #main-menu-toggler {
      display: none; }
    header .sticky.is-stuck {
      position: relative; }
    header #main-menu-wrap a.logo {
      margin-left: 0; }
      header #main-menu-wrap a.logo > span {
        position: static; }
  #main-content {
    margin-left: 20px;
    margin-right: 20px; }
    #main-content .pull-up {
      margin-top: 0;
      padding-left: 0 !important;
      margin-left: 0; }
      #main-content .pull-up h1 {
        margin-top: 80px;
        font-size: 40px;
        margin-bottom: 20px; }
  .intro.large-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .intro.large-offset-1 {
    margin-left: 0; }
  blockquote {
    border: 0 none; }
  .blockquote__background .large-offset-2 {
    margin-left: 0; }
  .academic-filter {
    display: none; }
  .academic-cards-module .ap-item {
    width: 50%;
    position: static !important;
    display: block;
    min-width: 50%;
    page-break-inside: avoid;
    margin-bottom: 1em; }
    .academic-cards-module .ap-item.ap-item--open {
      width: 100%;
      min-width: 100%; }
    .academic-cards-module .ap-item .cards-program__content {
      min-height: 0;
      padding: 5px 0 0 0;
      border-top-width: 3px; }
      .academic-cards-module .ap-item .cards-program__content h2.program-title {
        margin-bottom: 5px;
        font-size: 24px;
        line-height: 28px; }
      .academic-cards-module .ap-item .cards-program__content .academic-card {
        margin-bottom: 5px;
        padding-bottom: 4px;
        font-size: 14px; }
    .academic-cards-module .ap-item .degrees {
      position: static;
      font-size: 13px; }
    .academic-cards-module .ap-item.ap-letter, .academic-cards-module .ap-item.ap-school,
    .academic-cards-module .ap-item .more-button {
      display: none; }
    .academic-cards-module .ap-item .flyout {
      position: static;
      float: none;
      width: 100% !important;
      border-bottom-width: 0; }
      .academic-cards-module .ap-item .flyout .flyout-content__holder {
        padding: 0 10px; }
        .academic-cards-module .ap-item .flyout .flyout-content__holder > .columns {
          max-width: 100%;
          -webkit-box-flex: 0;
          -webkit-flex: 0 0 100%;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%;
          padding-right: 0; }
      .academic-cards-module .ap-item .flyout .cards-module__buttons {
        display: none; }
  .academic-cards-module .js-filter-cards {
    height: auto !important;
    position: static; }
  .copy-module ul {
    margin-left: 10px; }
    .copy-module ul li {
      list-style-type: disc !important; }
  .copy-module.copy-module--image-alt .large-9,
  .copy-module.copy-module--image-alt .large-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .copy-module.copy-module--image-alt .large-3 .content {
    width: 100%;
    left: 0; }
  .information-overview-module .orbit-container {
    height: auto; }
    .information-overview-module .orbit-container .fact .quick-fact-module__content h2 {
      font-size: 28px;
      padding-top: 10px; }
    .information-overview-module .orbit-container .factStatistic {
      height: 50% !important; }
    .information-overview-module .orbit-container ul.list-of-facts li {
      height: auto !important; }
  .related-stories-module .orbit-container {
    height: auto; }
  .related-stories-module .related-stories-module__story {
    page-break-inside: avoid; }
  .related-stories-module .related-stories-module__story__content {
    margin-top: 20px; }
    .related-stories-module .related-stories-module__story__content a {
      text-decoration: none; }
      .related-stories-module .related-stories-module__story__content a .read-more {
        font-weight: bold;
        font-family: "Acto", sans-serif; }
  .stories-module > .row {
    padding-top: 0; }
  .stories-module .stories-module__story .content {
    height: auto !important; }
  .cards-module > .row {
    position: static; }
    .cards-module > .row > .columns .cards-module__content {
      height: auto !important;
      margin-top: 20px; }
      .cards-module > .row > .columns .cards-module__content h4 {
        padding-top: 20px; }
  .accordion .accordion-title {
    padding: 0 0 10px 0; }
    .accordion .accordion-title:before {
      display: none; }
  .accordion .accordion-content {
    display: block; }
  .feature-video-module .blockquote__background .large-offset-7 {
    margin-left: 0;
    max-width: none;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
  .feature-video-module .feature-video-module__video-wrapper {
    position: relative; }
    .feature-video-module .feature-video-module__video-wrapper a.video-toggle {
      text-decoration: none;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0;
      padding: 0;
      display: block;
      z-index: 1;
      opacity: 1; }
      .feature-video-module .feature-video-module__video-wrapper a.video-toggle .video-toggle__text {
        position: absolute;
        bottom: 28px;
        left: 8px;
        color: white; }
        .feature-video-module .feature-video-module__video-wrapper a.video-toggle .video-toggle__text > [class*="icon-du"] {
          font-size: 62px;
          position: relative;
          top: 10px;
          color: white; }
        .feature-video-module .feature-video-module__video-wrapper a.video-toggle .video-toggle__text .icon-du-pause-circled {
          display: none; }
    .feature-video-module .feature-video-module__video-wrapper video {
      width: 100%;
      height: auto; }
  .large-image-module .large-image-module__toggle {
    display: none !important; }
  #events-listing__show-more {
    display: none; }
  .js #events-listing > .columns:nth-child(1n+7) .events-listing__item {
    display: block; }
  #du-alert .du-alert__action-button {
    display: none; }
  #du-alert #du-alert__content {
    display: block !important;
    border-bottom: 2px solid #e0e0e0;
    margin-bottom: 30px; }
  .school-list .accordion-content {
    display: block; }
  #school-list-container .school-name {
    max-width: none;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
  h1, h2, h3, h4, h5 {
    page-break-after: avoid;
    page-break-inside: avoid; }
  ul, ol, img, p, blockquote, table {
    page-break-inside: avoid; }
  .search-results {
    page-break-inside: auto; }
  .img-wrapper__content {
    font-style: italic; }
  .contacts-module {
    /*&:after {
			content: "";
			display: table;
			clear: both;
		}*/ }
    .contacts-module .contacts-module__content {
      height: auto !important; }
  .contact-single-module .contact-single-module_overlay {
    display: none; }
  .contact-single-module .columns {
    max-width: 50%; }
  .contact-single-module .show-for-small-only {
    display: none; }
  .contact-single-module__content {
    height: auto !important; }
    .contact-single-module__content .social-media {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: left;
      -webkit-align-items: left;
      -ms-flex-align: left;
      align-items: left; }
      .contact-single-module__content .social-media li > a {
        padding-left: 0;
        /* These are technically the same, but use both */
        overflow-wrap: break-word;
        word-wrap: break-word;
        -ms-word-break: break-all;
        /* This is the dangerous one in WebKit, as it breaks things wherever */
        word-break: break-all;
        /* Instead use this non-standard one: */
        word-break: break-word;
        /* Adds a hyphen where the word breaks, if supported (No Blink) */
        -ms-hyphens: auto;
        -webkit-hyphens: auto;
        hyphens: auto; }
  ul.two-col li {
    margin-left: 20px;
    list-style-type: disc !important; }
  footer .copyright {
    margin-top: 50px;
    border-top: 6px solid #000000; }
  .sub-menu-wrap,
  .follow-us,
  footer .bg-dark-gray,
  .js .show-hide-toggle {
    display: none; }
  .js .show-hide__contents {
    display: block; }
  .admission-steps .admission-steps__nav {
    display: none; }
  .admission-steps .large-offset-4 {
    margin-left: 0;
    max-width: none;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding-left: 0; }
  .admission-steps .admission-steps__print {
    display: none; }
  .admission-steps .admission-steps__section-name {
    position: static !important;
    width: auto;
    height: auto; }
  .admission-steps .tabs-panel[aria-hidden="true"] {
    display: block !important; }
  .admission-steps .tabs.vertical {
    display: none; }
  .admission-steps > .tabs-content {
    border-width: 0 !important; }
    .admission-steps > .tabs-content .tabs-content {
      border-width: 0 !important; }
      .admission-steps > .tabs-content .tabs-content ul {
        margin-left: 10px; }
        .admission-steps > .tabs-content .tabs-content ul li {
          list-style-type: disc !important; }
    .admission-steps > .tabs-content > .tabs-panel > .row > .large-9 {
      max-width: none;
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
  .admission-steps .sub-step-content {
    min-height: 0 !important;
    border-width: 0 !important; }
    .admission-steps .sub-step-content h4 {
      page-break-after: avoid;
      font-size: 30px;
      line-height: 36px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1ob21lLmNzcyIsImZvdW5kYXRpb24uc2NzcyIsIl9nbG9iYWwuc2NzcyIsInR5cG9ncmFwaHkvX2ZvbnRmYWNlLnNjc3MiLCJfZHUtZm9udHMuc2NzcyIsIi4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwidXRpbC9fbWl4aW5zLnNjc3MiLCJncmlkL19mbGV4LWdyaWQuc2NzcyIsImdyaWQvX3Jvdy5zY3NzIiwidXRpbC9fdW5pdC5zY3NzIiwidXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiZ3JpZC9fZ3V0dGVyLnNjc3MiLCJ1dGlsL19mbGV4LnNjc3MiLCJncmlkL19jb2x1bW4uc2NzcyIsImdyaWQvX3Bvc2l0aW9uLnNjc3MiLCJjb21wb25lbnRzL19mbGV4LnNjc3MiLCJ0eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCJ0eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCJ0eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsInR5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCJmb3Jtcy9fdGV4dC5zY3NzIiwiZm9ybXMvX2NoZWNrYm94LnNjc3MiLCJmb3Jtcy9fbGFiZWwuc2NzcyIsImZvcm1zL19oZWxwLXRleHQuc2NzcyIsImZvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCJmb3Jtcy9fc2VsZWN0LnNjc3MiLCJmb3Jtcy9fZXJyb3Iuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsImNvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsImNvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fbWVudS5zY3NzIiwiY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCJjb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsImNvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCJjb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCJjb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJ1dGlsL19tYXRoLnNjc3MiLCJjb21wb25lbnRzL19sYWJlbC5zY3NzIiwiY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCJjb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCJjb21wb25lbnRzL19vcmJpdC5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCJjb21wb25lbnRzL19zd2l0Y2guc2NzcyIsImNvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJ1dGlsL19jb2xvci5zY3NzIiwiY29tcG9uZW50cy9fdGFicy5zY3NzIiwiY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCJjb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsImNvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsImNvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsImNvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsImNvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsIi4uLy4uL2N1c3RvbS90eXBvZ3JhcGh5LnNjc3MiLCJhcHAtaG9tZS5zY3NzIiwiLi4vLi4vY3VzdG9tL2ZvbnRlbGxvLnNjc3MiLCIuLi8uLi9jdXN0b20vbWVudXMvdG9wLWJhci1tYWluLW1lbnUuc2NzcyIsIi4uLy4uL2N1c3RvbS9tZW51cy91dGlsaXR5LW1lbnUuc2NzcyIsIi4uLy4uL2N1c3RvbS9mb3VuZGF0aW9uLWV4dC5zY3NzIiwiLi4vLi4vY3VzdG9tL21lbnVzL3N1Yi1tZW51LnNjc3MiLCIuLi8uLi9jdXN0b20vZm9vdGVyLnNjc3MiLCIuLi8uLi9jdXN0b20vY29udGVudC1lbGVtZW50cy5zY3NzIiwiLi4vLi4vY3VzdG9tL2xheW91dC5zY3NzIiwiLi4vLi4vY3VzdG9tL21lbnVzL3B1c2gtbWVudS5zY3NzIiwiLi4vLi4vY3VzdG9tL3NlYXJjaC5zY3NzIiwiLi4vLi4vY3VzdG9tL2FsZXJ0LnNjc3MiLCIuLi8uLi9jdXN0b20vbW9kYWwuc2NzcyIsIi4uLy4uL2N1c3RvbS9ob21lLnNjc3MiLCIuLi8uLi9jdXN0b20vbW9kdWxlcy93aWRlLWNhcm91c2VsLnNjc3MiLCIuLi8uLi9jdXN0b20vbW9kdWxlcy90aHJlZS1jb2wtZmFjdHMuc2NzcyIsIi4uLy4uL2N1c3RvbS9tb2R1bGVzL3N3YXBwaW5nLWltZy1mZWF0dXJlLnNjc3MiLCIuLi8uLi9jdXN0b20vbW9kdWxlcy9xdW90ZXMuc2NzcyIsIi4uLy4uL2N1c3RvbS9tb2R1bGVzL2hlcm8tbWVkaWEuc2NzcyIsIi4uLy4uL2N1c3RvbS9wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQ3lESDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXNCRTtBQ25GRDtFQUNDLHlCQ0U0QjtFREQ1Qiw2REFBdUI7RUFDdkIsc1VBRzRDO0VBRTVDLG1CQ0xvRjtFRE1wRixvQkNONEYsRUFBQTs7QURIN0Y7RUFDQyx5QkNHNEI7RURGNUIsbUVBQXVCO0VBQ3ZCLDhWQUc0QztFQUU1QyxtQkNKMEY7RURLMUYsb0JDTGtHLEVBQUE7O0FESm5HO0VBQ0MseUJDSTRCO0VESDVCLHlEQUF1QjtFQUN2QixzVEFHNEM7RUFFNUMsbUJDSGdGO0VESWhGLGtCQ0pzRixFQUFBOztBREx2RjtFQUNDLHlCQ0s0QjtFREo1QiwrREFBdUI7RUFDdkIsOFVBRzRDO0VBRTVDLG1CQ0ZzRjtFREd0RixrQkNINEYsRUFBQTs7QURON0Y7RUFDQyx5QkNRNEI7RURQNUIsa0VBQXVCO0VBQ3ZCLDBWQUc0QztFQUU1QyxtQkNDeUY7RURBekYsaUJDQThGLEVBQUE7O0FEVC9GO0VBQ0MseUJDUzRCO0VEUjVCLHNFQUF1QjtFQUN2QiwwV0FHNEM7RUFFNUMsbUJDRTZGO0VERDdGLGlCQ0NrRyxFQUFBOztBRFZuRztFQUNDLHlCQ1U0QjtFRFQ1QixvRUFBdUI7RUFDdkIsa1dBRzRDO0VBRTVDLG1CQ0cyRjtFREYzRixpQkNFZ0csRUFBQTs7QURYakc7RUFDQyw4QkNhaUM7RURaakMsb0VBQXVCO0VBQ3ZCLHVXQUc0QztFQUU1QyxtQkNNZ0c7RURMaEcsaUJDS3FHLEVBQUE7O0FEZHRHO0VBQ0MsOEJDY2lDO0VEYmpDLDBFQUF1QjtFQUN2QiwrWEFHNEM7RUFFNUMsbUJDT3NHO0VETnRHLGlCQ00yRyxFQUFBOztBRGY1RztFQUNDLDhCQ2VpQztFRGRqQyxvRUFBdUI7RUFDdkIsdVdBRzRDO0VBRTVDLG1CQ1FnRztFRFBoRyxpQkNPcUcsRUFBQTs7QURoQnRHO0VBQ0MsOEJDZ0JpQztFRGZqQywwRUFBdUI7RUFDdkIsK1hBRzRDO0VBRTVDLG1CQ1NzRztFRFJ0RyxpQkNRMkcsRUFBQTs7QURqQjVHO0VBQ0MsOEJDaUJpQztFRGhCakMsc0VBQXVCO0VBQ3ZCLCtXQUc0QztFQUU1QyxtQkNVa0c7RURUbEcsaUJDU3VHLEVBQUE7O0FEbEJ4RztFQUNDLDhCQ2tCaUM7RURqQmpDLDRFQUF1QjtFQUN2Qix1WUFHNEM7RUFFNUMsbUJDV3dHO0VEVnhHLGlCQ1U2RyxFQUFBOztBRG5COUc7RUFDQyxvQkNxQnVCO0VEcEJ2QixnREFBdUI7RUFDdkIsNlFBRzRDO0VBRTVDLG1CQ2NrRTtFRGJsRSxpQkNhdUUsRUFBQTs7QUR0QnhFO0VBQ0MsOEJDd0JpQztFRHZCakMsb0VBQXVCO0VBQ3ZCLHVXQUc0QztFQUU1QyxtQkNpQmdHO0VEaEJoRyxpQkNnQnFHLEVBQUE7O0FEekJ0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RUFpRWhCLDhCQWpFZ0I7RUFpRWhCLCtCQWpFZ0I7TUFpRWhCLDJCQWpFZ0I7VUFpRWhCLHVCQWpFZ0IsRUxtTGI7O0FBRkQ7RUtoSEYsNkJBaEVnQztFQWdFaEMsK0JBaEVnQztFQWdFaEMsdUNBaEVnQztNQWdFaEMsbUNBaEVnQztVQWdFaEMsK0JBaEVnQyxFTGtMN0I7O0FBTUM7RUFDRSxvQk0vSytDO0VOK0svQywyQk0vSytDO01OK0svQyx1Qk0vSytDO1VOK0svQyxtQk0vSytDO0VOZ0wvQyxvQk1oTCtDLEVOaUxoRDs7QUFLRDtFT3pLSixnQkRoQmdDLEVOMkwzQjs7QUFWRDtFQUNFLG9CTS9LK0M7RU4rSy9DLDRCTS9LK0M7TU4rSy9DLHdCTS9LK0M7VU4rSy9DLG9CTS9LK0M7RU5nTC9DLHFCTWhMK0MsRU5pTGhEOztBQUtEO0VPektKLHNCRGJxRCxFTndMaEQ7O0FBVkQ7RUFDRSxvQk0vSytDO0VOK0svQyxzQk0vSytDO01OK0svQyxrQk0vSytDO1VOK0svQyxjTS9LK0M7RU5nTC9DLGVNaEwrQyxFTmlMaEQ7O0FBS0Q7RU96S0osdUJEYnFELEVOd0xoRDs7QUFWRDtFQUNFLG9CTS9LK0M7RU4rSy9DLDRCTS9LK0M7TU4rSy9DLHdCTS9LK0M7VU4rSy9DLG9CTS9LK0M7RU5nTC9DLHFCTWhMK0MsRU5pTGhEOztBQUtEO0VPektKLGlCRGJxRCxFTndMaEQ7O0FBVkQ7RUFDRSxvQk0vSytDO0VOK0svQyw0Qk0vSytDO01OK0svQyx3Qk0vSytDO1VOK0svQyxvQk0vSytDO0VOZ0wvQyxxQk1oTCtDLEVOaUxoRDs7QUFLRDtFT3pLSix1QkRicUQsRU53TGhEOztBQVZEO0VBQ0Usb0JNL0srQztFTitLL0Msc0JNL0srQztNTitLL0Msa0JNL0srQztVTitLL0MsY00vSytDO0VOZ0wvQyxlTWhMK0MsRU5pTGhEOztBQUtEO0VPektKLHVCRGJxRCxFTndMaEQ7O0FBVkQ7RUFDRSxvQk0vSytDO0VOK0svQyw0Qk0vSytDO01OK0svQyx3Qk0vSytDO1VOK0svQyxvQk0vSytDO0VOZ0wvQyxxQk1oTCtDLEVOaUxoRDs7QUFLRDtFT3pLSixpQkRicUQsRU53TGhEOztBQVZEO0VBQ0Usb0JNL0srQztFTitLL0MsNEJNL0srQztNTitLL0Msd0JNL0srQztVTitLL0Msb0JNL0srQztFTmdML0MscUJNaEwrQyxFTmlMaEQ7O0FBS0Q7RU96S0osdUJEYnFELEVOd0xoRDs7QUFWRDtFQUNFLG9CTS9LK0M7RU4rSy9DLHNCTS9LK0M7TU4rSy9DLGtCTS9LK0M7VU4rSy9DLGNNL0srQztFTmdML0MsZU1oTCtDLEVOaUxoRDs7QUFLRDtFT3pLSix1QkRicUQsRU53TGhEOztBQVZEO0VBQ0Usb0JNL0srQztFTitLL0MsNEJNL0srQztNTitLL0Msd0JNL0srQztVTitLL0Msb0JNL0srQztFTmdML0MscUJNaEwrQyxFTmlMaEQ7O0FBS0Q7RU96S0osaUJEYnFELEVOd0xoRDs7QUFWRDtFQUNFLG9CTS9LK0M7RU4rSy9DLDRCTS9LK0M7TU4rSy9DLHdCTS9LK0M7VU4rSy9DLG9CTS9LK0M7RU5nTC9DLHFCTWhMK0MsRU5pTGhEOztBQUtEO0VPektKLHVCRGJxRCxFTndMaEQ7O0FBVkQ7RUFDRSxvQk0vSytDO0VOK0svQyx1Qk0vSytDO01OK0svQyxtQk0vSytDO1VOK0svQyxlTS9LK0M7RU5nTC9DLGdCTWhMK0MsRU5pTGhEOztBQUtEO0VPektKLHVCRGJxRCxFTndMaEQ7O0FBS0Q7RUtqSkosNkJMZ0pnQjtFS2hKaEIsaUJMZ0pnQjtNS2hKaEIsa0JMZ0pnQjtVS2hKaEIsU0xnSmdCLEVBR1g7O0FBRkQ7RUtqSkosNkJMZ0pnQjtFS2hKaEIsaUJMZ0pnQjtNS2hKaEIsa0JMZ0pnQjtVS2hKaEIsU0xnSmdCLEVBR1g7O0FBRkQ7RUtqSkosNkJMZ0pnQjtFS2hKaEIsaUJMZ0pnQjtNS2hKaEIsa0JMZ0pnQjtVS2hKaEIsU0xnSmdCLEVBR1g7O0FBRkQ7RUtqSkosNkJMZ0pnQjtFS2hKaEIsaUJMZ0pnQjtNS2hKaEIsa0JMZ0pnQjtVS2hKaEIsU0xnSmdCLEVBR1g7O0FBRkQ7RUtqSkosNkJMZ0pnQjtFS2hKaEIsaUJMZ0pnQjtNS2hKaEIsa0JMZ0pnQjtVS2hKaEIsU0xnSmdCLEVBR1g7O0FBRkQ7RUtqSkosNkJMZ0pnQjtFS2hKaEIsaUJMZ0pnQjtNS2hKaEIsa0JMZ0pnQjtVS2hKaEIsU0xnSmdCLEVBR1g7O0FBS0Q7RUF6SEosd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBMkhWO0VBekhIO0lBR0Esb0JBRnNCO0lBRXRCLHVCQUZzQjtRQUV0QixtQkFGc0I7WUFFdEIsZUFGc0I7SUFHdEIsZ0JBSHNCLEVBSXZCOztBQWtIRztFQXpISix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUEySFY7RUF6SEg7SUFHQSxvQkFGc0I7SUFFdEIsc0JBRnNCO1FBRXRCLGtCQUZzQjtZQUV0QixjQUZzQjtJQUd0QixlQUhzQixFQUl2Qjs7QUFrSEc7RUF6SEosd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBMkhWO0VBekhIO0lBR0Esb0JBRnNCO0lBRXRCLDRCQUZzQjtRQUV0Qix3QkFGc0I7WUFFdEIsb0JBRnNCO0lBR3RCLHFCQUhzQixFQUl2Qjs7QUFrSEc7RUF6SEosd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBMkhWO0VBekhIO0lBR0Esb0JBRnNCO0lBRXRCLHNCQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBa0hHO0VBekhKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTJIVjtFQXpISDtJQUdBLG9CQUZzQjtJQUV0QixzQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQWtIRztFQXpISix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUEySFY7RUF6SEg7SUFHQSxvQkFGc0I7SUFFdEIsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQWtIRztFQXpISix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUEySFY7RUF6SEg7SUFHQSxvQkFGc0I7SUFFdEIsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQWtIRztFQXpISix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUEySFY7RUF6SEg7SUFHQSxvQkFGc0I7SUFFdEIsd0JBRnNCO1FBRXRCLG9CQUZzQjtZQUV0QixnQkFGc0I7SUFHdEIsaUJBSHNCLEVBSXZCOztBQWlLQztFSTFQQSxpQkFGcUM7RUFHckMsZ0JBSHFDLEVKNlBPOztBQUc1QztFSTlQQSwwQkFGcUM7RUFHckMseUJBSHFDLEVKaVFnQjs7QUdySG5EO0VIMkNBO0lBQ0Usb0JNL0srQztJTitLL0MsMkJNL0srQztRTitLL0MsdUJNL0srQztZTitLL0MsbUJNL0srQztJTmdML0Msb0JNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixnQkRoQmdDLEVOMkwzQjtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixzQkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyxzQk0vSytDO1FOK0svQyxrQk0vSytDO1lOK0svQyxjTS9LK0M7SU5nTC9DLGVNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSix1QkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyw0Qk0vSytDO1FOK0svQyx3Qk0vSytDO1lOK0svQyxvQk0vSytDO0lOZ0wvQyxxQk1oTCtDLEVOaUxoRDtFQUtEO0lPektKLGlCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLDRCTS9LK0M7UU4rSy9DLHdCTS9LK0M7WU4rSy9DLG9CTS9LK0M7SU5nTC9DLHFCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0Msc0JNL0srQztRTitLL0Msa0JNL0srQztZTitLL0MsY00vSytDO0lOZ0wvQyxlTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixpQkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyw0Qk0vSytDO1FOK0svQyx3Qk0vSytDO1lOK0svQyxvQk0vSytDO0lOZ0wvQyxxQk1oTCtDLEVOaUxoRDtFQUtEO0lPektKLHVCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLHNCTS9LK0M7UU4rSy9DLGtCTS9LK0M7WU4rSy9DLGNNL0srQztJTmdML0MsZU1oTCtDLEVOaUxoRDtFQUtEO0lPektKLHVCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLDRCTS9LK0M7UU4rSy9DLHdCTS9LK0M7WU4rSy9DLG9CTS9LK0M7SU5nTC9DLHFCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osaUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSix1QkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyx1Qk0vSytDO1FOK0svQyxtQk0vSytDO1lOK0svQyxlTS9LK0M7SU5nTC9DLGdCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQUtEO0lLakpKLDZCTGdKZ0I7SUtoSmhCLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosNkJMZ0pnQjtJS2hKaEIsaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSiw2QkxnSmdCO0lLaEpoQixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZEO0lLakpKLDZC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QUs1QjtFRzFHTDtJSG1HRTtNQUtNLG9CQTdNRTtNQTZNRixzQkE3TUU7VUE2TUYsa0JBN01FO2NBNk1GLGNBN01FLEVBK01MLEVBQUE7O0FHMUdMO0VIZ0hGO0lJMVBBLGlCQUZxQztJQUdyQyxnQkFIcUMsRUo2UE87RUFHNUM7SUk5UEEsMEJBRnFDO0lBR3JDLHlCQUhxQyxFSmlRZ0IsRUFBQTs7QUdySG5EO0VIMkNBO0lBQ0Usb0JNL0srQztJTitLL0MsMkJNL0srQztRTitLL0MsdUJNL0srQztZTitLL0MsbUJNL0srQztJTmdML0Msb0JNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixnQkRoQmdDLEVOMkwzQjtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixzQkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyxzQk0vSytDO1FOK0svQyxrQk0vSytDO1lOK0svQyxjTS9LK0M7SU5nTC9DLGVNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSix1QkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyw0Qk0vSytDO1FOK0svQyx3Qk0vSytDO1lOK0svQyxvQk0vSytDO0lOZ0wvQyxxQk1oTCtDLEVOaUxoRDtFQUtEO0lPektKLGlCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLDRCTS9LK0M7UU4rSy9DLHdCTS9LK0M7WU4rSy9DLG9CTS9LK0M7SU5nTC9DLHFCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0Msc0JNL0srQztRTitLL0Msa0JNL0srQztZTitLL0MsY00vSytDO0lOZ0wvQyxlTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixpQkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyw0Qk0vSytDO1FOK0svQyx3Qk0vSytDO1lOK0svQyxvQk0vSytDO0lOZ0wvQyxxQk1oTCtDLEVOaUxoRDtFQUtEO0lPektKLHVCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLHNCTS9LK0M7UU4rSy9DLGtCTS9LK0M7WU4rSy9DLGNNL0srQztJTmdML0MsZU1oTCtDLEVOaUxoRDtFQUtEO0lPektKLHVCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLDRCTS9LK0M7UU4rSy9DLHdCTS9LK0M7WU4rSy9DLG9CTS9LK0M7SU5nTC9DLHFCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osaUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSix1QkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyx1Qk0vSytDO1FOK0svQyxtQk0vSytDO1lOK0svQyxlTS9LK0M7SU5nTC9DLGdCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQUtEO0lLakpKLDZCTGdKZ0I7SUtoSmhCLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosNkJMZ0pnQjtJS2hKaEIsaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSiw2QkxnSmdCO0lLaEpoQixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZEO0lLakpKLDZCTGdKZ0I7SUtoSmhCLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosNkJMZ0pnQjtJS2hKaEIsaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSiw2QkxnSmdCO0lLaEpoQixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUtEO0lBekhKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTJIVjtJQXpISDtNQUdBLG9CQUZzQjtNQUV0Qix1QkFGc0I7VUFFdEIsbUJBRnNCO2NBRXRCLGVBRnNCO01BR3RCLGdCQUhzQixFQUl2QjtFQWtIRztJQXpISix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUEySFY7SUF6SEg7TUFHQSxvQkFGc0I7TUFFdEIsc0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQWtIRztJQXpISix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUEySFY7SUF6SEg7TUFHQSxvQkFGc0I7TUFFdEIsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBa0hHO0lBekhKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTJIVjtJQXpISDtNQUdBLG9CQUZzQjtNQUV0QixzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBa0hHO0lBekhKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTJIVjtJQXpISDtNQUdBLG9CQUZzQjtNQUV0QixzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBa0hHO0lBekhKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTJIVjtJQXpISDtNQUdBLG9CQUZzQjtNQUV0Qiw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFrSEc7SUF6SEosd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBMkhWO0lBekhIO01BR0Esb0JBRnNCO01BRXRCLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQWtIRztJQXpISix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUEySFY7SUF6SEg7TUFHQSxvQkFGc0I7TUFFdEIsd0JBRnNCO1VBRXRCLG9CQUZzQjtjQUV0QixnQkFGc0I7TUFHdEIsaUJBSHNCLEVBSXZCLEVBQUE7O0FHaURHO0VIeUVFO0lBQ0Usb0JBL0tNO0lBK0tOLHNCQS9LTTtRQStLTixrQkEvS007WUErS04sY0EvS00sRUFnTFAsRUFBQTs7QUczRUg7RUhnRkU7SUs3Sk4sK0JBbkVVO0lBbUVWLDhCQW5FVTtJQW1FViw0QkFuRVU7UUFtRVYsd0JBbkVVO1lBbUVWLG9CQW5FVSxFTGtPSDtFQUZEO0lLN0pOLCtCQWxFMEI7SUFrRTFCLCtCQWxFMEI7SUFrRTFCLG9DQWxFMEI7UUFrRTFCLGdDQWxFMEI7WUFrRTFCLDRCQWxFMEIsRUxpT25CO0VBRkQ7SUs3Sk4sNkJBakVnQjtJQWlFaEIsOEJBakVnQjtJQWlFaEIsK0JBakVnQjtRQWlFaEIsMkJBakVnQjtZQWlFaEIsdUJBakVnQixFTGdPVDtFQUZEO0lLN0pOLDZCQWhFZ0M7SUFnRWhDLCtCQWhFZ0M7SUFnRWhDLHVDQWhFZ0M7UUFnRWhDLG1DQWhFZ0M7WUFnRWhDLCtCQWhFZ0MsRUwrTnpCO0VBR0g7SUFDRSxvQkFBYztJQUFkLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2Y7RUFFRDtJQUNFLG9CQUFjO0lBQWQsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFDZjtFQUVEO0lBQ0Usb0JBQWM7SUFBZCx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYyxFQUNmLEVBQUE7O0FBSUM7RUFFSSxvQkFBMkI7RUFBM0IsdUJBQTJCO01BQTNCLG1CQUEyQjtVQUEzQixlQUEyQixFQUs1QjtFRzFHTDtJSG1HRTtNQUtNLG9CQTdNRTtNQTZNRixzQkE3TUU7VUE2TUYsa0JBN01FO2NBNk1GLGNBN01FLEVBK01MLEVBQUE7O0FHMUdMO0VIZ0hGO0lJMVBBLGlCQUZxQztJQUdyQyxnQkFIcUMsRUo2UE87RUFHNUM7SUk5UEEsMEJBRnFDO0lBR3JDLHlCQUhxQyxFSmlRZ0IsRUFBQTs7QUdySG5EO0VIMkNBO0lBQ0Usb0JNL0srQztJTitLL0MsMkJNL0srQztRTitLL0MsdUJNL0srQztZTitLL0MsbUJNL0srQztJTmdML0Msb0JNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixnQkRoQmdDLEVOMkwzQjtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixzQkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyxzQk0vSytDO1FOK0svQyxrQk0vSytDO1lOK0svQyxjTS9LK0M7SU5nTC9DLGVNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSix1QkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyw0Qk0vSytDO1FOK0svQyx3Qk0vSytDO1lOK0svQyxvQk0vSytDO0lOZ0wvQyxxQk1oTCtDLEVOaUxoRDtFQUtEO0lPektKLGlCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLDRCTS9LK0M7UU4rSy9DLHdCTS9LK0M7WU4rSy9DLG9CTS9LK0M7SU5nTC9DLHFCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0Msc0JNL0srQztRTitLL0Msa0JNL0srQztZTitLL0MsY00vSytDO0lOZ0wvQyxlTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixpQkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyw0Qk0vSytDO1FOK0svQyx3Qk0vSytDO1lOK0svQyxvQk0vSytDO0lOZ0wvQyxxQk1oTCtDLEVOaUxoRDtFQUtEO0lPektKLHVCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLHNCTS9LK0M7UU4rSy9DLGtCTS9LK0M7WU4rSy9DLGNNL0srQztJTmdML0MsZU1oTCtDLEVOaUxoRDtFQUtEO0lPektKLHVCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLDRCTS9LK0M7UU4rSy9DLHdCTS9LK0M7WU4rSy9DLG9CTS9LK0M7SU5nTC9DLHFCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osaUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSix1QkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyx1Qk0vSytDO1FOK0svQyxtQk0vSytDO1lOK0svQyxlTS9LK0M7SU5nTC9DLGdCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQUtEO0lLakpKLDZCTGdKZ0I7SUtoSmhCLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosNkJMZ0pnQjtJS2hKaEIsaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSiw2QkxnSmdCO0lLaEpoQixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZEO0lLakpKLDZCTGdKZ0I7SUtoSmhCLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosNkJMZ0pnQjtJS2hKaEIsaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSiw2QkxnSmdCO0lLaEpoQixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0Is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b0JNL0srQztJTitLL0MsMkJNL0srQztRTitLL0MsdUJNL0srQztZTitLL0MsbUJNL0srQztJTmdML0Msb0JNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixnQkRoQmdDLEVOMkwzQjtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixzQkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyxzQk0vSytDO1FOK0svQyxrQk0vSytDO1lOK0svQyxjTS9LK0M7SU5nTC9DLGVNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSix1QkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyw0Qk0vSytDO1FOK0svQyx3Qk0vSytDO1lOK0svQyxvQk0vSytDO0lOZ0wvQyxxQk1oTCtDLEVOaUxoRDtFQUtEO0lPektKLGlCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLDRCTS9LK0M7UU4rSy9DLHdCTS9LK0M7WU4rSy9DLG9CTS9LK0M7SU5nTC9DLHFCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0Msc0JNL0srQztRTitLL0Msa0JNL0srQztZTitLL0MsY00vSytDO0lOZ0wvQyxlTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSixpQkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyw0Qk0vSytDO1FOK0svQyx3Qk0vSytDO1lOK0svQyxvQk0vSytDO0lOZ0wvQyxxQk1oTCtDLEVOaUxoRDtFQUtEO0lPektKLHVCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLHNCTS9LK0M7UU4rSy9DLGtCTS9LK0M7WU4rSy9DLGNNL0srQztJTmdML0MsZU1oTCtDLEVOaUxoRDtFQUtEO0lPektKLHVCRGJxRCxFTndMaEQ7RUFWRDtJQUNFLG9CTS9LK0M7SU4rSy9DLDRCTS9LK0M7UU4rSy9DLHdCTS9LK0M7WU4rSy9DLG9CTS9LK0M7SU5nTC9DLHFCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osaUJEYnFELEVOd0xoRDtFQVZEO0lBQ0Usb0JNL0srQztJTitLL0MsNEJNL0srQztRTitLL0Msd0JNL0srQztZTitLL0Msb0JNL0srQztJTmdML0MscUJNaEwrQyxFTmlMaEQ7RUFLRDtJT3pLSix1QkRicUQsRU53TGhEO0VBVkQ7SUFDRSxvQk0vSytDO0lOK0svQyx1Qk0vSytDO1FOK0svQyxtQk0vSytDO1lOK0svQyxlTS9LK0M7SU5nTC9DLGdCTWhMK0MsRU5pTGhEO0VBS0Q7SU96S0osdUJEYnFELEVOd0xoRDtFQUtEO0lLakpKLDZCTGdKZ0I7SUtoSmhCLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosNkJMZ0pnQjtJS2hKaEIsaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSiw2QkxnSmdCO0lLaEpoQixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUZEO0lLakpKLDZCTGdKZ0I7SUtoSmhCLGlCTGdKZ0I7UUtoSmhCLGtCTGdKZ0I7WUtoSmhCLFNMZ0pnQixFQUdYO0VBRkQ7SUtqSkosNkJMZ0pnQjtJS2hKaEIsaUJMZ0pnQjtRS2hKaEIsa0JMZ0pnQjtZS2hKaEIsU0xnSmdCLEVBR1g7RUFGRDtJS2pKSiw2QkxnSmdCO0lLaEpoQixpQkxnSmdCO1FLaEpoQixrQkxnSmdCO1lLaEpoQixTTGdKZ0IsRUFHWDtFQUtEO0lBekhKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTJIVjtJQXpISDtNQUdBLG9CQUZzQjtNQUV0Qix1QkFGc0I7VUFFdEIsbUJBRnNC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QUFGRDtFSG1ESiw2QkdwRGdCO0VIb0RoQixpQkdwRGdCO01Ib0RoQixrQkdwRGdCO1VIb0RoQixTR3BEZ0IsRUFHWDs7QUFGRDtFSG1ESiw2QkdwRGdCO0VIb0RoQixpQkdwRGdCO01Ib0RoQixrQkdwRGdCO1VIb0RoQixTR3BEZ0IsRUFHWDs7QUFGRDtFSG1ESiw2QkdwRGdCO0VIb0RoQixpQkdwRGdCO01Ib0RoQixrQkdwRGdCO1VIb0RoQixTR3BEZ0IsRUFHWDs7QUFGRDtFSG1ESiw2QkdwRGdCO0VIb0RoQixpQkdwRGdCO01Ib0RoQixrQkdwRGdCO1VIb0RoQixTR3BEZ0IsRUFHWDs7QUx3SUQ7RUsxSUE7SUhtREosNkJHcERnQjtJSG9EaEIsaUJHcERnQjtRSG9EaEIsa0JHcERnQjtZSG9EaEIsU0dwRGdCLEVBR1g7RUFGRDtJSG1ESiw2QkdwRGdCO0lIb0RoQixpQkdwRGdCO1FIb0RoQixrQkdwRGdCO1lIb0RoQixTR3BEZ0IsRUFHWDtFQUZEO0lIbURKLDZCR3BEZ0I7SUhvRGhCLGlCR3BEZ0I7UUhvRGhCLGtCR3BEZ0I7WUhvRGhCLFNHcERnQixFQUdYO0VBRkQ7SUhtREosNkJHcERnQjtJSG9EaEIsaUJHcERnQjtRSG9EaEIsa0JHcERnQjtZSG9EaEIsU0dwRGdCLEVBR1g7RUFGRDtJSG1ESiw2QkdwRGdCO0lIb0RoQixpQkdwRGdCO1FIb0RoQixrQkdwRGdCO1lIb0RoQixTR3BEZ0IsRUFHWDtFQUZEO0lIbURKLDZCR3BEZ0I7SUhvRGhCLGlCR3BEZ0I7UUhvRGhCLGtCR3BEZ0I7WUhvRGhCLFNHcERnQixFQUdYLEVBQUE7O0FMd0lEO0VLMUlBO0lIbURKLDZCR3BEZ0I7SUhvRGhCLGlCR3BEZ0I7UUhvRGhCLGtCR3BEZ0I7WUhvRGhCLFNHcERnQixFQUdYO0VBRkQ7SUhtREosNkJHcERnQjtJSG9EaEIsaUJHcERnQjtRSG9EaEIsa0JHcERnQjtZSG9EaEIsU0dwRGdCLEVBR1g7RUFGRDtJSG1ESiw2QkdwRGdCO0lIb0RoQixpQkdwRGdCO1FIb0RoQixrQkdwRGdCO1lIb0RoQixTR3BEZ0IsRUFHWDtFQUZEO0lIbURKLDZCR3BEZ0I7SUhvRGhCLGlCR3BEZ0I7UUhvRGhCLGtCR3BEZ0I7WUhvRGhCLFNHcERnQixFQUdYO0VBRkQ7SUhtREosNkJHcERnQjtJSG9EaEIsaUJHcERnQjtRSG9EaEIsa0JHcERnQjtZSG9EaEIsU0dwRGdCLEVBR1g7RUFGRDtJSG1ESiw2QkdwRGdCO0lIb0RoQixpQkdwRGdCO1FIb0RoQixrQkdwRGdCO1lIb0RoQixTR3BEZ0IsRUFHWCxFQUFBOztBTHdJRDtFSzFJQTtJSG1ESiw2QkdwRGdCO0lIb0RoQixpQkdwRGdCO1FIb0RoQixrQkdwRGdCO1lIb0RoQixTR3BEZ0IsRUFHWDtFQUZEO0lIbURKLDZCR3BEZ0I7SUhvRGhCLGlCR3BEZ0I7UUhvRGhCLGtCR3BEZ0I7WUhvRGhCLFNHcERnQixFQUdYO0VBRkQ7SUhtREosNkJHcERnQjtJSG9EaEIsaUJHcERnQjtRSG9EaEIsa0JHcERnQjtZSG9EaEIsU0dwRGdCLEVBR1g7RUFGRDtJSG1ESiw2QkdwRGdCO0lIb0RoQixpQkdwRGdCO1FIb0RoQixrQkdwRGdCO1lIb0RoQixTR3BEZ0IsRUFHWDtFQUZEO0lIbURKLDZCR3BEZ0I7SUhvRGhCLGlCR3BEZ0I7UUhvRGhCLGtCR3BEZ0I7WUhvRGhCLFNHcERnQixFQUdYO0VBRkQ7SUhtREosNkJHcERnQjtJSG9EaEIsaUJHcERnQjtRSG9EaEIsa0JHcERnQjtZSG9EaEIsU0dwRGdCLEVBR1gsRUFBQTs7QUx3SUQ7RUsxSUE7SUhtREosNkJHcERnQjtJSG9EaEIsaUJHcERnQjtRSG9EaEIsa0JHcERnQjtZSG9EaEIsU0dwRGdCLEVBR1g7RUFGRDtJSG1ESiw2QkdwRGdCO0lIb0RoQixpQkdwRGdCO1FIb0RoQixrQkdwRGdCO1lIb0RoQixTR3BEZ0IsRUFHWDtFQUZEO0lIbURKLDZCR3BEZ0I7SUhvRGhCLGlCR3BEZ0I7UUhvRGhCLGtCR3BEZ0I7WUhvRGhCLFNHcERnQixFQUdYO0VBRkQ7SUhtREosNkJHcERnQjtJSG9EaEIsaUJHcERnQjtRSG9EaEIsa0JHcERnQjtZSG9EaEIsU0dwRGdCLEVBR1g7RUFGRDtJSG1ESiw2QkdwRGdCO0lIb0RoQixpQkdwRGdCO1FIb0RoQixrQkdwRGdCO1lIb0RoQixTR3BEZ0IsRUFHWDtFQUZEO0lIbURKLDZCR3BEZ0I7SUhvRGhCLGlCR3BEZ0I7UUhvRGhCLGtCR3BEZ0I7WUhvRGhCLFNHcERnQixFQUdYLEVBQUE7O0FDdU9MOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxvQlh4STBCO0VXMEkxQixtQkFBa0I7RUFDbEIsa0JYNUl1QjtFVzZJdkIsbUNYM0l5QyxFVzRJMUM7O0FBR0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFHRDs7RUFFRSxrQlhuT3FCO0VXb09yQixxQkFBb0IsRUFDckI7O0FBR0Q7RUFDRSxlWGxLaUI7RVdtS2pCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7O0VBTUUsMENYL002QztFV2dON0MsbUJYOU1zQjtFVytNdEIsb0JYdlB5QjtFV3dQekIsZVg5TWtCO0VXK01sQixtQ1hsTHNDLEVXd0x2QztFQWhCRDs7Ozs7O0lBYUksZUFBYztJQUNkLGVYdlFlLEVXd1FoQjs7QUFRRztFQUlJLHNCUHZQNkM7RU9tUTdDLGlCWDNPVztFV21QWCxjQUFhO0VBT2Isc0JYelBpQixFVzJQcEI7O0FBakNEO0VBSUksc0JQdlA2QztFT21RN0MsaUJYM09XO0VXbVBYLGNBQWE7RUFPYixzQlh6UGlCLEVXMlBwQjs7QUFqQ0Q7RUFJSSxzQlB2UDZDO0VPbVE3QyxpQlgzT1c7RVdtUFgsY0FBYTtFQU9iLHNCWHpQaUIsRVcyUHBCOztBQWpDRDtFQUlJLHNCUHZQNkM7RU9tUTdDLGlCWDNPVztFV21QWCxjQUFhO0VBT2Isc0JYelBpQixFVzJQcEI7O0FBakNEO0VBSUksc0JQdlA2QztFT21RN0MsaUJYM09XO0VXbVBYLGNBQWE7RUFPYixzQlh6UGlCLEVXMlBwQjs7QUFqQ0Q7RUFJSSxzQlB2UDZDO0VPbVE3QyxpQlgzT1c7RVdtUFgsY0FBYTtFQU9iLHNCWHpQaUIsRVcyUHBCOztBTjVNSDtFTTJLRTtJQUlJLHNCUHZQNkMsRU9vUmhEO0VBakNEO0lBSUksZ0JQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxzQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLHNCUHZQNkMsRU9vUmhEO0VBakNEO0lBSUksc0JQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxzQlB2UDZDLEVPb1JoRCxFQUFBOztBTjVNSDtFTTJLRTtJQUlJLHNCUHZQNkMsRU9vUmhEO0VBakNEO0lBSUksc0JQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxzQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLHNCUHZQNkMsRU9vUmhEO0VBakNEO0lBSUksc0JQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxzQlB2UDZDLEVPb1JoRCxFQUFBOztBQU1QO0VBQ0UscUJBQW9CO0VBQ3BCLGVYaFVjO0VXaVVkLHNCWDNOeUI7RVc2TnpCLGdCQUFlLEVBYWhCO0VBbEJEO0lBU0ksZVhsTzJELEVXc081RDtFQWJIO0lBZ0JJLFVBQVMsRUFDVjs7QUFJSDtFQUNFLFlBQVc7RUFFWCx1QlBsVHFEO0VPbVRyRCxVQUFTO0VBQ1QsK0JYOU9nQztFV2dQaEMsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNYblB5QjtFV29QekIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQlh4UTBCO0VXeVExQiw2Qlh2UHlCO0VXd1B6QixrQlgzUXVCLEVXNFF4Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLGtCWGpRbUI7RVdrUW5CLHNCWHBRa0IsRVdxUW5COztBQUdEO0VBQ0Usa0JYdlFtQixFV3dRcEI7O0FBR0Q7RUFFSSxxQlg1UTJCO0VXNlEzQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQlhsUnlCLEVXd1IxQjtFQVBEO0lBSUksc0JYblI4QjtJV29SOUIsa0JYclhtQixFV3NYcEI7O0FBSUg7RUFDRSxpQlhqVDBCO0VXa1QxQixxRFAxV3FEO0VPMldyRCxvQlh6UnNCLEVXK1J2QjtFQVREO0lBTUksa0JYdlRxQjtJV3dUckIsZVgvUm9CLEVXZ1NyQjs7QUFJSDtFQUNFLGVBQWM7RUFDZCxnQlB0WHFEO0VPdVhyRCxlWG5TZ0IsRVd3U2pCO0VBUkQ7SUFNSSxjWHJTZ0IsRUFBYTs7QVcwU2pDO0VBQ0Usa0NYM1pXO0VXNFpYLGVYelpxQjtFVzBackIsYUFBWSxFQUNiOztBQUdEO0VBQ0UsVUFBUyxFQUNWOztBQUdEO0VBQ0UsMENQNVlxRDtFTzhZckQsMEJYM2FpQjtFVzRhakIsMEJYN2FnQjtFVythaEIsMENYM1hnRDtFVzRYaEQsb0JYcmF5QjtFV3NhekIsZVg5YVcsRVcrYVo7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsaUNQcFpTO0VPc1pULDBCWHpiZ0I7RVcyYmhCLDBDWHZZZ0Q7RVd3WWhELGVYemJXLEVXOGJaOztBQzVjRDtFQUNFLG1CWjZJeUI7RVk1SXpCLHNCWjZJNEI7RVkzSTVCLG9CWmtCeUI7RVlqQnpCLGlCWnNJc0I7RVlySXRCLGVaT2UsRVlOaEI7O0FBR0Q7RUFDRSxrQlo4SHFDO0VZN0hyQyxpQlo4SGlCLEVZN0hsQjs7QUFHRDtFQUNFLGtCWitIbUI7RVk5SG5CLGVBQWMsRUFLZjtFQUhDO0lBQ0Usa0JBQWlCLEVBQ2xCOztBQUlIO0VBQ0UsZUFBZ0M7RUFDaEMsaUJBQWdCLEVBQ2pCOztBQzlETztFQUNFLGlCQVJlLEVBU2hCOztBQUZEO0VBQ0Usa0JBUnNCLEVBU3ZCOztBQUZEO0VBQ0UsbUJBUjhCLEVBUy9COztBQUZEO0VBQ0Usb0JBUnVDLEVBU3hDOztBUmdKTDtFUXZKSTtJQUNFLGlCQUhlLEVBSWhCO0VBRkQ7SUFDRSxrQkFIc0IsRUFJdkI7RUFGRDtJQUNFLG1CQUg4QixFQUkvQjtFQUZEO0lBQ0Usb0JBSHVDLEVBSXhDLEVBQUE7O0FScUpMO0VRdkpJO0lBQ0UsaUJBSGUsRUFJaEI7RUFGRDtJQUNFLGtCQUhzQixFQUl2QjtFQUZEO0lBQ0UsbUJBSDhCLEVBSS9CO0VBRkQ7SUFDRSxvQkFIdUMsRUFJeEMsRUFBQTs7QVJxSkw7RVF2Skk7SUFDRSxpQkFIZSxFQUloQjtFQUZEO0lBQ0Usa0JBSHNCLEVBSXZCO0VBRkQ7SUFDRSxtQkFIOEIsRUFJL0I7RUFGRDtJQUNFLG9CQUh1QyxFQUl4QyxFQUFBOztBUnFKTDtFUXZKSTtJQUNFLGlCQUhlLEVBSWhCO0VBRkQ7SUFDRSxrQkFIc0IsRUFJdkI7RUFGRDtJQUNFLG1CQUg4QixFQUkvQjtFQUZEO0lBQ0Usb0JBSHVDLEVBSXhDLEVBQUE7O0FDRVQ7RUFBa0IseUJBQXdCLEVBQUs7O0FBRS9DO0VBQ0U7SUFFSSxtQ0FBa0M7SUFHcEMsb0NBQTJCO1lBQTNCLDRCQUEyQjtJQUUzQix3QkFBdUI7SUFDdkIsNkJBQTRCLEVBQzdCO0VBRUQ7SUFBa0IsMEJBQXlCLEVBQUs7RUFDaEQ7SUFBa0IseUJBQXdCLEVBQUs7RUFFL0M7SUFBdUIsMEJBQXlCLEVBQUs7RUFDckQ7SUFBdUIsdUNBQXNDLEVBQUs7RUFDbEU7SUFBdUIsb0NBQW1DLEVBQUs7RUFDL0Q7SUFBb0IsOEJBQTZCLEVBQUs7RUFDdEQ7SUFBb0IsK0JBQThCLEVBQUs7RUFDdkQ7SUFBb0IsK0JBQThCLEVBQUs7RUFHdkQ7O0lBQ1ksMkJBQTBCLEVBQUk7RUFFeEM7SUFBZ0IsNkJBQTRCLEVBQUk7RUFJbEQ7OztJQUVxQixZQUFXLEVBQUs7RUFHckM7SUFBb0IsOEJBQTZCLEVBQUk7RUFHckQ7O0lBRUUsMEJkS2E7SWNKYix5QkFBd0IsRUFDekI7RUFHRDtJQUFRLDRCQUEyQixFQUFLO0VBRXhDOztJQUNNLHlCQUF3QixFQUFLO0VBRW5DO0lBQU0sMkJBQTBCLEVBQUs7RUFFckM7SUFBUSxjQUFhLEVBQUE7RUFFckI7OztJQUdFLFdBQVU7SUFDVixVQUFTLEVBQ1Y7RUFHRDs7SUFDSyx3QkFBdUIsRUFBSyxFQUFBOztBdEI0eURyQzs7RXVCM3lERSxlQUFjO0VBQ2QsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixZQUFXO0VBQ1gsbUJBTGlFO0VBTWpFLHVCWEt1RDtFV0p2RCxvQkFBMEI7RUFFMUIsMEJmM0JtQjtFZTRCbkIsaUJmaEJlO0VlaUJmLDBCZjFCYTtFZTJCYiwwRGY1QmE7VWU0QmIsa0RmNUJhO0VlOEJiLHFDZm9TeUM7RWVuU3pDLHNCWEp1RDtFV0t2RCxvQmZ4QjJCO0VleUIzQixlZitSbUI7RWU1UmpCLDRFZnlTOEQ7RWV6UzlELG9FZnlTOEQ7RWV6UzlELDREZnlTOEQ7RWV6UzlELHFGZnlTOEQ7RWVwUjlELHlCQUFnQjtLQUFoQixzQkFBZ0I7VUFBaEIsaUJBQWdCLEVBQ2pCO0V2QnF4REQ7O0l1QnR5REUsY0FBYTtJQUNiLDBCZjNDZTtJZTRDZiwwQmYxQ1c7SWUyQ1gsb0NmOUNpQjtZZThDakIsNEJmOUNpQjtJZWlEZiw0RWY4UjREO0llOVI1RCxvRWY4UjREO0llOVI1RCw0RGY4UjREO0llOVI1RCxxRmY4UjRELEVlNVIvRDs7QUFZRDtFQUNFLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZWZ3UDJCLEVldlA1Qjs7QUFMSDs7RUFJSSxlZndQMkIsRWV2UDVCOztBQUxIOztFQUlJLGVmd1AyQixFZXZQNUI7O0FBTEg7OztFQVVJLDBCZmxGYztFZW1GZCxvQmY0UDZCLEVlM1A5Qjs7QXZCcXhETDs7RXVCL3dESSx5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixpQmY5RWEsRWUrRWQ7O0FBR0Q7RUFDRSwrQkFBc0I7VUFBdEIsdUJBQXNCLEVBQ3ZCOztBdkJneERIOzs7RXdCLzVESSx1Qlo0RXFELEVZM0V0RDs7QXhCbTZESDs7RXdCOTVESSxzQkFBcUI7RUFDckIseUJBQXdCO0VBRXhCLHdCQUFrRDtFQUNsRCx5QlprRXFEO0VZakVyRCxpQkFBZ0IsRUFLakI7RXhCMjVERDs7SXdCNzVESSxnQkFBZSxFQUNoQjs7QUFJSDs7RUFFRSx5QkFBbUQsRUFDcEQ7O0F4QjY1REg7RXdCejVESSxZQUFXLEVBQ1o7O0FDR0Q7RUFqQkEsZUFBYztFQUNkLFVBQVM7RUFFVCxzQmI0RHVEO0VhM0R2RCxrQmpCeUN1QjtFaUJ4Q3ZCLGlCakIyVjBCO0VpQjFWMUIsZWpCdVZ3QixFaUJ0VXZCO0VBTkQ7SUFMQSx1QmJtRHVEO0lhbER2RCxrQkFBOEQsRUFTM0Q7O0FDMUJIO0VBR0Usd0JBRnVDO0VBR3ZDLHNCZCtEcUQ7RWM5RHJELG1CbEJ1VndCO0VrQnRWeEIsZWxCb1ZvQixFa0JuVnJCOztBQ0ZEO0VBQ0UscUJBQWlDO0VBQWpDLHNCQUFpQztFQUFqQyxxQkFBaUM7RUFBakMsY0FBaUM7RUFDakMsWUFBVztFQUNYLDBCZjJEcUQ7RWV4RG5ELDJCQUFvQjtFQUFwQiw2QkFBb0I7TUFBcEIsd0JBQW9CO1VBQXBCLHFCQUFvQixFQVl2QjtFQWxCRDtJQVVJLHVCbkJtQ1csRW1CbENaO0VBWEg7SUFlTSx1QkFBaUgsRUFDbEg7O0FBSUw7Ozs7RUFDRSxVQUFTO0VBQ1Qsb0JBQW1CLEVBTXBCOztBQUVEO0VBRUUsZ0JuQjJUdUI7RW1CMVR2QiwwQm5CQWlCO0VtQkNqQixvQm5CRmdCO0VtQkloQixlbkJvVHdCO0VtQm5UeEIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUdqQixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWM7RUFBZCx1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYztFQUNkLDBCQUFtQjtFQUFuQiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQixFQWdCdEI7RUE3QkQ7SUFzQk0sZ0JBQWlDLEVBQ2xDO0VBdkJMO0lBMEJNLGVBQWdDLEVBQ2pDOztBQUlMO0VBRUUsaUJBQWdCO0VBR2Qsb0JBQWE7RUFBYixzQkFBYTtNQUFiLGtCQUFhO1VBQWIsY0FBYTtFQUNiLGFBQVk7RUFDWixhQUFZLEVBS2Y7O0FBRUQ7RUFFRSxlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLG1CQUFrQjtFQUdoQixvQkFBYztFQUFkLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjLEVBa0JqQjtFQXpCRDs7OztJQW1CSSxtQkFoRzZDO0lBaUc3QyxlQUFjO0lBQ2Qsa0JBQWlCO0lBRWpCLHNCZnBDbUQsRWVxQ3BEOztBQ3RGSDtFQUNFLFVBQVM7RUFDVCxXQUFVO0VBQ1YsVUFBUyxFQUNWOztBQUVEO0VBQ0UsZ0JBQWU7RUFDZiwwQkFBa0MsRUFDbkM7O0FBRUQ7RUF6QkEsZWhCb0VXO0VnQm5FWCxvQmhCOER1RDtFZ0I3RHZELDBCcEIrVWlDLEVvQnRUaEM7RUF2QkQ7SUFFRSxVQUFTO0lBQ1QseUJoQndEcUQ7SWdCdkRyRCxzQmhCdURxRDtJZ0J0RHJELG9CcEI0QlcsRW9CM0JaOztBQzhDRDtFQTFEQSxtQkFGaUU7RUFHakUsdUJqQmdFdUQ7RWlCL0R2RCxvQkFBNEI7RUFFNUIseUJBQWdCO0tBQWhCLHNCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsMEJyQitCbUI7RXFCOUJuQixpQnJCMENlO0VxQnpDZiwwQnJCZ0NhO0VxQjlCYixxQ3JCK1Z5QztFcUI5VnpDLHNCakJ1RHVEO0VpQnREdkQsb0JBQW1CO0VBQ25CLGVyQjBWbUI7RUMvUG5CLHlPQUF5TjtFb0J2RnZOLCtCQUE4QjtFQUM5Qiw4Q0FBMEQ7RUFDMUQsNkJBQTRCO0VBQzVCLHlCQUF3QjtFQUV4QiwwQkFBdUQ7RUFJdkQsNEVyQjBWOEQ7RXFCMVY5RCxvRXJCMFY4RDtFcUIxVjlELDREckIwVjhEO0VxQjFWOUQscUZyQjBWOEQsRXFCdlQvRDtFcEI2Q0Q7SW9CL0NBO01wQmtESSx3V0FBdVcsRW9CaEQxVyxFQUFBO0VBL0JEO0lBQ0UsY0FBYTtJQUNiLDBCckJNZTtJcUJMZiwwQnJCT1c7SXFCTlgsb0NyQkdpQjtZcUJIakIsNEJyQkdpQjtJcUJBZiw0RXJCK1U0RDtJcUIvVTVELG9FckIrVTREO0lxQi9VNUQsNERyQitVNEQ7SXFCL1U1RCxxRnJCK1U0RCxFcUI3VS9EO0VBR0Q7SUFDRSwwQnJCUGdCO0lxQlFoQixvQnJCdVUrQixFcUJ0VWhDO0VBR0Q7SUFDRSxjQUFhLEVBQ2Q7RUFFRDtJQUNFLGFBQVk7SUFDWix1QkFBc0IsRUFDdkI7O0FDakNEO0VBQ0Usc0J0QldZO0VzQlZaLDBCQUErRCxFQUloRTtFQUhDO0lBQ0UsZXRCUVUsRXNCUFg7RUFGRDtJQUNFLGV0QlFVLEVzQlBYO0VBRkQ7SUFDRSxldEJRVSxFc0JQWDs7QUF5QkQ7RUFD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YztFRGpCZCwyQ0NpQ2U7VURqQ2YsbUNDaUNlO0VDZ0JiLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCO0VDdkJ2Qix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxxQ0FGeUI7TUFFekIsaUNBRnlCO1VBRXpCLDZCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsbUNDa0JjO1VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7VURqQ2YsbUNDaUNlO0VDZ0JiLGlDQUZ5QjtNQUV6Qiw2QkFGeUI7VUFFekIseUJBRnlCO0VDdkJ2Qix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxxQ0FGeUI7TUFFekIsaUNBRnlCO1VBRXpCLDZCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsbUNDa0JjO1VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7VURqQ2YsbUNDaUNlO0VDZ0JiLFdGaENrQztFSUFsQyxxQ0FBNEI7RUFBNUIsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGaENxQyxFRGNwQzs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsV0YvQmtDO0VJRGxDLHFDQUE0QjtFQUE1Qiw2QkFBNEIsRUxFM0I7O0FBVUQ7RUdvQkEsV0YvQnFDLEVEYXBDOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyw4QkY1Qm1EO01FNEJuRCwwQkY1Qm1EO1VFNEJuRCxzQkY1Qm1EO0VNR2pELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxnQ0YzQnFEO01FMkJyRCw0QkYzQnFEO1VFMkJyRCx3QkYzQnFEO0VNRW5ELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYixzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VIbUNqQyxpQ0YxQnNEO01FMEJ0RCw2QkYxQnNEO1VFMEJ0RCx5QkYxQnNEO0VNQ3BELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYixzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VIa0MvQiwrQkZ6Qm9EO01FeUJwRCwyQkZ6Qm9EO1VFeUJwRCx1QkZ6Qm9EO0VNQWxELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsbUNDa0JjO1VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7VURqQ2YsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5Qyw4QkZ0Qm1EO01Fc0JuRCwwQkZ0Qm1EO1VFc0JuRCxzQkZ0Qm1EO0VNSGpELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxnQ0ZyQnFEO01FcUJyRCw0QkZyQnFEO1VFcUJyRCx3QkZyQnFEO0VNSm5ELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0ZwQnNEO01Fb0J0RCw2QkZwQnNEO1VFb0J0RCx5QkZwQnNEO0VNTHBELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSxzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VDcUIvQixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QywrQkZuQm9EO01FbUJwRCwyQkZuQm9EO1VFbUJwRCx1QkZuQm9EO0VNTmxELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSxzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VDb0I3QixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUN1QmpDLFdBQThCLEVQSi9COztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2Qywy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bUJLLDBCQUF5QixFQUM1QjtFQXBCRjtJQXNCRSxjQUFhLEVBQ2I7RUF2QkY7SUF5QkUsMkJBQTBCLEVBYzFCO0lBdkNGO01BMkJHLDJCQUEwQixFQU8xQjtNQWxDSDtRQTZCSSxrQkFBaUIsRUFJakI7UUFqQ0o7VUErQkssaUNBQWdDLEVBQ2hDO0lBaENMO01Bb0NHLGdCQUFlO01BQ1osb0JBQWM7TUFBZCx1QkFBYztVQUFkLG1CQUFjO2NBQWQsZUFBYyxFQUNqQjtFQXRDSDtJQXlDRSx5QkFBd0I7SUFDeEIsMkJBQTBCLEVBTTFCO0lBaERGO01BNENHLHdCQUFzQjtNQUN0QixnQkFBZTtNQUNmLGtCQUFpQixFQUNqQixFQUFBIiwiZmlsZSI6ImFwcC1ob21lLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMFxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qQGltcG9ydCAndHlwb2dyYXBoeS9mb250ZmFjZSc7XG5cbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVUZXh0JywgJy9jc3MvZm9udHMvdjEvYnJldmUtdGV4dC13ZWIvbWVkaXVtL0JyZXZlVGV4dC1NZWRpdW0nLCBub3JtYWwsIG5vcm1hbCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlVGV4dCcsICcvY3NzL2ZvbnRzL3YxL2JyZXZlLXRleHQtd2ViL21lZGl1bS9CcmV2ZVRleHQtTWVkaXVtSXRhbGljJywgaXRhbGljLCBub3JtYWwpO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVRleHQnLCAnL2Nzcy9mb250cy92MS9icmV2ZS10ZXh0LXdlYi9ib2xkL0JyZXZlVGV4dC1Cb2xkJywgbm9ybWFsLCBib2xkKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVUZXh0JywgJy9jc3MvZm9udHMvdjEvYnJldmUtdGV4dC13ZWIvYm9sZC9CcmV2ZVRleHQtQm9sZEl0YWxpYycsIGl0YWxpYywgYm9sZCk7XG5cbi8vIE5hdmlnYXRpb24gRm9udFxuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNhbnMnLCAnL2Nzcy9mb250cy92MS9icmV2ZS1zYW5zLXRleHQtd2ViL2Jvb2svQnJldmVTYW5zVGV4dC1Cb29rJywgbm9ybWFsLCA1MDApO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNhbnMnLCAnL2Nzcy9mb250cy92MS9icmV2ZS1zYW5zLXRleHQtd2ViL0JyZXZlU2Fuc1RleHQtTWVkaXVtJywgbm9ybWFsLCA2MDApO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNhbnMnLCAnL2Nzcy9mb250cy92MS9icmV2ZS1zYW5zLXRleHQtd2ViL0JyZXZlU2Fuc1RleHQtQmxhY2snLCBub3JtYWwsIDgwMCk7XG5cbi8vIEhlYWRsaW5lIEZvbnRcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnL2Nzcy9mb250cy92MS9icmV2ZS1zbGFiLXRpdGxlLXdlYi9saWdodC9CcmV2ZVNsYWJUaXRsZS1MaWdodCcsIG5vcm1hbCwgMzAwKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnL2Nzcy9mb250cy92MS9icmV2ZS1zbGFiLXRpdGxlLXdlYi9saWdodC9CcmV2ZVNsYWJUaXRsZS1MaWdodEl0YWxpYycsIGl0YWxpYywgMzAwKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnL2Nzcy9mb250cy92MS9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib2xkL0JyZXZlU2xhYlRpdGxlLUJvbGQnLCBub3JtYWwsIDcwMCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2xhYlRpdGxlJywgJy9jc3MvZm9udHMvdjEvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9sZC9CcmV2ZVNsYWJUaXRsZS1Cb2xkSXRhbGljJywgaXRhbGljLCA3MDApO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNsYWJUaXRsZScsICcvY3NzL2ZvbnRzL3YxL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JsYWNrL0JyZXZlU2xhYlRpdGxlLUJsYWNrJywgbm9ybWFsLCA4MDApO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNsYWJUaXRsZScsICcvY3NzL2ZvbnRzL3YxL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JsYWNrL0JyZXZlU2xhYlRpdGxlLUJsYWNrSXRhbGljJywgaXRhbGljLCA4MDApO1xuXG4vL0NhbGwgdG8gQWN0aW9uIEZvbnRcbkBpbmNsdWRlIGZvbnRGYWNlICgnQWN0bycsICcvY3NzL2ZvbnRzL3YxL2FjdG8td2ViL2JsYWNrL0FjdG8tQmxhY2snLCBub3JtYWwsIDgwMCk7XG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyZXZlVGV4dFwiO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLXRleHQtd2ViL21lZGl1bS9CcmV2ZVRleHQtTWVkaXVtLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS10ZXh0LXdlYi9tZWRpdW0vQnJldmVUZXh0LU1lZGl1bS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJmb250cy9icmV2ZS10ZXh0LXdlYi9tZWRpdW0vQnJldmVUZXh0LU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImZvbnRzL2JyZXZlLXRleHQtd2ViL21lZGl1bS9CcmV2ZVRleHQtTWVkaXVtLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtdGV4dC13ZWIvbWVkaXVtL0JyZXZlVGV4dC1NZWRpdW0uc3ZnI0JyZXZlVGV4dFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVUZXh0XCI7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtdGV4dC13ZWIvbWVkaXVtL0JyZXZlVGV4dC1NZWRpdW1JdGFsaWMuZW90XCIpO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLXRleHQtd2ViL21lZGl1bS9CcmV2ZVRleHQtTWVkaXVtSXRhbGljLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLXRleHQtd2ViL21lZGl1bS9CcmV2ZVRleHQtTWVkaXVtSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiZm9udHMvYnJldmUtdGV4dC13ZWIvbWVkaXVtL0JyZXZlVGV4dC1NZWRpdW1JdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJmb250cy9icmV2ZS10ZXh0LXdlYi9tZWRpdW0vQnJldmVUZXh0LU1lZGl1bUl0YWxpYy5zdmcjQnJldmVUZXh0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCcmV2ZVRleHRcIjtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS10ZXh0LXdlYi9ib2xkL0JyZXZlVGV4dC1Cb2xkLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS10ZXh0LXdlYi9ib2xkL0JyZXZlVGV4dC1Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLXRleHQtd2ViL2JvbGQvQnJldmVUZXh0LUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250cy9icmV2ZS10ZXh0LXdlYi9ib2xkL0JyZXZlVGV4dC1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtdGV4dC13ZWIvYm9sZC9CcmV2ZVRleHQtQm9sZC5zdmcjQnJldmVUZXh0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVUZXh0XCI7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtdGV4dC13ZWIvYm9sZC9CcmV2ZVRleHQtQm9sZEl0YWxpYy5lb3RcIik7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtdGV4dC13ZWIvYm9sZC9CcmV2ZVRleHQtQm9sZEl0YWxpYy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJmb250cy9icmV2ZS10ZXh0LXdlYi9ib2xkL0JyZXZlVGV4dC1Cb2xkSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiZm9udHMvYnJldmUtdGV4dC13ZWIvYm9sZC9CcmV2ZVRleHQtQm9sZEl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLXRleHQtd2ViL2JvbGQvQnJldmVUZXh0LUJvbGRJdGFsaWMuc3ZnI0JyZXZlVGV4dFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyZXZlU2Fuc1wiO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLXNhbnMtdGV4dC13ZWIvYm9vay9CcmV2ZVNhbnNUZXh0LUJvb2suZW90XCIpO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLXNhbnMtdGV4dC13ZWIvYm9vay9CcmV2ZVNhbnNUZXh0LUJvb2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2Fucy10ZXh0LXdlYi9ib29rL0JyZXZlU2Fuc1RleHQtQm9vay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImZvbnRzL2JyZXZlLXNhbnMtdGV4dC13ZWIvYm9vay9CcmV2ZVNhbnNUZXh0LUJvb2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJmb250cy9icmV2ZS1zYW5zLXRleHQtd2ViL2Jvb2svQnJldmVTYW5zVGV4dC1Cb29rLnN2ZyNCcmV2ZVNhbnNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyZXZlU2Fuc1wiO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLXNhbnMtdGV4dC13ZWIvbWVkaXVtL0JyZXZlU2Fuc1RleHQtTWVkaXVtLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1zYW5zLXRleHQtd2ViL21lZGl1bS9CcmV2ZVNhbnNUZXh0LU1lZGl1bS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJmb250cy9icmV2ZS1zYW5zLXRleHQtd2ViL21lZGl1bS9CcmV2ZVNhbnNUZXh0LU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImZvbnRzL2JyZXZlLXNhbnMtdGV4dC13ZWIvbWVkaXVtL0JyZXZlU2Fuc1RleHQtTWVkaXVtLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2Fucy10ZXh0LXdlYi9tZWRpdW0vQnJldmVTYW5zVGV4dC1NZWRpdW0uc3ZnI0JyZXZlU2Fuc1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVTYW5zXCI7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtc2Fucy10ZXh0LXdlYi9ibGFjay9CcmV2ZVNhbnNUZXh0LUJsYWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1zYW5zLXRleHQtd2ViL2JsYWNrL0JyZXZlU2Fuc1RleHQtQmxhY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2Fucy10ZXh0LXdlYi9ibGFjay9CcmV2ZVNhbnNUZXh0LUJsYWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2Fucy10ZXh0LXdlYi9ibGFjay9CcmV2ZVNhbnNUZXh0LUJsYWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2Fucy10ZXh0LXdlYi9ibGFjay9CcmV2ZVNhbnNUZXh0LUJsYWNrLnN2ZyNCcmV2ZVNhbnNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyZXZlU2xhYlRpdGxlXCI7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9vay9CcmV2ZVNsYWJUaXRsZS1Cb29rLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib29rL0JyZXZlU2xhYlRpdGxlLUJvb2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9vay9CcmV2ZVNsYWJUaXRsZS1Cb29rLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9vay9CcmV2ZVNsYWJUaXRsZS1Cb29rLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9vay9CcmV2ZVNsYWJUaXRsZS1Cb29rLnN2ZyNCcmV2ZVNsYWJUaXRsZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVTbGFiVGl0bGVcIjtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib29rL0JyZXZlU2xhYlRpdGxlLUJvb2tJdGFsaWMuZW90XCIpO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2Jvb2svQnJldmVTbGFiVGl0bGUtQm9va0l0YWxpYy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib29rL0JyZXZlU2xhYlRpdGxlLUJvb2tJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib29rL0JyZXZlU2xhYlRpdGxlLUJvb2tJdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib29rL0JyZXZlU2xhYlRpdGxlLUJvb2tJdGFsaWMuc3ZnI0JyZXZlU2xhYlRpdGxlXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCcmV2ZVNsYWJUaXRsZVwiO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JvbGQvQnJldmVTbGFiVGl0bGUtQm9sZC5lb3RcIik7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9sZC9CcmV2ZVNsYWJUaXRsZS1Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JvbGQvQnJldmVTbGFiVGl0bGUtQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JvbGQvQnJldmVTbGFiVGl0bGUtQm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JvbGQvQnJldmVTbGFiVGl0bGUtQm9sZC5zdmcjQnJldmVTbGFiVGl0bGVcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyZXZlU2xhYlRpdGxlXCI7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9sZC9CcmV2ZVNsYWJUaXRsZS1Cb2xkSXRhbGljLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib2xkL0JyZXZlU2xhYlRpdGxlLUJvbGRJdGFsaWMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9sZC9CcmV2ZVNsYWJUaXRsZS1Cb2xkSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9sZC9CcmV2ZVNsYWJUaXRsZS1Cb2xkSXRhbGljLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9sZC9CcmV2ZVNsYWJUaXRsZS1Cb2xkSXRhbGljLnN2ZyNCcmV2ZVNsYWJUaXRsZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVTbGFiVGl0bGVcIjtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ibGFjay9CcmV2ZVNsYWJUaXRsZS1CbGFjay5lb3RcIik7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYmxhY2svQnJldmVTbGFiVGl0bGUtQmxhY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYmxhY2svQnJldmVTbGFiVGl0bGUtQmxhY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ibGFjay9CcmV2ZVNsYWJUaXRsZS1CbGFjay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JsYWNrL0JyZXZlU2xhYlRpdGxlLUJsYWNrLnN2ZyNCcmV2ZVNsYWJUaXRsZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVTbGFiVGl0bGVcIjtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ibGFjay9CcmV2ZVNsYWJUaXRsZS1CbGFja0l0YWxpYy5lb3RcIik7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYmxhY2svQnJldmVTbGFiVGl0bGUtQmxhY2tJdGFsaWMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYmxhY2svQnJldmVTbGFiVGl0bGUtQmxhY2tJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ibGFjay9CcmV2ZVNsYWJUaXRsZS1CbGFja0l0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JsYWNrL0JyZXZlU2xhYlRpdGxlLUJsYWNrSXRhbGljLnN2ZyNCcmV2ZVNsYWJUaXRsZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQWN0b1wiO1xuICBzcmM6IHVybChcImZvbnRzL2FjdG8td2ViL2JsYWNrL0FjdG8tQmxhY2suZW90XCIpO1xuICBzcmM6IHVybChcImZvbnRzL2FjdG8td2ViL2JsYWNrL0FjdG8tQmxhY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvYWN0by13ZWIvYmxhY2svQWN0by1CbGFjay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImZvbnRzL2FjdG8td2ViL2JsYWNrL0FjdG8tQmxhY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJmb250cy9hY3RvLXdlYi9ibGFjay9BY3RvLUJsYWNrLnN2ZyNBY3RvXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCcmV2ZVNsYWJUaXRsZVwiO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL3RoaW4vQnJldmVTbGFiVGl0bGUtVGhpbi5lb3RcIik7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvdGhpbi9CcmV2ZVNsYWJUaXRsZS1UaGluLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL3RoaW4vQnJldmVTbGFiVGl0bGUtVGhpbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL3RoaW4vQnJldmVTbGFiVGl0bGUtVGhpbi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL3RoaW4vQnJldmVTbGFiVGl0bGUtVGhpbi5zdmcjQnJldmVTbGFiVGl0bGVcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyZXZlRGlzcGxheVwiO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLWRpc3BsYXktd2ViL3N0ZW5jaWwvQnJldmVEaXNwbGF5LVN0ZW5jaWwuZW90XCIpO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLWRpc3BsYXktd2ViL3N0ZW5jaWwvQnJldmVEaXNwbGF5LVN0ZW5jaWwuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtZGlzcGxheS13ZWIvc3RlbmNpbC9CcmV2ZURpc3BsYXktU3RlbmNpbC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImZvbnRzL2JyZXZlLWRpc3BsYXktd2ViL3N0ZW5jaWwvQnJldmVEaXNwbGF5LVN0ZW5jaWwudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJmb250cy9icmV2ZS1kaXNwbGF5LXdlYi9zdGVuY2lsL0JyZXZlRGlzcGxheS1TdGVuY2lsLnN2ZyNCcmV2ZURpc3BsYXlcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgc3JjOiB1cmwoXCJmb250cy9mb250ZWxsby1pY29ucy9mb250ZWxsby5lb3Q/NjMzMzI4NDZcIik7XG4gIHNyYzogdXJsKFwiZm9udHMvZm9udGVsbG8taWNvbnMvZm9udGVsbG8uZW90PzYzMzMyODQ2I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJmb250cy9mb250ZWxsby1pY29ucy9mb250ZWxsby53b2ZmMj82MzMzMjg0NlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiZm9udHMvZm9udGVsbG8taWNvbnMvZm9udGVsbG8ud29mZj82MzMzMjg0NlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250cy9mb250ZWxsby1pY29ucy9mb250ZWxsby50dGY/NjMzMzI4NDZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcImZvbnRzL2ZvbnRlbGxvLWljb25zL2ZvbnRlbGxvLnN2Zz82MzMzMjg0NiNmb250ZWxsb1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQ4ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW0meHh4bGFyZ2U9MTE4Ljc1ZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNTI1MjUyO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDY2LjY2NjY3cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yMjIyMnJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjIyMjJyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjQ0NDQ0cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNDQ0NDRyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNDQ0NDRyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC40NDQ0NHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC40NDQ0NHJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjQ0NDQ0cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjQ0NDQ0cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNDQ0NDRyZW07IH0gfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJvdy5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93LFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjIyMjIycmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuMjIyMjJyZW07XG4gIG1pbi13aWR0aDogaW5pdGlhbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC40NDQ0NHJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC40NDQ0NHJlbTsgfSB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjIyMjJyZW07XG4gIHBhZGRpbmctbGVmdDogMC4yMjIyMnJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5tZWRpdW0tdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG5cbi5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC40NDQ0NHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNDQ0NDRyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjQ0NDQ0cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC40NDQ0NHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAueGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnhsYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueGxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueGxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9IH1cblxuLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjQ0NDQ0cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC40NDQ0NHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueHhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54eGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54eGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueHhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnh4bGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueHhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH0gfVxuXG4ucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC40NDQ0NHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNDQ0NDRyZW07IH0gfVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVTbGFiVGl0bGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzE4MTYxZjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCxcbiAgaDIgc21hbGwsXG4gIGgzIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi4xMTExMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjc3Nzc4cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuNTU1NTZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS40NDQ0NHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjIyMjIycmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDEuMTExMTFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuNzc3NzhyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjc3Nzc4cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNTU1NTZyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4zMzMzM3JlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxLjIyMjIycmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzLjExMTExcmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuMTExMTFyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS44ODg4OXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjU1NTU2cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMzMzMzNyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMS4yMjIyMnJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMxNzc5YmE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTQ2OGEwOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2N3JlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDAgYXV0byAyLjIyMjIycmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkMWQxZDI7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDEuNTU1NTZyZW0gMi4yMjIyMnJlbSAxLjU1NTU2cmVtIDIuMjIyMjJyZW07XG4gIGJvcmRlci1sZWZ0OiAwIG5vbmU7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBjb2xvcjogIzE4MTcxZTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMxODE3MWU7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGNvbG9yOiAjNTI1MjUyO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjExMTExcmVtIDAuMjc3NzhyZW0gMC4wNTU1NnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVTbGFiVGl0bGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjExMTExcmVtIDAuMjIyMjJyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVTbGFiVGl0bGVcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMjIuNXB4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi4xNjY2N3JlbTtcbiAgbWFyZ2luOiAwIDAgMC44ODg4OXJlbTtcbiAgcGFkZGluZzogMC40NDQ0NHJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44ODg4OXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM1MjUyNTI7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNTI1MjUyOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAwLjg4ODg5cmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjQ0NDQ0cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuODg4ODlyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC40NDQ0NHJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMjIyMjJyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzE4MTYxZjsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDAuODg4ODlyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjQ0NDQ0cmVtO1xuICBmb250LXNpemU6IDAuNzIyMjJyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICM1MjUyNTI7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuODg4ODlyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzUyNTI1MjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IDIuMjIyMjJyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjQ0NDQ0cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBwYWRkaW5nOiAxLjExMTExcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDFkMWQyOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTY2NjdyZW07XG4gICAgcGFkZGluZzogMCAwLjE2NjY3cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjE2NjY3cmVtO1xuICBtYXJnaW46IDAgMCAwLjg4ODg5cmVtO1xuICBwYWRkaW5nOiAwLjQ0NDQ0cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjg4ODg5cmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzUyNTI1MjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0wLjg4ODg5cmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjMzMzMzcmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNDQ0NDRyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuODg4ODlyZW07XG4gIGZvbnQtc2l6ZTogMC42NjY2N3JlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMCBub25lO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMzMzMzNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzUyNTI1MjsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODE3OTZmOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfigJMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMCBub25lO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBjb2xvcjogIzUyNTI1MjsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjYxMTExcmVtO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjYxOTU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzUyNTI1MjsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2VjZmE7XG4gICAgY29sb3I6ICM1MjUyNTI7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjNTI1MjUyOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICM1MjUyNTI7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzUyNTI1MjsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzUyNTI1MjsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzUyNTI1MjsgfVxuICAuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWRpdmlkZXIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAuY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICAubWVudSA+IGxpIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAgIC5tZW51ID4gbGkgPiBhIGksXG4gICAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAubWVudSA+IGxpLCAubWVudS5ob3Jpem9udGFsID4gbGkge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgLm1lbnUuZXhwYW5kZWQgPiBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVudS52ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLm1lbnUudmVydGljYWwgPiBsaSA+IGEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgPiBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUueGxhcmdlLWV4cGFuZGVkID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LnhsYXJnZS1leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS54bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUueHhsYXJnZS1leHBhbmRlZCA+IGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54eGxhcmdlLWV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gIC5tZW51LnNpbXBsZSBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudS5zaW1wbGUgYSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWVudS5hbGlnbi1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tdG9wLnZlcnRpY2FsIGEgPiBzcGFuIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudS5tZW51LWJvcmRlcmVkIGxpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gICAgLm1lbnUubWVudS1ib3JkZXJlZCBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5tZW51Lm1lbnUtaG92ZXIgbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cblxuLm1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsIC5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuODg4ODlyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbywgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLCAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTAsIDEwLCAxMCwgMC4zKTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICM5ODAxMmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICM5ODAxMmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNzcycHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03NzJweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3NzJweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA3NzJweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNzcycHgpO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03NzJweCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MDBweCk7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDYwMHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2MDBweCk7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MDBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDc3MnB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNzcycHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiA3NzJweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc3MnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NzJweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3NzJweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiA3NzJweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3NzJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NzJweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDc3MnB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogNzcycHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3NzJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDc3MnB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3NzJweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogNzcycHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc3MnB4OyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxMXB4IDExcHggMzVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjY1KTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDEwcHggMHB4O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGhlaWdodDogMTNweDtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk4MDEyZTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk4MDEyZTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjU1NTU2cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAucGFnaW5hdGlvbiBsaS5jdXJyZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE2NjY3cmVtIDAuMzMzMzNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE2NjY3cmVtIDAuMzMzMzNyZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM5ODAxMmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xNjY2N3JlbSAwLjMzMzMzcmVtO1xuICAgIGNvbG9yOiAjZWNmMGYzO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xNjY2N3JlbSAwLjMzMzMzcmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMTgxNjFmOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuOCk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbiAgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNjYuNjY2NjdyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuNzc3NzhyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjU1NTU2cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42NjY2N3JlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsIHRib2R5LCB0Zm9vdCB7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjgzMzMzcmVtIDEuMTExMTFyZW0gMC44MzMzM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogIzgxNzk2ZjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBjb2xvcjogIzUyNTI1MjsgfVxuICB0aGVhZCB0ciwgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLCB0aGVhZCB0ZCwgdGZvb3QgdGgsIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjgzMzMzcmVtIDEuMTExMTFyZW0gMC44MzMzM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLCB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC44MzMzM3JlbSAxLjExMTExcmVtIDAuODMzMzNyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Yzc0NmE7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzE2NzNiMTsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjY2NjY3cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzE0NjhhMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjNTI1MjUyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDQwIDUycHg7IH1cbiAgLnRhYnMtcGFuZWxbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIzLCAxMjEsIDE4NiwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOC42ODc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwOyB9XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSBhbmQgKG1heC13aWR0aDogMTE4LjY4NzVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4jbWFpbi1jb250ZW50IGgxIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzNweDsgfVxuICAjbWFpbi1jb250ZW50IGgxID4gLnNvY2lhbEhlYWRlciB7XG4gICAgd2lkdGg6IDQ5JTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAjbWFpbi1jb250ZW50IGgxID4gLnNvY2lhbEhlYWRlcjpudGgtY2hpbGQoMikge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI21haW4tY29udGVudCBoMSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzNweDsgfVxuICAgICAgI21haW4tY29udGVudCBoMSA+IC5zb2NpYWxIZWFkZXIge1xuICAgICAgICB3aXRoOiAxMDAlOyB9XG4gICAgICAgICNtYWluLWNvbnRlbnQgaDEgPiAuc29jaWFsSGVhZGVyOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICNtYWluLWNvbnRlbnQgaDE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogOHB4O1xuICAgIHdpZHRoOiA4NXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxODE3MWU7IH1cblxuI21haW4tY29udGVudCAuaW50cm8ge1xuICBmb250LWZhbWlseTogXCJCcmV2ZVRleHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4OyB9XG4gICNtYWluLWNvbnRlbnQgLmludHJvLCAjbWFpbi1jb250ZW50IC5pbnRybyBwIHtcbiAgICBsaW5lLWhlaWdodDogMzJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAjbWFpbi1jb250ZW50IC5pbnRybyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAgICNtYWluLWNvbnRlbnQgLmludHJvLCAjbWFpbi1jb250ZW50IC5pbnRybyBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjbWFpbi1jb250ZW50IC5pbnRybyB7XG4gICAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgICAgICNtYWluLWNvbnRlbnQgLmludHJvLCAjbWFpbi1jb250ZW50IC5pbnRybyBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7IH0gfVxuXG4jbWFpbi1jb250ZW50IHVsIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgI21haW4tY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JjYmNiYztcbiAgICB0b3A6IDExcHg7IH1cblxuI21haW4tY29udGVudCB1bC5saXN0LW9mLWZhY3RzIGxpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDBweDtcbiAgd2lkdGg6IDBweDsgfVxuXG5oMSB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuaDIge1xuICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG5cbmgzLFxuaDUge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbmgyLmJ0bS1kaXZpZGVyLCBoMy5idG0tZGl2aWRlciwgaDQuYnRtLWRpdmlkZXIsIGg1LmJ0bS1kaXZpZGVyLCBoNi5idG0tZGl2aWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDI2cHg7XG4gIG1hcmdpbi1ib3R0b206IDM0cHg7IH1cbiAgaDIuYnRtLWRpdmlkZXI6YWZ0ZXIsIGgzLmJ0bS1kaXZpZGVyOmFmdGVyLCBoNC5idG0tZGl2aWRlcjphZnRlciwgaDUuYnRtLWRpdmlkZXI6YWZ0ZXIsIGg2LmJ0bS1kaXZpZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxODE3MWU7XG4gICAgd2lkdGg6IDc3cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIGgyLmJ0bS1kaXZpZGVyLnRleHQtcmlnaHQ6YWZ0ZXIsIGgzLmJ0bS1kaXZpZGVyLnRleHQtcmlnaHQ6YWZ0ZXIsIGg0LmJ0bS1kaXZpZGVyLnRleHQtcmlnaHQ6YWZ0ZXIsIGg1LmJ0bS1kaXZpZGVyLnRleHQtcmlnaHQ6YWZ0ZXIsIGg2LmJ0bS1kaXZpZGVyLnRleHQtcmlnaHQ6YWZ0ZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgaDIuYnRtLWRpdmlkZXIudGV4dC1jZW50ZXI6YWZ0ZXIsIGgzLmJ0bS1kaXZpZGVyLnRleHQtY2VudGVyOmFmdGVyLCBoNC5idG0tZGl2aWRlci50ZXh0LWNlbnRlcjphZnRlciwgaDUuYnRtLWRpdmlkZXIudGV4dC1jZW50ZXI6YWZ0ZXIsIGg2LmJ0bS1kaXZpZGVyLnRleHQtY2VudGVyOmFmdGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0zOC41cHg7IH1cblxuaDIudG9wLWRpdmlkZXIsIGgzLnRvcC1kaXZpZGVyLCBoNC50b3AtZGl2aWRlciwgaDUudG9wLWRpdmlkZXIsIGg2LnRvcC1kaXZpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMjZweDtcbiAgbWFyZ2luLXRvcDogMzRweDsgfVxuICBoMi50b3AtZGl2aWRlcjpiZWZvcmUsIGgzLnRvcC1kaXZpZGVyOmJlZm9yZSwgaDQudG9wLWRpdmlkZXI6YmVmb3JlLCBoNS50b3AtZGl2aWRlcjpiZWZvcmUsIGg2LnRvcC1kaXZpZGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgxNzFlO1xuICAgIHdpZHRoOiA3N3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICBoMi50b3AtZGl2aWRlci50ZXh0LXJpZ2h0OmJlZm9yZSwgaDMudG9wLWRpdmlkZXIudGV4dC1yaWdodDpiZWZvcmUsIGg0LnRvcC1kaXZpZGVyLnRleHQtcmlnaHQ6YmVmb3JlLCBoNS50b3AtZGl2aWRlci50ZXh0LXJpZ2h0OmJlZm9yZSwgaDYudG9wLWRpdmlkZXIudGV4dC1yaWdodDpiZWZvcmUge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgaDIudG9wLWRpdmlkZXIudGV4dC1jZW50ZXI6YmVmb3JlLCBoMy50b3AtZGl2aWRlci50ZXh0LWNlbnRlcjpiZWZvcmUsIGg0LnRvcC1kaXZpZGVyLnRleHQtY2VudGVyOmJlZm9yZSwgaDUudG9wLWRpdmlkZXIudGV4dC1jZW50ZXI6YmVmb3JlLCBoNi50b3AtZGl2aWRlci50ZXh0LWNlbnRlcjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTM4LjVweDsgfVxuXG5hIHtcbiAgY29sb3I6ICMyMDkwYWM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDU2MzdiOyB9XG4gIGEsXG4gIGEgPiAqIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MsIGJhY2tncm91bmQtY29sb3IgLjNzOyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgdWwgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkMWQxZDI7IH1cbiAgdGFibGUudGFibGUtLWZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIHRhYmxlIHRoZWFkIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzZiNjU1ZDsgfVxuICAgIHRhYmxlIHRoZWFkIHRoIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgIHRhYmxlIHRoZWFkIHRoICsgdGgge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDFkMWQyOyB9XG4gIHRhYmxlIHRoLFxuICB0YWJsZSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZSB0ZCB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgdGFibGUgdGQgKyB0ZCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkMWQxZDI7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG4gIC50YWJsZS1zY3JvbGwgLnRhYmxlLXNjcm9sbF9fd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC50YWJsZS1zY3JvbGwgLnRhYmxlLXNjcm9sbF9fd3JhcHBlciA+IHRhYmxlIHRkIHtcbiAgICAgIG1pbi13aWR0aDogMTYwcHggIWltcG9ydGFudDsgfVxuICAudGFibGUtc2Nyb2xsLmFjdGl2ZS50YWJsZS1zY3JvbGwtLXNoYWRvdy1yaWdodDphZnRlciwgLnRhYmxlLXNjcm9sbC5hY3RpdmUudGFibGUtc2Nyb2xsLS1zaGFkb3ctbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDE4cHg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAudGFibGUtc2Nyb2xsLmFjdGl2ZS50YWJsZS1zY3JvbGwtLXNoYWRvdy1yaWdodDphZnRlciwgLnRhYmxlLXNjcm9sbC5hY3RpdmUudGFibGUtc2Nyb2xsLS1zaGFkb3ctbGVmdDpiZWZvcmUge1xuICAgICAgICB3aWR0aDogNTBweDsgfSB9XG4gIC50YWJsZS1zY3JvbGwuYWN0aXZlLnRhYmxlLXNjcm9sbC0tc2hhZG93LXJpZ2h0OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCB3aGl0ZSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCB3aGl0ZSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHdoaXRlIDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDBmZmZmZmYnLCBlbmRDb2xvcnN0cj0nI2ZmZmZmZicsR3JhZGllbnRUeXBlPTEgKTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiB1bnNldDsgfVxuICAudGFibGUtc2Nyb2xsLmFjdGl2ZS50YWJsZS1zY3JvbGwtLXNoYWRvdy1sZWZ0OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgd2hpdGUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgd2hpdGUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB3aGl0ZSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjMDBmZmZmZmYnLEdyYWRpZW50VHlwZT0xICk7XG4gICAgbGVmdDogMDsgfVxuXG4uYWRkLXRoaXMge1xuICBtYXJnaW46IDIwcHggMDsgfVxuXG4vKiBDaHJvbWUgaGFjazogU1ZHIGlzIHJlbmRlcmVkIG1vcmUgc21vb3RoIGluIFdpbmRvenplLiAxMDAlIG1hZ2ljLCB1bmNvbW1lbnQgaWYgeW91IG5lZWQgaXQuICovXG4vKiBOb3RlLCB0aGF0IHdpbGwgYnJlYWsgaGludGluZyEgSW4gb3RoZXIgT1MtZXMgZm9udCB3aWxsIGJlIG5vdCBhcyBzaGFycCBhcyBpdCBjb3VsZCBiZSAqL1xuLypcbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5zdmc/NjMzMzI4NDYjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICB9XG59XG4qL1xuW2NsYXNzXj1cImljb24tZHVcIl06YmVmb3JlLFxuW2NsYXNzKj1cIiBpY29uLWR1XCJdOmJlZm9yZSxcbltjbGFzc149XCJkdS1pY29uXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgZHUtaWNvblwiXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNwZWFrOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgd2lkdGg6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIG9wYWNpdHk6IC44OyAqL1xuICAvKiBGb3Igc2FmZXR5IC0gcmVzZXQgcGFyZW50IHN0eWxlcywgdGhhdCBjYW4gYnJlYWsgZ2x5cGggY29kZXMqL1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8qIGZpeCBidXR0b25zIGhlaWdodCwgZm9yIHR3aXR0ZXIgYm9vdHN0cmFwICovXG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXG4gIC8qIHJlbW92ZSBpZiBub3QgbmVlZGVkICovXG4gIG1hcmdpbi1sZWZ0OiAuMmVtO1xuICAvKiB5b3UgY2FuIGJlIG1vcmUgY29tZm9ydGFibGUgd2l0aCBpbmNyZWFzZWQgaWNvbnMgc2l6ZSAqL1xuICAvKiBmb250LXNpemU6IDEyMCU7ICovXG4gIC8qIEZvbnQgc21vb3RoaW5nLiBUaGF0IHdhcyB0YWtlbiBmcm9tIFRXQlMgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC8qIFVuY29tbWVudCBmb3IgM0QgZWZmZWN0ICovXG4gIC8qIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMyk7ICovIH1cblxuLypcbiAgIEFuaW1hdGlvbiBleGFtcGxlLCBmb3Igc3Bpbm5lcnNcbiovXG4uYW5pbWF0ZS1zcGluIHtcbiAgLW1vei1hbmltYXRpb246IHNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICAtby1hbmltYXRpb246IHNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5ALW1vei1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG5ALW8ta2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuQC1tcy1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLypcbiAgIEVuZCBvZiBBbmltYXRpb24gZXhhbXBsZVxuKi9cbi8qIEluY2x1ZGluZyBmb3IgZmFsbGJhY2sgcHVycG9zZXMgICovXG4uZHUtaWNvbi1yaWdodC1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODAwJzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tbGVmdC1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODAxJzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tdXAtYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMic7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLWRvd24tYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMyc7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLWN1c3QtbWVudTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA0JzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tY3VzdC1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA1JzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tY3VzdC1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNic7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDcnOyB9XG5cbi8qICcnICovXG4uZHUtaWNvbi1taW51czpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA4JzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tcGx1czpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA5JzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tY3VzdC1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwYSc7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLWN1c3QtcmlnaHQtYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwYic7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLWN1c3QtbGVmdC1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODBjJzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tcGxheS1jaXJjbGVkMjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODBkJzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tcGF1c2UtY2lyY2xlZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODBlJzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tcGxheS1jaXJjbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MGYnOyB9XG5cbi8qICcnICovXG4uZHUtaWNvbi1hdHRlbnRpb24tY2lyY2xlZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODEwJzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxMSc7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxMic7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTMnOyB9XG5cbi8qICcnICovXG4uZHUtaWNvbi1jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODE0JzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxNSc7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjA5OSc7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwOWEnOyB9XG5cbi8qICcnICovXG4uZHUtaWNvbi1ncGx1czpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGQ1JzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjBlMSc7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjE2Nyc7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMTZkJzsgfVxuXG4vKiAnJyAqL1xuLmR1LWljb24tdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYxNzMnOyB9XG5cbi8qICcnICovXG4uZHUtaWNvbi1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjFhYyc7IH1cblxuLyogJycgKi9cbi5kdS1pY29uLXJlYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYxZDAnOyB9XG5cbi8qICcnICovXG4uZHUtaWNvbi1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMmFjJzsgfVxuXG4vKiAnJyAqL1xuLyogSW5jbHVkaW5nIGZvciBmYWxsYmFjayBwdXJwb3NlcyAqL1xuLmljb24tZHUtcmlnaHQtYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMCc7IH1cblxuLyogJ+6ggCcgKi9cbi5pY29uLWR1LWxlZnQtYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMSc7IH1cblxuLyogJ+6ggScgKi9cbi5pY29uLWR1LXVwLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDInOyB9XG5cbi8qICfuoIInICovXG4uaWNvbi1kdS1kb3duLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDMnOyB9XG5cbi8qICfuoIMnICovXG4uaWNvbi1kdS1jdXN0LW1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNCc7IH1cblxuLyogJ+6ghCcgKi9cbi5pY29uLWR1LWN1c3QtY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNSc7IH1cblxuLyogJ+6ghScgKi9cbi5pY29uLWR1LWN1c3Qtc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDYnOyB9XG5cbi8qICfuoIYnICovXG4uaWNvbi1kdS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA3JzsgfVxuXG4vKiAn7qCHJyAqL1xuLmljb24tZHUtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwOCc7IH1cblxuLyogJ+6giCcgKi9cbi5pY29uLWR1LXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwOSc7IH1cblxuLyogJ+6giScgKi9cbi5pY29uLWR1LWN1c3QtY2xpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MGEnOyB9XG5cbi8qICfuoIonICovXG4uaWNvbi1kdS1jdXN0LXJpZ2h0LWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MGInOyB9XG5cbi8qICfuoIsnICovXG4uaWNvbi1kdS1jdXN0LWxlZnQtYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwYyc7IH1cblxuLyogJ+6gjCcgKi9cbi5pY29uLWR1LXBsYXktY2lyY2xlZDI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwZCc7IH1cblxuLyogJ+6gjScgKi9cbi5pY29uLWR1LXBhdXNlLWNpcmNsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwZSc7IH1cblxuLyogJ+6gjicgKi9cbi5pY29uLWR1LXBsYXktY2lyY2xlZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODBmJzsgfVxuXG4vKiAn7qCPJyAqL1xuLmljb24tZHUtYXR0ZW50aW9uLWNpcmNsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxMCc7IH1cblxuLyogJ+6gkCcgKi9cbi5pY29uLWR1LXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTEnOyB9XG5cbi8qICfuoJEnICovXG4uaWNvbi1kdS1tYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTInOyB9XG5cbi8qICfuoJInICovXG4uaWNvbi1kdS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODEzJzsgfVxuXG4vKiAn7qCTJyAqL1xuLmljb24tZHUtY2xvY2s6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxNCc7IH1cblxuLyogJ+6glCcgKi9cbi5pY29uLWR1LWdsb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTUnOyB9XG5cbi8qICfuoJUnICovXG4uaWNvbi1kdS1sb2NhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODE2JzsgfVxuXG4vKiAn7qCWJyAqL1xuLmljb24tZHUtaW5mby1jaXJjbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTcnOyB9XG5cbi8qICfuoJcnICovXG4uaWNvbi1kdS1sb2dvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgxOCc7IH1cblxuLyogJ+6gmCcgKi9cbi5pY29uLWR1LWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MTknOyB9XG5cbi8qICfuoJknICovXG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODFhJzsgfVxuXG4vKiAn7qCaJyAqL1xuLmljb24tZHUtc3BpbjM6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgzMic7IH1cblxuLyogJ+6gsicgKi9cbi5pY29uLWR1LXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjA5OSc7IH1cblxuLyogJ++CmScgKi9cbi5pY29uLWR1LWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwOWEnOyB9XG5cbi8qICfvgponICovXG4uaWNvbi1kdS1ncGx1czpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGQ1JzsgfVxuXG4vKiAn74OVJyAqL1xuLmljb24tZHUtbWFpbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjBlMCc7IH1cblxuLyogJ++DoCcgKi9cbi5pY29uLWR1LWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwZTEnOyB9XG5cbi8qICfvg6EnICovXG4uaWNvbi1kdS1jYWxlbmRhci1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMTMzJzsgfVxuXG4vKiAn74SzJyAqL1xuLmljb24tZHUtbGluay1leHQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYxNGMnOyB9XG5cbi8qICfvhYwnICovXG4uaWNvbi1kdS15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYxNjcnOyB9XG5cbi8qICfvhacnICovXG4uaWNvbi1kdS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjE2ZCc7IH1cblxuLyogJ++FrScgKi9cbi5pY29uLWR1LXR1bWJscjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMTczJzsgfVxuXG4vKiAn74WzJyAqL1xuLmljb24tZHUtZmF4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYxYWMnOyB9XG5cbi8qICfvhqwnICovXG4uaWNvbi1kdS1yZWJlbDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMWQwJzsgfVxuXG4vKiAn74eQJyAqL1xuLmljb24tZHUtbmV3c3BhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYxZWEnOyB9XG5cbi8qICfvh6onICovXG4uaWNvbi1kdS1jYWxlbmRhci1wbHVzLW86YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjI3MSc7IH1cblxuLyogJ++JsScgKi9cbi5pY29uLWR1LXNuYXBjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYyYWMnOyB9XG5cbi8qICfviqwnICovXG5AbWVkaWEgc2NyZWVuIHtcbiAgaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBoZWFkZXIgI3RvcC1iYXItc3RpY2t5LXdyYXAge1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBoZWFkZXIgI3RvcC1iYXItc3RpY2t5LXdyYXAsXG4gICAgICBoZWFkZXIgI3RvcC1iYXItc3RpY2t5LXdyYXAgKiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cbiAgICBoZWFkZXIgI21haW4tbWVudS13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7IH1cbiAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51IHtcbiAgICAgICAgICB0b3A6IDYwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4ge1xuICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCBhLmxvZ28ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgaGVpZ2h0OiA4NHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDgwcHg7IH1cbiAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCBhLmxvZ28gPiBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCBhLmxvZ28gPiBzcGFuID4gaW1nIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwIGEubG9nbyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgYS5sb2dvIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNThweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwIGEubG9nbyB7XG4gICAgICAgICAgd2lkdGg6IDY2cHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE0cHg7IH1cbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwIGEubG9nbyA+IHNwYW4ge1xuICAgICAgICAgICAgdG9wOiAtMzRweDsgfVxuICAgICAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCBhLmxvZ28gPiBzcGFuID4gaW1nICsgaW1nIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgICAgICAgICAgICB0b3A6IC05OTk5cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI2FsdC1sb2dvIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI2FsdC1sb2dvLm1vYmlsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNhbHQtbG9nby5kZXNrdG9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjYWx0LWxvZ28ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI2FsdC1sb2dvLm1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI2FsdC1sb2dvLmRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4ge1xuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNhbHQtbG9nbyBpbWcge1xuICAgICAgICAgIGhlaWdodDogMTEycHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNhbHQtbG9nbyBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjYWx0LWxvZ28gaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgLnNoaWVsZC1sb2dvIGltZyB7XG4gICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC42ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgLnNoaWVsZC1sb2dvIGltZyB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC44ZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgLnNoaWVsZC1sb2dvIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuNGVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgPiB1bCA+IGxpLmFjdGl2ZSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICM5ODAxMmU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSA+IHVsID4gbGkuYWN0aXZlID4gYSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA4cHggMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51ID4gdWwgPiBsaSA+IGE6aG92ZXIsIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSA+IHVsID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgIzk4MDEyZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51ID4gdWwgPiBsaSA+IGE6aG92ZXIsIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSA+IHVsID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAgbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51ID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2UwZTBlMDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgNHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4ge1xuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgPiB1bCA+IGxpID4gYS5jYWxlbmRhci1pY29uLW5hdiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNlMGUwZTA7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51ID4gdWwgPiBsaSA+IGEuY2FsZW5kYXItaWNvbi1uYXY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjEzMyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udGVsbG9cIjtcbiAgICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgPiB1bCA+IGxpID4gYS5jYWxlbmRhci1pY29uLW5hdjpob3ZlciwgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51ID4gdWwgPiBsaSA+IGEuY2FsZW5kYXItaWNvbi1uYXY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICM5ODAxMmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICAgICAgICAgICAgY29sb3I6ICM2NjY2NjY7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgPiB1bCA+IGxpID4gYS5jYWxlbmRhci1pY29uLW5hdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSA+IHVsID4gbGlbcm9sZT1cIm1lbnVpdGVtXCJdIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDsgfVxuICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51ID4gdWwgPiBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51ID4gdWwgPiBsaSN1dGlsaXR5LW1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSA+IHVsID4gbGkjdXRpbGl0eS1tZW51IHVsLm1lbnUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxODE3MWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgPiB1bCA+IGxpI3V0aWxpdHktbWVudSB1bC5tZW51IGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSA+IHVsID4gbGkjdXRpbGl0eS1tZW51IHVsLm1lbnUgbGkgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgPiB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSA+IHVsIGxpID4gYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgIGNvbG9yOiAjMTgxNzFlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiQnJldmVTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTI3MHB4KSB7XG4gICAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51ID4gdWwgbGkgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgPiB1bCBsaSA+IGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA5cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA5cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51IHtcbiAgICAgICAgaGVpZ2h0OiA5MHZoO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNjJweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgPiB1bC5tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgLnV0aWxpdHktbWVudSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDMzcHg7XG4gICAgICAgICAgcmlnaHQ6IDYycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSAudXRpbGl0eS1tZW51IHVsIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgLnV0aWxpdHktbWVudSBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51IC51dGlsaXR5LW1lbnUgbGkgKyBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSAudXRpbGl0eS1tZW51IGxpIGEge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNtYWluLW1lbnUgLnV0aWxpdHktbWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI21haW4tbWVudSAudXRpbGl0eS1tZW51IGxpICsgbGkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4ge1xuICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCBsaS5zZWFyY2guaXMtYWN0aXZlID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgbGkuc2VhcmNoLmlzLWFjdGl2ZSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxlODA1JzsgfVxuICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCBsaS5zZWFyY2ggPiBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlMGUwZTA7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgY29sb3I6ICM2NjY2NjY7IH1cbiAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCBsaS5zZWFyY2ggPiBhOmJlZm9yZSB7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICAgY29udGVudDogJ1xcZTgwNic7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTExcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRlbGxvXCI7XG4gICAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCBsaS5zZWFyY2ggPiBhOmhvdmVyLCBoZWFkZXIgI21haW4tbWVudS13cmFwIGxpLnNlYXJjaCA+IGE6Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNjYWxlbmRhci1pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgI2NhbGVuZGFyLWljb246YmVmb3JlIHtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICBjb250ZW50OiAnXFxmMTMzJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udGVsbG9cIjtcbiAgICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNjYWxlbmRhci1pY29uOmhvdmVyLCBoZWFkZXIgI21haW4tbWVudS13cmFwICNjYWxlbmRhci1pY29uOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgIzk4MDEyZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgICAgICAgICBjb2xvcjogIzY2NjY2NjsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjY2FsZW5kYXItaWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBjb2xvcjogIzY2NjY2NjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHggIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2UwZTBlMDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwICNjYWxlbmRhci1pY29uIHtcbiAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm1lZ2EtbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgLm1lZ2EtbWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA4cHggOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAjbWFpbi1tZW51IC5tZWdhLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwIC5tZWdhLW1lbnUgPiAubWVudSA+IGxpID4gLnJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmctdG9wOiAzOXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzlweDsgfVxuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwIC5tZWdhLW1lbnUgPiAubWVudSA+IGxpID4gLnJvdyB1bCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICNlMGUwZTA7IH1cbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwIC5tZWdhLW1lbnUgPiAubWVudSA+IGxpID4gLnJvdyB1bCBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwIC5tZWdhLW1lbnUgPiAubWVudSA+IGxpID4gLnJvdyB1bCBsaSBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UwZTBlMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAxMHB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAubWVnYS1tZW51ID4gLm1lbnUgPiBsaSA+IC5yb3cgdWwgbGkgYTpob3ZlciwgaGVhZGVyICNtYWluLW1lbnUtd3JhcCAubWVnYS1tZW51ID4gLm1lbnUgPiBsaSA+IC5yb3cgdWwgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzk4MDEyZSAhaW1wb3J0YW50OyB9XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgLm1lZ2EtbWVudSA+IC5tZW51ID4gbGkgPiAucm93IC5jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTQ4cHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxN3B4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwIC5tZWdhLW1lbnUgPiAubWVudSA+IGxpID4gLnJvdyAuY29udGVudCBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgLm1lZ2EtbWVudSA+IC5tZW51ID4gbGkgPiAucm93Lm1lZ2EtbWVudS0tYWx0LWxheW91dCAuY29udGVudC13cmFwIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwIC5tZWdhLW1lbnUgPiAubWVudSA+IGxpID4gLnJvdy5tZWdhLW1lbnUtLWFsdC1sYXlvdXQgLmNvbnRlbnQtd3JhcCAuY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNThweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG4gICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCB7XG4gICAgICAgIG1heC13aWR0aDogMTM1NnB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgPiAuY29sdW1ucy5zaHJpbmsgKyAuY29sdW1ucyB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgPiAuY29sdW1ucy5zaHJpbms6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkICNtYWluLW1lbnUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggOHB4IDlweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAjbWFpbi1tZW51ID4gdWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkICNtYWluLW1lbnUgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAjbWFpbi1tZW51ID4gdWwuYWxpZ24tcmlnaHQge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgI21haW4tbWVudSA+IHVsLmFsaWduLXJpZ2h0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAuY29sdW1ucy5zaHJpbmsge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAuY29sdW1ucy5zaHJpbmsgLmxvZ28ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAuY29sdW1ucy5zaHJpbmsgI3NlYXJjaC10b2dnbGVyIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAuY29sdW1ucy5zaHJpbmsgI3NlYXJjaC10b2dnbGVyID4gbGkgPiBhIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICB3aWR0aDogNjBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAuY29sdW1ucy5zaHJpbmsgI21haW4tbWVudS10b2dnbGVyIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgLmNvbHVtbnMuc2hyaW5rICNtYWluLW1lbnUtdG9nZ2xlciBidXR0b24ge1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAgICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgLmNvbHVtbnMuc2hyaW5rICNtYWluLW1lbnUtdG9nZ2xlciBidXR0b246aG92ZXIsIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkIC5jb2x1bW5zLnNocmluayAjbWFpbi1tZW51LXRvZ2dsZXIgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkIC5jb2x1bW5zLnNocmluayAjbWFpbi1tZW51LXRvZ2dsZXIgYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgd2lkdGg6IDYwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkIC5jb2x1bW5zLnNocmluayAjbWFpbi1tZW51LXRvZ2dsZXIgYnV0dG9uLmljb24tZHUtY3VzdC1tZW51LCBoZWFkZXIgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAuY29sdW1ucy5zaHJpbmsgI21haW4tbWVudS10b2dnbGVyIGJ1dHRvbi5kdS1pY29uLWN1c3QtbWVudSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTgwMTJlOyB9XG4gICAgICAgICAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkIC5jb2x1bW5zLnNocmluayAjbWFpbi1tZW51LXRvZ2dsZXIgYnV0dG9uLm9wZW4uaWNvbi1kdS1jdXN0LW1lbnUsIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkIC5jb2x1bW5zLnNocmluayAjbWFpbi1tZW51LXRvZ2dsZXIgYnV0dG9uLm9wZW4uZHUtaWNvbi1jdXN0LW1lbnUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgICAgICAgICAgICBoZWFkZXIgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAuY29sdW1ucy5zaHJpbmsgI21haW4tbWVudS10b2dnbGVyIGJ1dHRvbi5vcGVuLmljb24tZHUtY3VzdC1tZW51OmJlZm9yZSwgaGVhZGVyICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgLmNvbHVtbnMuc2hyaW5rICNtYWluLW1lbnUtdG9nZ2xlciBidXR0b24ub3Blbi5kdS1pY29uLWN1c3QtbWVudTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MDVcIjtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gICAgaGVhZGVyIC5pcy1zdHVjayB7XG4gICAgICBib3gtc2hhZG93OiAwcHggNHB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7IH1cbiAgICAgIGhlYWRlciAuaXMtc3R1Y2sgI21haW4tbWVudS13cmFwIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4OyB9XG4gICAgICAgIGhlYWRlciAuaXMtc3R1Y2sgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCBhLmxvZ28gPiBzcGFuID4gaW1nOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxM3B4OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICBoZWFkZXIgLmlzLXN0dWNrICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgYS5sb2dvID4gc3BhbiA+IGltZzpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gICAgICAgICAgaGVhZGVyIC5pcy1zdHVjayAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkIGEubG9nbyA+IHNwYW4gPiBpbWc6Zmlyc3QtY2hpbGQgKyBpbWcge1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICBoZWFkZXIgLmlzLXN0dWNrICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgI2FsdC1sb2dvIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4OyB9XG4gICAgICAgICAgaGVhZGVyIC5pcy1zdHVjayAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkICNhbHQtbG9nby5tb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBoZWFkZXIgLmlzLXN0dWNrICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgI2FsdC1sb2dvLmRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIGhlYWRlciAuaXMtc3R1Y2sgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAjYWx0LWxvZ28gaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDsgfVxuICAgICAgICBoZWFkZXIgLmlzLXN0dWNrICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgLnNoaWVsZC1sb2dvIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuNGVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgaGVhZGVyIC5pcy1zdHVjayAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkICNtYWluLW1lbnUgdWwgPiBsaSA+IGEsXG4gICAgICAgIGhlYWRlciAuaXMtc3R1Y2sgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAjc2VhcmNoLXRvZ2dsZXIgPiBsaSA+IGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgICAgICAgaGVhZGVyIC5pcy1zdHVjayAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkICNjYWxlbmRhci1pY29uIHtcbiAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7IH1cbiAgICAgICAgaGVhZGVyIC5pcy1zdHVjayAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkIGxpID4gYS5jYWxlbmRhci1pY29uLW5hdiB7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIHdpZHRoOiA2MHB4OyB9XG4gICAgICAgIGhlYWRlciAuaXMtc3R1Y2sgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAjc2VhcmNoLXRvZ2dsZXIgPiBsaSA+IGEge1xuICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICB3aWR0aDogNjBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgaGVhZGVyIC5pcy1zdHVjayAjbWFpbi1tZW51LXdyYXAgPiAucm93LmV4cGFuZGVkICNtYWluLW1lbnUge1xuICAgICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4ge1xuICAgICAgICBoZWFkZXIgLmlzLXN0dWNrICNtYWluLW1lbnUtd3JhcCA+IC5yb3cuZXhwYW5kZWQgI2NhbGVuZGFyLWljb24gPiBhID4gaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciAuaXMtc3R1Y2sgI21haW4tbWVudS13cmFwID4gLnJvdy5leHBhbmRlZCAuY29sdW1ucy5zaHJpbmsgI21haW4tbWVudS10b2dnbGVyIGJ1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIHdpZHRoOiA2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gICAgaGVhZGVyIC50b3AtYmFyIC5zZWFyY2ggLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG4gICAgaGVhZGVyIC50b3AtYmFyIC5zZWFyY2ggLnNlYXJjaC1ib3gge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgICAgaGVhZGVyIC50b3AtYmFyIC5zZWFyY2ggLnNlYXJjaC1ib3ggbGFiZWwgPiBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDsgfVxuICAgIGhlYWRlciB1bCNzZWFyY2gtdG9nZ2xlciBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbmhlYWRlciAudXRpbGl0eS1tZW51IHtcbiAgaGVpZ2h0OiA0OHB4OyB9XG4gIGhlYWRlciAudXRpbGl0eS1tZW51IC5tZW51IGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIGhlYWRlciAudXRpbGl0eS1tZW51IC5tZW51IGxpIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE4MTcxZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTdweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICBoZWFkZXIgLnV0aWxpdHktbWVudSAubWVudSBsaSBhOmhvdmVyLCBoZWFkZXIgLnV0aWxpdHktbWVudSAubWVudSBsaSBhOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICBoZWFkZXIgLnV0aWxpdHktbWVudSAubWVudSBsaS5hdWRpZW5jZS1tZW51ID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTgwMTJlOyB9XG4gICAgICBoZWFkZXIgLnV0aWxpdHktbWVudSAubWVudSBsaS5hdWRpZW5jZS1tZW51ID4gYTpob3ZlciwgaGVhZGVyIC51dGlsaXR5LW1lbnUgLm1lbnUgbGkuYXVkaWVuY2UtbWVudSA+IGE6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3MTA4Mjk7IH1cbiAgICAgIGhlYWRlciAudXRpbGl0eS1tZW51IC5tZW51IGxpLmF1ZGllbmNlLW1lbnUgPiBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGU4MDBcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udGVsbG9cIjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7IH1cbiAgICAgIGhlYWRlciAudXRpbGl0eS1tZW51IC5tZW51IGxpLmF1ZGllbmNlLW1lbnUgPiBhW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGU4MDVcIjtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICBoZWFkZXIgLnV0aWxpdHktbWVudSAubWVudSBsaSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgaGVhZGVyIC51dGlsaXR5LW1lbnUgLm1lbnUgbGkuYXVkaWVuY2UtbWVudSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uYmctZGFyay1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MTcxZTsgfVxuXG4uYnVmZmVyLXRvcCB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uZGlzcGxheS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuYnVmZmVyLW9uLWlubmVyLXJvdyA+IC5yb3cge1xuICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5idWZmZXItb24taW5uZXItcm93ID4gLnJvdyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7IH0gfVxuXG4jc3ViLW1lbnUge1xuICBtYXJnaW4tdG9wOiAxMnB4OyB9XG4gICNzdWItbWVudSA+IHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICNzdWItbWVudSA+IHVsIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XG4gICAgI3N1Yi1tZW51ID4gdWwgPiBsaTpmaXJzdC1jaGlsZCA+IGEge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlMGUwZTA7IH1cbiAgICAjc3ViLW1lbnUgPiB1bCBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAjc3ViLW1lbnUgPiB1bCBsaSBhIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMGUwZTA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjMzUzNTM1O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHggMThweCAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkJyZXZlU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgI3N1Yi1tZW51ID4gdWwgbGkgYTpob3ZlciwgI3N1Yi1tZW51ID4gdWwgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgICBjb2xvcjogIzk4MDEyZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICNzdWItbWVudSA+IHVsIGxpLmFjdGl2ZSA+IGEsXG4gICAgICAjc3ViLW1lbnUgPiB1bCBsaS5hY3RpdmUgPiBhOmhvdmVyLFxuICAgICAgI3N1Yi1tZW51ID4gdWwgbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICAgIGNvbG9yOiAjMzUzNTM1O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAgICNzdWItbWVudSA+IHVsIGxpLmFjdGl2ZSA+IGE6YmVmb3JlLFxuICAgICAgICAjc3ViLW1lbnUgPiB1bCBsaS5hY3RpdmUgPiBhOmhvdmVyOmJlZm9yZSxcbiAgICAgICAgI3N1Yi1tZW51ID4gdWwgbGkuYWN0aXZlID4gYTpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ODAxMmU7IH1cbiAgI3N1Yi1tZW51ID4gLnNlYXJjaC1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgI3N1Yi1tZW51IHVsIGxpOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3N1Yi1tZW51LnN1Yi1tZW51LS1ob3Jpem9udGFsIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgICAgI3N1Yi1tZW51LnN1Yi1tZW51LS1ob3Jpem9udGFsID4gdWwge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2U2ZTZlNjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgICAgICAjc3ViLW1lbnUuc3ViLW1lbnUtLWhvcml6b250YWwgPiB1bCA+IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxleC1iYXNpczogMTIlOyB9XG4gICAgICAgICAgI3N1Yi1tZW51LnN1Yi1tZW51LS1ob3Jpem9udGFsID4gdWwgPiBsaTpmaXJzdC1jaGlsZCA+IGEge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMCBub25lOyB9XG4gICAgICAgICAgI3N1Yi1tZW51LnN1Yi1tZW51LS1ob3Jpem9udGFsID4gdWwgPiBsaS5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjOTgwMTJlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAgICNzdWItbWVudS5zdWItbWVudS0taG9yaXpvbnRhbCA+IHVsID4gbGkuYWN0aXZlID4gYTpiZWZvcmUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAjc3ViLW1lbnUuc3ViLW1lbnUtLWhvcml6b250YWwgPiB1bCA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsICNzdWItbWVudS5zdWItbWVudS0taG9yaXpvbnRhbCA+IHVsID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMTgxNzFlOyB9XG4gICAgICAgICAgI3N1Yi1tZW51LnN1Yi1tZW51LS1ob3Jpem9udGFsID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggOXB4IDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAgICNzdWItbWVudS5zdWItbWVudS0taG9yaXpvbnRhbCA+IHVsID4gbGkgPiBhOmhvdmVyLCAjc3ViLW1lbnUuc3ViLW1lbnUtLWhvcml6b250YWwgPiB1bCA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjOTgwMTJlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAjc3ViLW1lbnUge1xuICAgICAgbWF4LXdpZHRoOiAyODdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3N1Yi1tZW51LXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgI3N1Yi1tZW51LXRvZ2dsZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAjc3ViLW1lbnUtdG9nZ2xlciA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItd2lkdGg6IDJweCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTBlMGUwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIHBhZGRpbmc6IDE3cHggMjJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkJyZXZlU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICMxODE3MWU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICNzdWItbWVudS10b2dnbGVyID4gYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlODA0XCI7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRlbGxvXCI7XG4gICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICAgICAgI3N1Yi1tZW51LXRvZ2dsZXIgPiBhOmhvdmVyLCAjc3ViLW1lbnUtdG9nZ2xlciA+IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjOTgwMTJlOyB9XG4gICAgICAjc3ViLW1lbnUtdG9nZ2xlciA+IGEub3BlbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlODA1XCI7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gIC5zdWItbWVudS13cmFwICNzdWItbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctbGVmdDogNjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MnB4O1xuICAgIGJveC1zaGFkb3c6IDBweCA4cHggOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3ViLW1lbnUtd3JhcCAjc3ViLW1lbnUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zdWItbWVudS13cmFwICNzdWItbWVudSA+IHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UwZTBlMDtcbiAgICAgIG1hcmdpbi10b3A6IC0zMnB4OyB9XG4gICAgICAuc3ViLW1lbnUtd3JhcCAjc3ViLW1lbnUgPiB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMnB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuc3ViLW1lbnUtd3JhcCAjc3ViLW1lbnUgPiB1bCBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5zdWItbWVudS13cmFwICNzdWItbWVudSA+IHVsIHVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTJweDsgfVxuICAgIC5zdWItbWVudS13cmFwICNzdWItbWVudSA+IHAgKyB1bCxcbiAgICAuc3ViLW1lbnUtd3JhcCAjc3ViLW1lbnUgPiAuc2VhcmNoLWJveCArIHVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uc3ViLW1lbnVfX2JhY2stbGluayB7XG4gIGNvbG9yOiAjYTk5YTZmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5zdWItbWVudV9fYmFjay1saW5rOmhvdmVyLCAuc3ViLW1lbnVfX2JhY2stbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM4YjZlNGE7IH1cblxuZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIGZvb3RlciAubWVudSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgZm9vdGVyIC5tZW51IGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICBmb290ZXIgLm1lbnUgbGkgYSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LWZhbWlseTogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIGZvb3RlciAubWVudSBsaSBhOmhvdmVyLCBmb290ZXIgLm1lbnUgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNlYmQ1YWI7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgZm9vdGVyIC5iZy1kYXJrLWdyYXkge1xuICAgIHBhZGRpbmc6IDM2cHggMDsgfVxuICBmb290ZXIgLmNvcHlyaWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBjb2xvcjogIzc5Nzk3OTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBmb250LWZhbWlseTogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIGZvb3RlciAuaGFzLWdyYXktYmFuZCA+IC5yb3cge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIGZvb3RlciAuaGFzLWdyYXktYmFuZCA+IC5yb3cge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMThweDsgfSB9XG5cbi5oYXMtZ3JheS1iYW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfVxuICAuaGFzLWdyYXktYmFuZDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgIGhlaWdodDogMTM4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5oYXMtZ3JheS1iYW5kIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gICAgICAuaGFzLWdyYXktYmFuZDphZnRlciB7XG4gICAgICAgIGhlaWdodDogMjc0cHg7IH0gfVxuXG4uYnRuLFxuYS5idG4ge1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1mYW1pbHk6IFwiQWN0b1wiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWM5MTQ3OyB9XG4gIC5idG4uZGlzcGxheS1ibG9jayxcbiAgYS5idG4uZGlzcGxheS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cyxcbiAgYS5idG46aG92ZXIsXG4gIGEuYnRuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGI2ZTRhOyB9XG4gIC5idG4uYnRuLS1zbWFsbCxcbiAgYS5idG4uYnRuLS1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTZweDsgfVxuICAuYnRuLmJ0bi0td2hpdGUsXG4gIGEuYnRuLmJ0bi0td2hpdGUge1xuICAgIGNvbG9yOiAjYWM5MTQ3O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICAgLmJ0bi5idG4tLXdoaXRlOmhvdmVyLCAuYnRuLmJ0bi0td2hpdGU6Zm9jdXMsXG4gICAgYS5idG4uYnRuLS13aGl0ZTpob3ZlcixcbiAgICBhLmJ0bi5idG4tLXdoaXRlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYzkxNDc7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmJ0bi5idG4tLWRhcmstcmVkLFxuICBhLmJ0bi5idG4tLWRhcmstcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzYwNjI2O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5idG4uYnRuLS1kYXJrLXJlZDpob3ZlciwgLmJ0bi5idG4tLWRhcmstcmVkOmZvY3VzLFxuICAgIGEuYnRuLmJ0bi0tZGFyay1yZWQ6aG92ZXIsXG4gICAgYS5idG4uYnRuLS1kYXJrLXJlZDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTEwYzFlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJ0bi5idG4tLWFjYWRlbWljLWZpbHRlcixcbiAgYS5idG4uYnRuLS1hY2FkZW1pYy1maWx0ZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNiMWIxYjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICM4MTc5NmYgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHBhZGRpbmc6IDEzcHggMTBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmJ0bi5idG4tLWFjYWRlbWljLWZpbHRlcjpob3ZlciwgLmJ0bi5idG4tLWFjYWRlbWljLWZpbHRlcjpmb2N1cywgLmJ0bi5idG4tLWFjYWRlbWljLWZpbHRlci5hY3RpdmUsXG4gICAgYS5idG4uYnRuLS1hY2FkZW1pYy1maWx0ZXI6aG92ZXIsXG4gICAgYS5idG4uYnRuLS1hY2FkZW1pYy1maWx0ZXI6Zm9jdXMsXG4gICAgYS5idG4uYnRuLS1hY2FkZW1pYy1maWx0ZXIuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ODAxMmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjOTgwMTJlO1xuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cbiAgICAuYnRuLmJ0bi0tYWNhZGVtaWMtZmlsdGVyLmluZm8sXG4gICAgYS5idG4uYnRuLS1hY2FkZW1pYy1maWx0ZXIuaW5mbyB7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5idG4uYnRuLS1kaXNhYmxlZCxcbiAgYS5idG4uYnRuLS1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjRmNGY0O1xuICAgIGNvbG9yOiAjYTlhOGE4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmJ0bi5idG4tLWRpc2FibGVkLmFjdGl2ZSxcbiAgICBhLmJ0bi5idG4tLWRpc2FibGVkLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2Y0ZjRmNDtcbiAgICAgIGNvbG9yOiAjYTlhOGE4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYnRuLmJ0bi0tZGlzYWJsZWQ6YmVmb3JlLFxuICAgIGEuYnRuLmJ0bi0tZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRlbGxvXCI7XG4gICAgICBjb250ZW50OiBcIlxcZTgxOVwiO1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gICAgLmJ0bi5idG4tLWRpc2FibGVkOmhvdmVyLCAuYnRuLmJ0bi0tZGlzYWJsZWQ6Zm9jdXMsXG4gICAgYS5idG4uYnRuLS1kaXNhYmxlZDpob3ZlcixcbiAgICBhLmJ0bi5idG4tLWRpc2FibGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjYTlhOGE4ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjRmNGY0OyB9XG4gIC5idG4uYnRuLS1pbmxpbmUtLWdvbGQsXG4gIGEuYnRuLmJ0bi0taW5saW5lLS1nb2xkIHtcbiAgICBjb2xvcjogI0E1OEQ1QiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI0E1OEQ1QjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgLmJ0bi5idG4tLWlubGluZS0tZ29sZDpob3ZlciwgLmJ0bi5idG4tLWlubGluZS0tZ29sZDpmb2N1cyxcbiAgICBhLmJ0bi5idG4tLWlubGluZS0tZ29sZDpob3ZlcixcbiAgICBhLmJ0bi5idG4tLWlubGluZS0tZ29sZDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU4RDVCO1xuICAgICAgY29sb3I6ICNmNGY0ZjQgIWltcG9ydGFudDsgfVxuICAuYnRuLmJ0bi0taW5saW5lLS1kYXJrLXJlZCxcbiAgYS5idG4uYnRuLS1pbmxpbmUtLWRhcmstcmVkIHtcbiAgICBjb2xvcjogIzc2MDYyNiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzc2MDYyNjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idG4uYnRuLS1pbmxpbmUtLWRhcmstcmVkOmhvdmVyLCAuYnRuLmJ0bi0taW5saW5lLS1kYXJrLXJlZDpmb2N1cyxcbiAgICBhLmJ0bi5idG4tLWlubGluZS0tZGFyay1yZWQ6aG92ZXIsXG4gICAgYS5idG4uYnRuLS1pbmxpbmUtLWRhcmstcmVkOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3NjA2MjY7XG4gICAgICBjb2xvcjogI2Y0ZjRmNCAhaW1wb3J0YW50OyB9XG5cbi5iZy1pbWctYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuYmctaW1nLWJ0biA+IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJnLWltZy1idG4gLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtZmFtaWx5OiBcIkJyZXZlU2xhYlRpdGxlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gICAgLmJnLWltZy1idG4gLmNvbnRlbnQgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAuYmctaW1nLWJ0bjpob3ZlciAuY29udGVudCwgLmJnLWltZy1idG46Zm9jdXMgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmJnLWltZy1idG4ge1xuICAgICAgbWF4LWhlaWdodDogOTBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXJnaW4tdG9wOiAxM3B4OyB9XG4gICAgICAuYmctaW1nLWJ0biAuY29udGVudCA+IGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZm9sbG93LXVzIHtcbiAgYmFja2dyb3VuZDogIzhjMjMzMiB1cmwoXCIuLi9pbWFnZXMvZm9sbG93LXVzLXN0YW1wLnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIGNlbnRlciBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gIHBhZGRpbmctdG9wOiAyNHB4O1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmZvbGxvdy11cyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA5MCUgYXV0bzsgfSB9XG4gIC5mb2xsb3ctdXMgaDIge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjsgfVxuICAuZm9sbG93LXVzIC5zb2NpYWwtbWVkaWEgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmZvbGxvdy11cyAuc29jaWFsLW1lZGlhIGxpIGEge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMHB4OyB9XG4gICAgICAuZm9sbG93LXVzIC5zb2NpYWwtbWVkaWEgbGkgYTpob3ZlciwgLmZvbGxvdy11cyAuc29jaWFsLW1lZGlhIGxpIGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTYwZDIwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgICAuZm9sbG93LXVzIC5zb2NpYWwtbWVkaWEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mb2xsb3ctdXMgLnNvY2lhbC1tZWRpYSA+IGxpIHtcbiAgICAgICAgZmxleC1iYXNpczogMjElOyB9IH1cbiAgLmZvbGxvdy11cyAuZm9sbG93LXVzX192aWV3LWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiQWN0b1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmZvbGxvdy11cyAuZm9sbG93LXVzX192aWV3LWFsbDpob3ZlciwgLmZvbGxvdy11cyAuZm9sbG93LXVzX192aWV3LWFsbDpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmZvbGxvdy11cyAuZm9sbG93LXVzX192aWV3LWFsbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTsgfSB9XG5cbnVsLmxpc3Qtb2YtZmFjdHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIGhlaWdodDogMTAwJTsgfVxuICB1bC5saXN0LW9mLWZhY3RzIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuOHJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICB1bC5saXN0LW9mLWZhY3RzIGxpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIHVsLmxpc3Qtb2YtZmFjdHMgbGkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC42cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7IH0gfVxuICAgIHVsLmxpc3Qtb2YtZmFjdHMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICB1bC5saXN0LW9mLWZhY3RzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDI7IH0gfVxuICAgIHVsLmxpc3Qtb2YtZmFjdHMgbGk6bnRoLWNoaWxkKDIpLCB1bC5saXN0LW9mLWZhY3RzIGxpOm50aC1jaGlsZCg0KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG4gICAgdWwubGlzdC1vZi1mYWN0cyBsaTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBoZWlnaHQ6IDBweDtcbiAgICAgIHdpZHRoOiAwcHg7IH1cbiAgICB1bC5saXN0LW9mLWZhY3RzIGxpIHAge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG51bC50d28tY29sIHtcbiAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgdWwudHdvLWNvbCBsaSB7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIC8qIENocm9tZSwgU2FmYXJpICovXG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIC8qIFRoZW9yZXRpY2FsbHkgRkYgMjArICovXG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gICAgLyogSUUgMTEgKi8gfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyZXZlU2xhYlRpdGxlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogNTZweDtcbiAgbWFyZ2luLXRvcDogNDNweDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgLnBhZ2luYXRpb24gbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLXByZXZpb3VzLCAucGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLW5leHQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0xNHB4OyB9XG4gICAgICAucGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLXByZXZpb3VzIGEsIC5wYWdpbmF0aW9uIGxpLnBhZ2luYXRpb24tbmV4dCBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgICAgIGNvbG9yOiAjYzJiODlkO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZDFkMWQyO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIC5wYWdpbmF0aW9uIGxpLnBhZ2luYXRpb24tcHJldmlvdXMgYSBbY2xhc3MqPVwiaWNvbi1kdS1cIl06YmVmb3JlLFxuICAgICAgICAucGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLXByZXZpb3VzIGEgW2NsYXNzKj1cImR1LWljb24tXCJdOmJlZm9yZSwgLnBhZ2luYXRpb24gbGkucGFnaW5hdGlvbi1uZXh0IGEgW2NsYXNzKj1cImljb24tZHUtXCJdOmJlZm9yZSxcbiAgICAgICAgLnBhZ2luYXRpb24gbGkucGFnaW5hdGlvbi1uZXh0IGEgW2NsYXNzKj1cImR1LWljb24tXCJdOmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAxNnB4OyB9XG4gICAgICAgIC5wYWdpbmF0aW9uIGxpLnBhZ2luYXRpb24tcHJldmlvdXMgYTpob3ZlciwgLnBhZ2luYXRpb24gbGkucGFnaW5hdGlvbi1wcmV2aW91cyBhOmZvY3VzLCAucGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLW5leHQgYTpob3ZlciwgLnBhZ2luYXRpb24gbGkucGFnaW5hdGlvbi1uZXh0IGE6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMmI4OWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYzJiODlkO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLnBhZ2luYXRpb24gbGkucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZCwgLnBhZ2luYXRpb24gbGkucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICNlY2YwZjM7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlY2YwZjM7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLnBhZ2luYXRpb24gbGkucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZCBbY2xhc3MqPVwiaWNvbi1kdS1cIl06YmVmb3JlLCAucGFnaW5hdGlvbiBsaS5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQgW2NsYXNzKj1cImljb24tZHUtXCJdOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAxNnB4OyB9XG4gICAgLnBhZ2luYXRpb24gbGkgYSB7XG4gICAgICBjb2xvcjogIzE4MTcxZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnBhZ2luYXRpb24gbGkgYTpob3ZlciwgLnBhZ2luYXRpb24gbGkgYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjOTgwMTJlOyB9XG4gICAgLnBhZ2luYXRpb24gbGkuY3VycmVudCB7XG4gICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgIzk4MDEyZTsgfVxuXG51bC5hY2NvcmRpb24gbGkge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06YmVmb3JlLFxuI21haW4tY29udGVudCAuYWNjb3JkaW9uLWl0ZW06YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNjb3JkaW9uLWl0ZW0gYS5hY2NvcmRpb24tdGl0bGUsXG4jbWFpbi1jb250ZW50IC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGRiY2U7XG4gIGNvbG9yOiAjNTI1MjUyO1xuICBmb250LWZhbWlseTogXCJCcmV2ZVNsYWJUaXRsZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmctcmlnaHQ6IDQycHg7IH1cbiAgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLWl0ZW0gYS5hY2NvcmRpb24tdGl0bGU6Zm9jdXMsXG4gICNtYWluLWNvbnRlbnQgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuICAjbWFpbi1jb250ZW50IC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMGFhOWU7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZTpiZWZvcmUsXG4gICNtYWluLWNvbnRlbnQgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udGVsbG9cIjtcbiAgICBjb250ZW50OiBcIlxcZTgwOVwiO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiAtMTFweDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIGEuYWNjb3JkaW9uLXRpdGxlLFxuI21haW4tY29udGVudCAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIGEuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgxNzk2ZjtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgYS5hY2NvcmRpb24tdGl0bGU6YmVmb3JlLFxuICAjbWFpbi1jb250ZW50IC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgYS5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTgwOFwiOyB9XG5cbi5hY2NvcmRpb24taXRlbSArIC5hY2NvcmRpb24taXRlbSxcbiNtYWluLWNvbnRlbnQgLmFjY29yZGlvbi1pdGVtICsgLmFjY29yZGlvbi1pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTFweDsgfVxuXG4uaWNvbi1saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmljb24tbGlzdCA+IGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMjtcbiAgICBwYWRkaW5nOiAxOXB4IDE1cHggMTRweCAxMDBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICM1MjUyNTI7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAuaWNvbi1saXN0ID4gbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaWNvbi1saXN0ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQxZDI7IH1cbiAgICAuaWNvbi1saXN0ID4gbGkgLmljb24tbGlzdF9fbWVkaWEge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTg1cHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuaWNvbi1saXN0ID4gbGkgLmljb24tbGlzdF9fbWVkaWEgc3BhbjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5pY29uLWxpc3QgPiBsaSB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5pY29uLWxpc3QgPiBsaSBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gICAgLmljb24tbGlzdCA+IGxpIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiQWN0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIC5pY29uLWxpc3QgPiBsaSBhLmJ0biB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMTFweCAwIDJweCAyMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICMyMDkwYWM7IH1cbiAgICAgICAgLmljb24tbGlzdCA+IGxpIGEuYnRuOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXGU4MDBcIjtcbiAgICAgICAgICBjb2xvcjogI2QxZDFkMjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250ZWxsb1wiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLmljb24tbGlzdCA+IGxpIGEuYnRuOmhvdmVyLCAuaWNvbi1saXN0ID4gbGkgYS5idG46Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjMDU2MzdiOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAuaWNvbi1saXN0ID4gbGkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAgICAgLmljb24tbGlzdCA+IGxpIHAge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5pY29uLWxpc3QgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNzhweDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgICAgIC5pY29uLWxpc3QgPiBsaSAuaWNvbi1saXN0X19tZWRpYSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC03OHB4OyB9XG4gICAgICAgIC5pY29uLWxpc3QgPiBsaSBwIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDsgfSB9XG5cbi5saXN0LW9mLWxpbmtzIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubGlzdC1vZi1saW5rcyA+IGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMjtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7IH1cbiAgICAubGlzdC1vZi1saW5rcyA+IGxpOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpc3Qtb2YtbGlua3MgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2QxZDFkMjsgfVxuICAgIC5saXN0LW9mLWxpbmtzID4gbGkgYSB7XG4gICAgICBwYWRkaW5nOiAwIDE2cHggMCA0MXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiQWN0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAubGlzdC1vZi1saW5rcyA+IGxpIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU4MDBcIjtcbiAgICAgICAgY29sb3I6ICNkMWQxZDI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRlbGxvXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMTZweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4OyB9XG4gICAgLmxpc3Qtb2YtbGlua3MgPiBsaSB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDFweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7IH1cbiAgICAgIC5saXN0LW9mLWxpbmtzID4gbGkgdWwgbGkgYSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLmxpc3Qtb2YtbGlua3MgPiBsaSB1bCBsaSBhOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubGlzdC1vZi1saW5rcy0tYWx0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmxpc3Qtb2YtbGlua3MtLWFsdCBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGlzdC1vZi1saW5rcy0tYWx0IGxpOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpc3Qtb2YtbGlua3MtLWFsdCBsaSBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwYWRkaW5nOiAxOHB4IDIxcHggMjFweCAyMHB4O1xuICAgICAgY29sb3I6ICNBNThENUI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgICAgLmxpc3Qtb2YtbGlua3MtLWFsdCBsaSBhOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRhNDc0O1xuICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5saXN0LW9mLWxpbmtzLS1hbHQgbGkgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4OyB9IH1cbiAgICAgIC5saXN0LW9mLWxpbmtzLS1hbHQgbGkgYTpob3ZlciwgLmxpc3Qtb2YtbGlua3MtLWFsdCBsaSBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAgIC5saXN0LW9mLWxpbmtzLS1hbHQgbGkgYTpob3ZlcjpiZWZvcmUsIC5saXN0LW9mLWxpbmtzLS1hbHQgbGkgYTpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmxpc3Qtb2YtbGlua3MtLWFsdCBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDIzcHg7IH1cblxuLmNvbnRhY3QtbGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5jb250YWN0LWxpc3QgbGkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQyO1xuICAgIHBhZGRpbmc6IDdweCAxNXB4IDVweCA1NXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzUyNTI1MjtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgIC5jb250YWN0LWxpc3QgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29udGFjdC1saXN0IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQyOyB9XG4gICAgLmNvbnRhY3QtbGlzdCBsaSAuY29udGFjdC1saXN0X19tZWRpYSB7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDVweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgICAuY29udGFjdC1saXN0IGxpIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgICAuY29udGFjdC1saXN0IGxpIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAuY29udGFjdC1saXN0IGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICAgIC5jb250YWN0LWxpc3QgbGkgcCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNvbnRhY3QtbGlzdCBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICAgIC5jb250YWN0LWxpc3QgbGkgLmNvbnRhY3QtbGlzdF9fbWVkaWEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDhweDsgfVxuICAgICAgICAuY29udGFjdC1saXN0IGxpIHAge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OyB9IH1cblxuLnNob3ctaGlkZS10b2dnbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5qcyAuc2hvdy1oaWRlLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogLTU0cHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5qcyAuc2hvdy1oaWRlLXRvZ2dsZSB+ICoge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmpzIC5zaG93LWhpZGUtdG9nZ2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDFweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjQpIDIxJSwgd2hpdGUgNjIlLCB3aGl0ZSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NCkgMjElLCB3aGl0ZSA2MiUsIHdoaXRlIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NCkgMjElLCB3aGl0ZSA2MiUsIHdoaXRlIDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDBmZmZmZmYnLCBlbmRDb2xvcnN0cj0nI2ZmZmZmZicsR3JhZGllbnRUeXBlPTAgKTsgfVxuICAuanMgLnNob3ctaGlkZS10b2dnbGUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQyO1xuICAgIGhlaWdodDogNzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuanMgLnNob3ctaGlkZS10b2dnbGUgYSBbY2xhc3MqPVwiaWNvbi1kdVwiXSxcbiAgICAuanMgLnNob3ctaGlkZS10b2dnbGUgYSBbY2xhc3MqPVwiZHUtaWNvblwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1LjVweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvdHRvbTogLTE0cHg7IH1cbiAgICAgIC5qcyAuc2hvdy1oaWRlLXRvZ2dsZSBhIFtjbGFzcyo9XCJpY29uLWR1XCJdOmJlZm9yZSxcbiAgICAgIC5qcyAuc2hvdy1oaWRlLXRvZ2dsZSBhIFtjbGFzcyo9XCJkdS1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMmI4OWQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBjb2xvcjogIzgxNzk2ZjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuanMgLnNob3ctaGlkZS10b2dnbGUgYSAuaWNvbi1kdS1taW51cyxcbiAgICAuanMgLnNob3ctaGlkZS10b2dnbGUgYSAuZHUtaWNvbi1taW51cyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmpzIC5zaG93LWhpZGUtdG9nZ2xlIGE6aG92ZXIgW2NsYXNzKj1cImljb24tZHVcIl06YmVmb3JlLFxuICAgIC5qcyAuc2hvdy1oaWRlLXRvZ2dsZSBhOmhvdmVyIFtjbGFzcyo9XCJkdS1pY29uXCJdOmJlZm9yZSwgLmpzIC5zaG93LWhpZGUtdG9nZ2xlIGE6Zm9jdXMgW2NsYXNzKj1cImljb24tZHVcIl06YmVmb3JlLFxuICAgIC5qcyAuc2hvdy1oaWRlLXRvZ2dsZSBhOmZvY3VzIFtjbGFzcyo9XCJkdS1pY29uXCJdOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJiODlkO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gIC5qcyAuc2hvdy1oaWRlLXRvZ2dsZS5zaG93LWhpZGUtLWV4cGFuZGVkOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuanMgLnNob3ctaGlkZS10b2dnbGUuc2hvdy1oaWRlLS1leHBhbmRlZCBhIC5pY29uLWR1LW1pbnVzLFxuICAuanMgLnNob3ctaGlkZS10b2dnbGUuc2hvdy1oaWRlLS1leHBhbmRlZCBhIC5kdS1pY29uLW1pbnVzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuanMgLnNob3ctaGlkZS10b2dnbGUuc2hvdy1oaWRlLS1leHBhbmRlZCBhIC5pY29uLWR1LXBsdXMsXG4gIC5qcyAuc2hvdy1oaWRlLXRvZ2dsZS5zaG93LWhpZGUtLWV4cGFuZGVkIGEgLmR1LWljb24tcGx1cyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uanMgLnNob3ctaGlkZV9fY29udGVudHMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzc7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk4MDEyZTsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIsIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpmb2N1cyB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucmVzcG9uc2l2ZS1lbWJlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuI2R1LWxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwOSwgMjA5LCAyMTAsIDAuNik7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTA7IH1cbiAgI2R1LWxvYWRlciA+IHNwYW4ge1xuICAgIC8qY29udGVudDogJ1xcZTgzMic7XG5cdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7Ki9cbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0xN3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTdweDtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gIGh0bWwge1xuICAgIG1pbi13aWR0aDogMzIwcHg7IH1cbiAgaGVhZGVyIHtcbiAgICBoZWlnaHQ6IDUzOHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgIGhlaWdodDogNDg5cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICBoZWFkZXIge1xuICAgICAgaGVpZ2h0OiA0MzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOC43NWVtKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgIGhlaWdodDogNzUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgLnV0aWxpdHktcGFnZSBoZWFkZXIge1xuICAgIGhlaWdodDogMzkycHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAudXRpbGl0eS1wYWdlIGhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDM1NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gIC5wYWdlLXRpdGxlLWJhbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wYWdlLXRpdGxlLWJhbmQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtNTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvdHRvbTogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS10aXRsZS1iYW5kOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgLmludHJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MXB4OyB9XG4gICAgLmludHJvID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaW50cm8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDFweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnB1bGwtdXAgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wdWxsLXVwIHtcbiAgICBtYXJnaW4tdG9wOiAtOTNweDtcbiAgICBwYWRkaW5nLXRvcDogNDNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAjbWFpbi1jb250ZW50ID4gLnJvdyxcbiAgZm9vdGVyID4gLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1NXB4OyB9XG4gICAgI21haW4tY29udGVudCA+IC5yb3cuZXhwYW5kZWQsXG4gICAgZm9vdGVyID4gLnJvdy5leHBhbmRlZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNtYWluLWNvbnRlbnQgPiAucm93LFxuICAgIGZvb3RlciA+IC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICNtYWluLWNvbnRlbnQgPiAucm93OmZpcnN0LWNoaWxkID4gLnB1bGwtdXAge1xuICAgIG1hcmdpbi10b3A6IC04MXB4O1xuICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMzVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zNXB4O1xuICAgIHBhZGRpbmctbGVmdDogNDJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI21haW4tY29udGVudCA+IC5yb3c6Zmlyc3QtY2hpbGQgPiAucHVsbC11cCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE4cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xOHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjJweDsgfSB9XG5cbiNhdWRpZW5jZS1tZW51IHtcbiAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gIHBhZGRpbmctdG9wOiA0OHB4OyB9XG4gICNhdWRpZW5jZS1tZW51IC5jb2x1bW5zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjYXVkaWVuY2UtbWVudSAuY29sdW1ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDdweDsgfSB9XG4gICAgI2F1ZGllbmNlLW1lbnUgLmNvbHVtbnMgLmJnLWltZy1idG4gLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICAjYXVkaWVuY2UtbWVudSAuY29sdW1ucyAuYmctaW1nLWJ0biAuY29udGVudCxcbiAgICAgICNhdWRpZW5jZS1tZW51IC5jb2x1bW5zIC5iZy1pbWctYnRuIC5jb250ZW50IHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAjYXVkaWVuY2UtbWVudSAuY29sdW1ucyAuYmctaW1nLWJ0biAuY29udGVudDpob3ZlciwgI2F1ZGllbmNlLW1lbnUgLmNvbHVtbnMgLmJnLWltZy1idG4gLmNvbnRlbnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG4gICNhdWRpZW5jZS1tZW51IC5yb3cgKyAucm93IHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICNhdWRpZW5jZS1tZW51IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNzdweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDU2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjYXVkaWVuY2UtbWVudSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI5cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMXB4OyB9XG4gICAgICAjYXVkaWVuY2UtbWVudSAuYmctaW1nLWJ0biB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIGhlYWRlciAjdG9wLWJhci1zdGlja3ktd3JhcCB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHdpZHRoOiA1NzFweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTcxcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgICAgd2lkdGg6IDI4NnB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI4NnB4KTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTcxcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBvc2l0aW9uLXJpZ2h0LmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjg2cHgpOyB9IH1cblxuLnNlYXJjaC1ib3gge1xuICBtYXgtd2lkdGg6IDU5MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlYXJjaC1ib3ggPiBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNHB4IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTgwMTJlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICM1MjUyNTI7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmb250LWZhbWlseTogXCJCcmV2ZVNsYWJUaXRsZVwiLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MHB4OyB9XG4gIC5zZWFyY2gtYm94LnNlYXJjaC1ib3gtLW5ldXRyYWwgPiBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDFkMWQyOyB9XG4gIC5zZWFyY2gtYm94ID4gYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxNHB4O1xuICAgIHJpZ2h0OiAxNnB4OyB9XG4gICAgLnNlYXJjaC1ib3ggPiBidXR0b24gPiAuaWNvbi1kdS1jdXN0LXNlYXJjaCB7XG4gICAgICBmb250LXNpemU6IDI2cHg7IH1cbiAgLnNlYXJjaC1ib3ggPiBidXR0b24uc2VhcmNoLWNsZWFyIHtcbiAgICByaWdodDogNTVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zZWFyY2gtYm94ID4gYnV0dG9uLnNlYXJjaC1jbGVhciA+IC5pY29uLWR1LWN1c3QtY2xvc2Uge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICMyMDkwYWM7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2VhcmNoLWJveCA+IGlucHV0W25hbWU9XCJzZWFyY2hcIl06bm90KDp2YWxpZCkgfiAuc2VhcmNoLWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNtYWluLWNvbnRlbnQgLnNlYXJjaC1yZXN1bHRzX19saXN0aW5nLXN1bW1hcnkge1xuICBjb2xvcjogIzE4MTcxZTtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4jbWFpbi1jb250ZW50IC5zZWFyY2gtcmVzdWx0cyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItdG9wOiA4cHggc29saWQgI2UwZTBlMDsgfVxuICAjbWFpbi1jb250ZW50IC5zZWFyY2gtcmVzdWx0cyBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTBlMGUwO1xuICAgIHBhZGRpbmc6IDI2cHggMTBweCA1cHggMjFweDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI21haW4tY29udGVudCAuc2VhcmNoLXJlc3VsdHMgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgICNtYWluLWNvbnRlbnQgLnNlYXJjaC1yZXN1bHRzIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICNtYWluLWNvbnRlbnQgLnNlYXJjaC1yZXN1bHRzIGxpIGEgaDIge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzIwOTBhYztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDsgfVxuICAgICAgI21haW4tY29udGVudCAuc2VhcmNoLXJlc3VsdHMgbGkgYSAuc2VhcmNoLXJlc3VsdC0tdHlwZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjODE3OTZmO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiQnJldmVUZXh0XCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgICNtYWluLWNvbnRlbnQgLnNlYXJjaC1yZXN1bHRzIGxpIGEgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGNvbG9yOiAjNTI1MjUyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAjbWFpbi1jb250ZW50IC5zZWFyY2gtcmVzdWx0cyBsaSBhIC5zZWFyY2gtcmVzdWx0LS11cmwge1xuICAgICAgICBjb2xvcjogIzcyNzI3MjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgI21haW4tY29udGVudCAuc2VhcmNoLXJlc3VsdHMgbGkgYTpob3ZlciwgI21haW4tY29udGVudCAuc2VhcmNoLXJlc3VsdHMgbGkgYTpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAjbWFpbi1jb250ZW50IC5zZWFyY2gtcmVzdWx0cyBsaSBhOmhvdmVyIGgyLCAjbWFpbi1jb250ZW50IC5zZWFyY2gtcmVzdWx0cyBsaSBhOmZvY3VzIGgyIHtcbiAgICAgICAgICBjb2xvcjogIzA1NjM3YjsgfVxuICAgICAgICAjbWFpbi1jb250ZW50IC5zZWFyY2gtcmVzdWx0cyBsaSBhOmhvdmVyIC5zZWFyY2gtcmVzdWx0LS11cmwsICNtYWluLWNvbnRlbnQgLnNlYXJjaC1yZXN1bHRzIGxpIGE6Zm9jdXMgLnNlYXJjaC1yZXN1bHQtLXVybCB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAjbWFpbi1jb250ZW50IC5zZWFyY2gtcmVzdWx0cyBsaS5zZWFyY2gtcmVzdWx0LS1rZXl3b3JkLWhpdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4jbWFpbi1jb250ZW50IC5zZWFyY2gtcmVzdWx0cy0tbm8tcGFnZXIsXG4jbWFpbi1jb250ZW50IC5zZWFyY2gtcmVzdWx0c19fbm8tcmVzdWx0cyxcbiNtYWluLWNvbnRlbnQgLnNlYXJjaC1yZXN1bHRzX19lcnJvciB7XG4gIG1hcmdpbi1ib3R0b206IDU2cHg7IH1cblxuI21haW4tY29udGVudCAubG9hZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMjBweCBhdXRvIDQwcHg7IH1cblxuLmR1LWFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZWJjZTsgfVxuICAuZHUtYWxlcnQgPiAucm93ID4gLmNvbHVtbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZHUtYWxlcnQgPiAucm93ID4gLmNvbHVtbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAuZHUtYWxlcnQgPiAucm93ID4gLmNvbHVtbnMgLmR1LWFsZXJ0X19hY3Rpb24tYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuanMgLmR1LWFsZXJ0ID4gLnJvdyA+IC5jb2x1bW5zIC5kdS1hbGVydF9fYWN0aW9uLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMzBweDtcbiAgICAgIHRvcDogMzBweDtcbiAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5qcyAuZHUtYWxlcnQgPiAucm93ID4gLmNvbHVtbnMgLmR1LWFsZXJ0X19hY3Rpb24tYnV0dG9uLm9wZW4gLmljb24tZHUtZG93bi1hcnJvdzpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTgwMlwiOyB9XG4gICAgICAuanMgLmR1LWFsZXJ0ID4gLnJvdyA+IC5jb2x1bW5zIC5kdS1hbGVydF9fYWN0aW9uLWJ1dHRvbjpob3ZlciwgLmpzIC5kdS1hbGVydCA+IC5yb3cgPiAuY29sdW1ucyAuZHUtYWxlcnRfX2FjdGlvbi1idXR0b246Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcyAuZHUtYWxlcnQgI2R1LWFsZXJ0X19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmpzIC5kdS1hbGVydCAjZHUtYWxlcnRfX2NvbnRlbnQuZHUtYWxlcnRfX2NvbnRlbnQtLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kdS1hbGVydCAjZHUtYWxlcnRfX2NvbnRlbnQuZHUtYWxlcnRfX2NvbnRlbnQtLWV4cGFuZGVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZHUtYWxlcnQgI2R1LWFsZXJ0X19jb250ZW50LmR1LWFsZXJ0X19jb250ZW50LS1leHBhbmRlZCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgY29sb3I6ICMzMDJkMmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuZHUtYWxlcnQgI2R1LWFsZXJ0X19jb250ZW50LmR1LWFsZXJ0X19jb250ZW50LS1leHBhbmRlZCBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5kdS1hbGVydCAjZHUtYWxlcnRfX2NvbnRlbnQuZHUtYWxlcnRfX2NvbnRlbnQtLWV4cGFuZGVkIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gICAgLmR1LWFsZXJ0ICNkdS1hbGVydF9fY29udGVudC5kdS1hbGVydF9fY29udGVudC0tZXhwYW5kZWQgYSB7XG4gICAgICBjb2xvcjogIzMwMmQyZTsgfVxuICAgICAgLmR1LWFsZXJ0ICNkdS1hbGVydF9fY29udGVudC5kdS1hbGVydF9fY29udGVudC0tZXhwYW5kZWQgYTpob3ZlciwgLmR1LWFsZXJ0ICNkdS1hbGVydF9fY29udGVudC5kdS1hbGVydF9fY29udGVudC0tZXhwYW5kZWQgYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjNTYwZDIwOyB9XG4gIC5kdS1hbGVydCBoMSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgIC5kdS1hbGVydCBoMTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU4MTBcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRlbGxvXCI7XG4gICAgICBjb2xvcjogI2M1MGMwYztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmR1LWFsZXJ0IGgxIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cbiAgICAuZHUtYWxlcnQgaDEsXG4gICAgLmR1LWFsZXJ0IGgxICsgcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuZHUtYWxlcnQgaDEsXG4gICAgICAgIC5kdS1hbGVydCBoMSArIHAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuZHUtYWxlcnQgaDEgKyBwIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2NjYmRhMztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogIzE4MTcxZTtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5kdS1hbGVydCBoMSArIHAge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwIG5vbmU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDsgfSB9XG4gIC5qcyAuZHUtYWxlcnQtLW5vdGlmaWNhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5qcyAuZHUtYWxlcnQtLW5vdGlmaWNhdGlvbi5kdS1hbGVydC0tbm90aWZpY2F0aW9uLS1zaG93IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmpzIC5kdS1hbGVydC0tbm90aWZpY2F0aW9uID4gLnJvdyA+IC5jb2x1bW5zIC5kdS1hbGVydF9fYWN0aW9uLWJ1dHRvbiB7XG4gICAgICB0b3A6IDI3cHg7IH1cbiAgLmR1LWFsZXJ0LS1ub3RpZmljYXRpb24gaDEge1xuICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAgIC5kdS1hbGVydC0tbm90aWZpY2F0aW9uIGgxOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2FjOTE0NzsgfVxuICAgIC5kdS1hbGVydC0tbm90aWZpY2F0aW9uIGgxICsgcCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cblxuLmNhdGFzdHJvcGhpYy1hbGVydCBoZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzM1O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY2F0YXN0cm9waGljLWFsZXJ0IGhlYWRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyMXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA2MnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNjJweDsgfVxuICAgICAgLmNhdGFzdHJvcGhpYy1hbGVydCBoZWFkZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDIzNXB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2F0YXN0cm9waGljLWFsZXJ0IGhlYWRlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMnB4OyB9IH1cbiAgLmNhdGFzdHJvcGhpYy1hbGVydCBoZWFkZXIgaDEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogNTBweDsgfVxuICAgIC5jYXRhc3Ryb3BoaWMtYWxlcnQgaGVhZGVyIGgxOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL2FsZXJ0LWF0dGVudGlvbi1jaXJjbGUucG5nXCIpIG5vLXJlcGVhdCBzY3JvbGwgY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgd2lkdGg6IDM5cHg7XG4gICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jYXRhc3Ryb3BoaWMtYWxlcnQgaGVhZGVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMXB4OyB9XG4gICAgICAgIC5jYXRhc3Ryb3BoaWMtYWxlcnQgaGVhZGVyIGgxOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDMxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYXRhc3Ryb3BoaWMtYWxlcnQgaGVhZGVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ5cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNjRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgICAuY2F0YXN0cm9waGljLWFsZXJ0IGhlYWRlciBoMTpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTdweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4OyB9IH1cbiAgLmNhdGFzdHJvcGhpYy1hbGVydCBoZWFkZXIgaDIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDM4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jYXRhc3Ryb3BoaWMtYWxlcnQgaGVhZGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYXRhc3Ryb3BoaWMtYWxlcnQgaGVhZGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2F0YXN0cm9waGljLWFsZXJ0IGFzaWRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4JTsgfSB9XG5cbi5jYXRhc3Ryb3BoaWMtYWxlcnQgYXNpZGUgaDMge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDI0cHg7IH1cblxuLmNhdGFzdHJvcGhpYy1hbGVydCBhc2lkZSBoNCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc2l6ZTogMjJweDsgfVxuXG4uY2F0YXN0cm9waGljLWFsZXJ0IGFzaWRlIHAge1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAuY2F0YXN0cm9waGljLWFsZXJ0IGFzaWRlIHAgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMzZweDsgfVxuXG4vKiBNb2RhbCBTdHlsZXMgKi9cbi5yZXZlYWwuZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5yZXZlYWwuZnVsbCAubW9kYWxfY3RhX3V0aWxpdHkgaDIge1xuICAgIGZvbnQtc2l6ZTogNjZweDtcbiAgICBsaW5lLWhlaWdodDogNjZweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLnJldmVhbC5mdWxsIC5tb2RhbF9jdGFfdXRpbGl0eSBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDU1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5yZXZlYWwuZnVsbCAubW9kYWxfY3RhX3V0aWxpdHkgaDIge1xuICAgICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4OyB9IH1cbiAgLnJldmVhbC5mdWxsIC5tb2RhbF9jdGFfdXRpbGl0eSBoNCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnJldmVhbC5mdWxsIC5tb2RhbF9jdGFfdXRpbGl0eSBoNiB7XG4gICAgY29sb3I6ICM1MjUyNTI7IH1cbiAgLnJldmVhbC5mdWxsIC5tb2RhbF9jdGFfdXRpbGl0eSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLnJldmVhbC5mdWxsIC5tb2RhbF9jdGFfdXRpbGl0eSAuYnRuIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAucmV2ZWFsLmZ1bGwgLm1vZGFsX2N0YV91dGlsaXR5IC5idG4ge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4OyB9IH1cbiAgICAucmV2ZWFsLmZ1bGwgLm1vZGFsX2N0YV91dGlsaXR5IC5idG46aG92ZXIsIC5yZXZlYWwuZnVsbCAubW9kYWxfY3RhX3V0aWxpdHkgLmJ0bjpmb2N1cyB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnJldmVhbC5tb2RhbF93cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbiNmZWVkYmFja19mbG9hdGVyIHtcbiAgYm9yZGVyOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMjBweDtcbiAgei1pbmRleDogOTk5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwOTBhYztcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIC1tb3otYm94LXNoYWRvdzogMCAwIDVweCAzcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cbiAgI2ZlZWRiYWNrX2Zsb2F0ZXI6aG92ZXIsICNmZWVkYmFja19mbG9hdGVyOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDU2MzdiOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCcmV2ZURpc3BsYXlcIjtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1kaXNwbGF5LXdlYi9yZWd1bGFyL0JyZXZlRGlzcGxheS5lb3RcIik7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtZGlzcGxheS13ZWIvcmVndWxhci9CcmV2ZURpc3BsYXkuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtZGlzcGxheS13ZWIvcmVndWxhci9CcmV2ZURpc3BsYXkud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250cy9icmV2ZS1kaXNwbGF5LXdlYi9yZWd1bGFyL0JyZXZlRGlzcGxheS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLWRpc3BsYXktd2ViL3JlZ3VsYXIvQnJldmVEaXNwbGF5LnN2ZyNCcmV2ZURpc3BsYXlcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyZXZlRGlzcGxheVwiO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLWRpc3BsYXktd2ViL3N0ZW5jaWwvQnJldmVEaXNwbGF5LVN0ZW5jaWwuZW90XCIpO1xuICBzcmM6IHVybChcImZvbnRzL2JyZXZlLWRpc3BsYXktd2ViL3N0ZW5jaWwvQnJldmVEaXNwbGF5LVN0ZW5jaWwuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtZGlzcGxheS13ZWIvc3RlbmNpbC9CcmV2ZURpc3BsYXktU3RlbmNpbC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImZvbnRzL2JyZXZlLWRpc3BsYXktd2ViL3N0ZW5jaWwvQnJldmVEaXNwbGF5LVN0ZW5jaWwudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCJmb250cy9icmV2ZS1kaXNwbGF5LXdlYi9zdGVuY2lsL0JyZXZlRGlzcGxheS1TdGVuY2lsLnN2ZyNCcmV2ZURpc3BsYXlcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCcmV2ZU5ld3NcIjtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1uZXdzLXdlYi9ib29rL0JyZXZlTmV3cy1Cb29rLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1uZXdzLXdlYi9ib29rL0JyZXZlTmV3cy1Cb29rLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLW5ld3Mtd2ViL2Jvb2svQnJldmVOZXdzLUJvb2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250cy9icmV2ZS1uZXdzLXdlYi9ib29rL0JyZXZlTmV3cy1Cb29rLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtbmV3cy13ZWIvYm9vay9CcmV2ZU5ld3MtQm9vay5zdmcjQnJldmVOZXdzXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCcmV2ZU5ld3NcIjtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1uZXdzLXdlYi9ib29rL0JyZXZlTmV3cy1Cb29rSXRhbGljLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1uZXdzLXdlYi9ib29rL0JyZXZlTmV3cy1Cb29rSXRhbGljLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLW5ld3Mtd2ViL2Jvb2svQnJldmVOZXdzLUJvb2tJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250cy9icmV2ZS1uZXdzLXdlYi9ib29rL0JyZXZlTmV3cy1Cb29rSXRhbGljLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtbmV3cy13ZWIvYm9vay9CcmV2ZU5ld3MtQm9va0l0YWxpYy5zdmcjQnJldmVOZXdzXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCcmV2ZU5ld3NcIjtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1uZXdzLXdlYi9ib2xkL0JyZXZlTmV3cy1Cb2xkLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJmb250cy9icmV2ZS1uZXdzLXdlYi9ib2xkL0JyZXZlTmV3cy1Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLW5ld3Mtd2ViL2JvbGQvQnJldmVOZXdzLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJmb250cy9icmV2ZS1uZXdzLXdlYi9ib2xkL0JyZXZlTmV3cy1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiZm9udHMvYnJldmUtbmV3cy13ZWIvYm9sZC9CcmV2ZU5ld3MtQm9sZC5zdmcjQnJldmVOZXdzXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJldmVOZXdzXCI7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtbmV3cy13ZWIvYm9sZC9CcmV2ZU5ld3MtQm9sZEl0YWxpYy5lb3RcIik7XG4gIHNyYzogdXJsKFwiZm9udHMvYnJldmUtbmV3cy13ZWIvYm9sZC9CcmV2ZU5ld3MtQm9sZEl0YWxpYy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJmb250cy9icmV2ZS1uZXdzLXdlYi9ib2xkL0JyZXZlTmV3cy1Cb2xkSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiZm9udHMvYnJldmUtbmV3cy13ZWIvYm9sZC9CcmV2ZU5ld3MtQm9sZEl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcImZvbnRzL2JyZXZlLW5ld3Mtd2ViL2JvbGQvQnJldmVOZXdzLUJvbGRJdGFsaWMuc3ZnI0JyZXZlTmV3c1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmR1LWhvbWUgaGVhZGVyIHtcbiAgaGVpZ2h0OiA4MzdweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAuZHUtaG9tZSBoZWFkZXIge1xuICAgICAgaGVpZ2h0OiA2MzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5kdS1ob21lIGhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDUwMHB4OyB9IH1cbiAgLmR1LWhvbWUgaGVhZGVyOmJlZm9yZSwgLmR1LWhvbWUgaGVhZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgYm9yZGVyLWJvdHRvbTogNDBweCBzb2xpZCB3aGl0ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogNDBweDsgfVxuICAuZHUtaG9tZSBoZWFkZXI6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQ6IDQwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cbiAgLmR1LWhvbWUgaGVhZGVyOmFmdGVyIHtcbiAgICBib3JkZXItbGVmdDogNDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAuZHUtaG9tZSBoZWFkZXI6YmVmb3JlLCAuZHUtaG9tZSBoZWFkZXI6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDsgfVxuICAgIC5kdS1ob21lIGhlYWRlcjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAzMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgLmR1LWhvbWUgaGVhZGVyOmFmdGVyIHtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAzMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZHUtaG9tZSBoZWFkZXI6YmVmb3JlLCAuZHUtaG9tZSBoZWFkZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5kdS1ob21lIGhlYWRlciAuaGVyby1tZWRpYSB7XG4gICAgLyomOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTg0LCAxNjEsIDk4LCAwKTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMnMgZWFzZTtcblx0XHRcdH0qLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmR1LWhvbWUgaGVhZGVyIC5oZXJvLW1lZGlhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5kdS1ob21lIGhlYWRlciAuaGVyby1tZWRpYSA+IHZpZGVvIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTQ4OHB4KSB7XG4gICAgICAgIC5kdS1ob21lIGhlYWRlciAuaGVyby1tZWRpYSA+IHZpZGVvIHtcbiAgICAgICAgICB3aWR0aDogMTQ4OHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNzQ0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA4MzdweDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgbWluLXdpZHRoOiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMTIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgLmR1LWhvbWUgaGVhZGVyIC5oZXJvLW1lZGlhID4gdmlkZW8ge1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTExOXB4KSB7XG4gICAgICAgIC5kdS1ob21lIGhlYWRlciAuaGVyby1tZWRpYSA+IHZpZGVvIHtcbiAgICAgICAgICB3aWR0aDogMTEyMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNTYwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA2MzBweDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgbWluLXdpZHRoOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuZHUtaG9tZSBoZWFkZXIgLmhlcm8tbWVkaWEgPiB2aWRlbyB7XG4gICAgICAgICAgd2lkdGg6IDE1ODhweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTc5NHB4O1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5kdS1ob21lIGhlYWRlciAuaGVyby1tZWRpYSA+IHZpZGVvIHtcbiAgICAgICAgICB3aWR0aDogMTI2MHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNjMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDIxMTFweCkge1xuICAgICAgLmR1LWhvbWUgaGVhZGVyIC5oZXJvLW1lZGlhID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDIxMTBweCkge1xuICAgICAgLmR1LWhvbWUgaGVhZGVyIC5oZXJvLW1lZGlhID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDIxMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDU1cHg7XG4gICAgICAgIGhlaWdodDogODM3cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLmR1LWhvbWUgaGVhZGVyIC5oZXJvLW1lZGlhID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDE1ODhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC03OTRweDtcbiAgICAgICAgaGVpZ2h0OiA2MzBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZHUtaG9tZSBoZWFkZXIgLmhlcm8tbWVkaWEgPiBpbWcge1xuICAgICAgICB3aWR0aDogMTI2MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTYzMHB4O1xuICAgICAgICBoZWlnaHQ6IDUwMHB4OyB9IH1cbiAgLmR1LWhvbWUgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uIGgyIHtcbiAgICBmb250LXNpemU6IDkzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDk3cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtZmFtaWx5OiBcIkJyZXZlRGlzcGxheVwiLCBzYW5zLXNlcmlmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAuZHUtaG9tZSBoZWFkZXIgLmhlcm8tbWVkaWFfX2NhcHRpb24gaDIge1xuICAgICAgICBmb250LXNpemU6IDcwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3M3B4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5kdS1ob21lIGhlYWRlciAuaGVyby1tZWRpYV9fY2FwdGlvbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUxcHg7IH0gfVxuICAgIC5kdS1ob21lIGhlYWRlciAuaGVyby1tZWRpYV9fY2FwdGlvbiBoMiBzcGFuLmxpbmUge1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmR1LWhvbWUgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uIGgyIHNwYW4ubGluZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLmR1LWhvbWUgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgICAgIGJvdHRvbTogODhweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5kdS1ob21lIGhlYWRlciAuaGVyby1tZWRpYV9fY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMnB4O1xuICAgICAgYm90dG9tOiAyOXB4OyB9IH1cblxuLmR1LWhvbWUgI21haW4tY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA5NnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLmR1LWhvbWUgI21haW4tY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNjZweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5kdS1ob21lICNtYWluLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDYzcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9XG4gIC5kdS1ob21lICNtYWluLWNvbnRlbnQgaDIsIC5kdS1ob21lICNtYWluLWNvbnRlbnQgaDMsIC5kdS1ob21lICNtYWluLWNvbnRlbnQgaDQsIC5kdS1ob21lICNtYWluLWNvbnRlbnQgaDUsIC5kdS1ob21lICNtYWluLWNvbnRlbnQgaDYge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmR1LWhvbWUgI21haW4tY29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiA2NnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2NnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAuZHUtaG9tZSAjbWFpbi1jb250ZW50IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZHUtaG9tZSAjbWFpbi1jb250ZW50IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzhweDsgfSB9XG4gIC5kdS1ob21lICNtYWluLWNvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICBsaW5lLWhlaWdodDogNTlweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLmR1LWhvbWUgI21haW4tY29udGVudCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7IH0gfVxuICAuZHUtaG9tZSAjbWFpbi1jb250ZW50IHAge1xuICAgIGZvbnQtZmFtaWx5OiAnQnJldmVOZXdzJywgc2FuLXNlcmlmOyB9XG4gIC5kdS1ob21lICNtYWluLWNvbnRlbnQgPiAucm93ICsgLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogMTUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5kdS1ob21lICNtYWluLWNvbnRlbnQgPiAucm93ICsgLnJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmR1LWhvbWUgI21haW4tY29udGVudCA+IC5yb3cgKyAucm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG5cbi5kdS1ob21lIC5kdS1ob21lX19zZWN0aW9uLTEge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5kdS1ob21lIC5kdS1ob21lX19zZWN0aW9uLTEgcCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAuZHUtaG9tZSAuZHUtaG9tZV9fc2VjdGlvbi0xIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5kdS1ob21lIC5kdS1ob21lX19zZWN0aW9uLTEgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmR1LWhvbWUgLmR1LWhvbWVfX3NlY3Rpb24tMSBoMi5idG0tZGl2aWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1M3B4OyB9XG4gICAgLmR1LWhvbWUgLmR1LWhvbWVfX3NlY3Rpb24tMSAubGlzdC1vZi1saW5rcy0tYWx0IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmR1LWhvbWUgLmR1LWhvbWVfX3NlY3Rpb24tMSAubGlzdC1vZi1saW5rcy0tYWx0IGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmR1LWhvbWUgLmR1LWhvbWVfX2FjYWRlbWljLXByb2dyYW1zIC5zZWFyY2gtYm94IHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5kdS1ob21lIC5kdS1ob21lX19hY2FkZW1pYy1wcm9ncmFtcyAuc2VhcmNoLWJveCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDY3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGhlaWdodDogODFweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLmR1LWhvbWUgLmR1LWhvbWVfX2FjYWRlbWljLXByb2dyYW1zIC5zZWFyY2gtYm94IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgICAgaGVpZ2h0OiA1OXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5kdS1ob21lIC5kdS1ob21lX19hY2FkZW1pYy1wcm9ncmFtcyAuc2VhcmNoLWJveCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDUxcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZHUtaG9tZSAuZHUtaG9tZV9fYWNhZGVtaWMtcHJvZ3JhbXMgLnNlYXJjaC1ib3ggPiBidXR0b24ge1xuICAgICAgcmlnaHQ6IDhweDtcbiAgICAgIGJvdHRvbTogMTJweDsgfVxuICAgICAgLmR1LWhvbWUgLmR1LWhvbWVfX2FjYWRlbWljLXByb2dyYW1zIC5zZWFyY2gtYm94ID4gYnV0dG9uID4gLmljb24tZHUtY3VzdC1zZWFyY2gge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuXG4uZHUtaG9tZSAuZHUtaG9tZV9fYWNhZGVtaWMtcHJvZ3JhbXMgLmJ0biB7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2NHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1O1xuICBwYWRkaW5nLXRvcDogNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAuZHUtaG9tZSAuZHUtaG9tZV9fYWNhZGVtaWMtcHJvZ3JhbXMgLmJ0biB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTlweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5kdS1ob21lIC5kdS1ob21lX19hY2FkZW1pYy1wcm9ncmFtcyAuYnRuIHtcbiAgICAgIGhlaWdodDogODRweDsgfSB9XG4gIC5kdS1ob21lIC5kdS1ob21lX19hY2FkZW1pYy1wcm9ncmFtcyAuYnRuIC5pY29uLWR1LWN1c3Qtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDsgfVxuICAuZHUtaG9tZSAuZHUtaG9tZV9fYWNhZGVtaWMtcHJvZ3JhbXMgLmJ0bjpob3ZlciwgLmR1LWhvbWUgLmR1LWhvbWVfX2FjYWRlbWljLXByb2dyYW1zIC5idG46Zm9jdXMge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmR1LWhvbWUgLmR1LWhvbWVfX2FjYWRlbWljLXByb2dyYW1zIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5kdS1ob21lICNtYWluLWNvbnRlbnQgPiAucm93LnJvdy0tZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5kdS1ob21lIGhlYWRlciAuaGVyby1tZWRpYSB7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uZHUtaG9tZS5kdS1hbGVydC0tYWN0aXZlIGhlYWRlciAuaGVyby1tZWRpYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uZHUtaG9tZSAjbWFpbi1jb250ZW50LFxuLmR1LWhvbWUgZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLyouZHUtaG9tZSBoZWFkZXIuaGVhZGVyLS1mYWRlLW91dC1nb2xkIHtcblx0Lmhlcm8tbWVkaWEge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTg0LCAxNjEsIDk4LCAwLjI1KTtcblx0XHR9XG5cdH1cbn0qL1xuLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXIucm93IHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC53aWRlLWNhcm91c2VsX193cmFwcGVyLnJvdyA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC53aWRlLWNhcm91c2VsX193cmFwcGVyLnJvdyA+IC5jb2x1bW5zID4gLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAjbWFpbi1jb250ZW50IC53aWRlLWNhcm91c2VsX193cmFwcGVyLnJvdyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXIgLndpZGUtY2Fyb3VzZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC53aWRlLWNhcm91c2VsX193cmFwcGVyIC53aWRlLWNhcm91c2VsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm4ucG5nXCIpIHJlcGVhdCBzY3JvbGwgMCAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IC0zMHB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgei1pbmRleDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXIgLndpZGUtY2Fyb3VzZWwgLm9yYml0LXNsaWRlID4gLnJvdyA+IC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAud2lkZS1jYXJvdXNlbF9fd3JhcHBlciAud2lkZS1jYXJvdXNlbCAub3JiaXQtc2xpZGUgPiAucm93ID4gLmNvbHVtbnM6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctcGF0dGVybi5wbmdcIikgcmVwZWF0IHNjcm9sbCAwIDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogLTQ3cHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogNDdweDtcbiAgICAgIHotaW5kZXg6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgIC53aWRlLWNhcm91c2VsX193cmFwcGVyIC53aWRlLWNhcm91c2VsIC5vcmJpdC1zbGlkZSA+IC5yb3cgPiAuY29sdW1uczpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICB0b3A6IC0zMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC53aWRlLWNhcm91c2VsX193cmFwcGVyIC53aWRlLWNhcm91c2VsIC53aWRlLWNhcm91c2VsX19tZWRpYS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXIgLndpZGUtY2Fyb3VzZWwgLndpZGUtY2Fyb3VzZWxfX21lZGlhLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ2LjI1JTsgfVxuICAgICAgLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXIgLndpZGUtY2Fyb3VzZWwgLndpZGUtY2Fyb3VzZWxfX21lZGlhLXdyYXBwZXIgPiAqIHtcbiAgICAgICAgdG9wOiAtNSUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXIgLndpZGUtY2Fyb3VzZWwgLndpZGUtY2Fyb3VzZWxfX21lZGlhLXdyYXBwZXIgPiAqIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC53aWRlLWNhcm91c2VsX193cmFwcGVyIC53aWRlLWNhcm91c2VsIC53aWRlLWNhcm91c2VsX19tZWRpYS13cmFwcGVyID4gdmlkZW8ge1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXIgLndpZGUtY2Fyb3VzZWwgLndpZGUtY2Fyb3VzZWxfX21lZGlhLXdyYXBwZXIgPiB2aWRlbyArIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAud2lkZS1jYXJvdXNlbF9fd3JhcHBlciAud2lkZS1jYXJvdXNlbCAud2lkZS1jYXJvdXNlbF9fbWVkaWEtd3JhcHBlciA+IGltZyB7XG4gICAgICB6LWluZGV4OiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC53aWRlLWNhcm91c2VsX193cmFwcGVyIC53aWRlLWNhcm91c2VsIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC53aWRlLWNhcm91c2VsX193cmFwcGVyIC53aWRlLWNhcm91c2VsIC53aWRlLWNhcm91c2VsX19tZWRpYS13cmFwcGVyID4gdmlkZW8ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC53aWRlLWNhcm91c2VsX193cmFwcGVyLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXItLWFsdCAud2lkZS1jYXJvdXNlbCAub3JiaXQtc2xpZGUgPiAucm93ID4gLmNvbHVtbnM6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9IH1cblxuLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXIgLndpZGUtY2Fyb3VzZWxfX2NvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAtNTdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgei1pbmRleDogMztcbiAgcGFkZGluZzogMTNweCA0NHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAud2lkZS1jYXJvdXNlbF9fd3JhcHBlciAud2lkZS1jYXJvdXNlbF9fY29udGVudCB7XG4gICAgICBsZWZ0OiAtMTBweDsgfSB9XG4gIC53aWRlLWNhcm91c2VsX193cmFwcGVyIC53aWRlLWNhcm91c2VsX19jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAud2lkZS1jYXJvdXNlbF9fd3JhcHBlciAud2lkZS1jYXJvdXNlbF9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDIycHggMCAyMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXIgLndpZGUtY2Fyb3VzZWxfX2NvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC53aWRlLWNhcm91c2VsX193cmFwcGVyLndpZGUtY2Fyb3VzZWxfX3dyYXBwZXItLWFsdCAud2lkZS1jYXJvdXNlbF9fY29udGVudCB7XG4gICAgbGVmdDogMTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAud2lkZS1jYXJvdXNlbF9fd3JhcHBlciA+IC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgcGFkZGluZy1yaWdodDogMjJweDsgfVxuICAud2lkZS1jYXJvdXNlbF9fd3JhcHBlciBoMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH0gfVxuXG4udGhyZWUtY29sLWZhY3RzIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIHBhZGRpbmctdG9wOiAxMC4zJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjbWFpbi1jb250ZW50IC50aHJlZS1jb2wtZmFjdHMucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI21haW4tY29udGVudCAudGhyZWUtY29sLWZhY3RzLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC50aHJlZS1jb2wtZmFjdHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRocmVlLWNvbC1mYWN0cyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTklOyB9XG4gICAgICAudGhyZWUtY29sLWZhY3RzICsgLnJvdyxcbiAgICAgIC50aHJlZS1jb2wtZmFjdHMgKyAuZHUtaG9tZV9fcXVvdGVzX193cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAudGhyZWUtY29sLWZhY3RzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMzVweDsgfSB9XG4gIC5kdS1ob21lICNtYWluLWNvbnRlbnQgLnRocmVlLWNvbC1mYWN0cy5yb3cge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5kdS1ob21lICNtYWluLWNvbnRlbnQgLnRocmVlLWNvbC1mYWN0cy5yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiAzM3B4OyB9IH1cbiAgLnRocmVlLWNvbC1mYWN0cyAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50aHJlZS1jb2wtZmFjdHMgLnRocmVlLWNvbC1mYWN0c19faW1nLmlzLXN0dWNrIHtcbiAgICB6LWluZGV4OiAwOyB9XG4gIC50aHJlZS1jb2wtZmFjdHMgPiAudGhyZWUtY29sLWZhY3RzX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC50aHJlZS1jb2wtZmFjdHMgPiAudGhyZWUtY29sLWZhY3RzX19pdGVtIHAge1xuICAgICAgY29sb3I6ICMwODY1N2Q7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiA0M3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU5cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnRocmVlLWNvbC1mYWN0cyA+IC50aHJlZS1jb2wtZmFjdHNfX2l0ZW0gcCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC50aHJlZS1jb2wtZmFjdHMgPiAudGhyZWUtY29sLWZhY3RzX19pdGVtIHAge1xuICAgICAgICAgIG1heC13aWR0aDogMjMwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNjBweDsgfSB9XG4gICAgICAudGhyZWUtY29sLWZhY3RzID4gLnRocmVlLWNvbC1mYWN0c19faXRlbSBwLFxuICAgICAgLmR1LWhvbWUgI21haW4tY29udGVudCAudGhyZWUtY29sLWZhY3RzID4gLnRocmVlLWNvbC1mYWN0c19faXRlbSBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiQnJldmVTbGFiVGl0bGVcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgIC50aHJlZS1jb2wtZmFjdHMgPiAudGhyZWUtY29sLWZhY3RzX19pdGVtIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDRweDsgfSB9XG4gICAgICAudGhyZWUtY29sLWZhY3RzID4gLnRocmVlLWNvbC1mYWN0c19faXRlbSBwIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogOTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDk1cHg7XG4gICAgICAgIGNvbG9yOiAjMDA3MmJjO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgICAgLnRocmVlLWNvbC1mYWN0cyA+IC50aHJlZS1jb2wtZmFjdHNfX2l0ZW0gcCBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiA3MXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDcxcHg7IH0gfVxuICAgICAgICAudGhyZWUtY29sLWZhY3RzID4gLnRocmVlLWNvbC1mYWN0c19faXRlbSBwIHN0cm9uZyxcbiAgICAgICAgLmR1LWhvbWUgI21haW4tY29udGVudCAudGhyZWUtY29sLWZhY3RzID4gLnRocmVlLWNvbC1mYWN0c19faXRlbSBwIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiQnJldmVEaXNwbGF5XCIsIHNhbnMtc2VyaWY7IH1cbiAgICAudGhyZWUtY29sLWZhY3RzID4gLnRocmVlLWNvbC1mYWN0c19faXRlbSArIC50aHJlZS1jb2wtZmFjdHNfX2l0ZW0gcCBzdHJvbmcge1xuICAgICAgY29sb3I6ICMwODY1N2Q7IH1cbiAgICAudGhyZWUtY29sLWZhY3RzID4gLnRocmVlLWNvbC1mYWN0c19faXRlbSArIC50aHJlZS1jb2wtZmFjdHNfX2l0ZW0gKyAudGhyZWUtY29sLWZhY3RzX19pdGVtIHAgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjMDA3NDZiOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAudGhyZWUtY29sLWZhY3RzID4gLnRocmVlLWNvbC1mYWN0c19faXRlbSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gIC5kdS1ob21lICNtYWluLWNvbnRlbnQgLnN3YXBwaW5nLWltZy1mZWF0dXJlLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAuc3dhcHBpbmctaW1nLWZlYXR1cmUgLnN3YXBwaW5nLWltZy1mZWF0dXJlX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAyNHB4IDQ0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnN3YXBwaW5nLWltZy1mZWF0dXJlIC5zd2FwcGluZy1pbWctZmVhdHVyZV9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxNHB4IDIycHggMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc3dhcHBpbmctaW1nLWZlYXR1cmUgLnN3YXBwaW5nLWltZy1mZWF0dXJlX19jb250ZW50IHtcbiAgICAgIHRvcDogLTc2cHg7XG4gICAgICBsZWZ0OiAtOTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTIzcHg7XG4gICAgICB6LWluZGV4OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5zd2FwcGluZy1pbWctZmVhdHVyZSAuc3dhcHBpbmctaW1nLWZlYXR1cmVfX2NvbnRlbnQge1xuICAgICAgbGVmdDogLTY4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgICAuc3dhcHBpbmctaW1nLWZlYXR1cmUgLnN3YXBwaW5nLWltZy1mZWF0dXJlX19jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLnN3YXBwaW5nLWltZy1mZWF0dXJlIC5zd2FwcGluZy1pbWctZmVhdHVyZV9fY29udGVudCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4ge1xuICAuc3dhcHBpbmctaW1nLWZlYXR1cmUgLnN3YXBwaW5nLWltZy1mZWF0dXJlX19pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDY0cHg7IH1cbiAgICAuc3dhcHBpbmctaW1nLWZlYXR1cmUgLnN3YXBwaW5nLWltZy1mZWF0dXJlX19pbWFnZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9hcnJvdy1wYXR0ZXJuLnBuZ1wiKSByZXBlYXQgc2Nyb2xsIDAgMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAtNDBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHotaW5kZXg6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLnN3YXBwaW5nLWltZy1mZWF0dXJlIC5zd2FwcGluZy1pbWctZmVhdHVyZV9faW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtMzZweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiB7XG4gICAgLnN3YXBwaW5nLWltZy1mZWF0dXJlIC5zd2FwcGluZy1pbWctZmVhdHVyZV9faW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5kdS1ob21lICNtYWluLWNvbnRlbnQgLnN3YXBwaW5nLWltZy1mZWF0dXJlLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4ge1xuICAuc3dhcHBpbmctaW1nLWZlYXR1cmUuc3dhcHBpbmctaW1nLWZlYXR1cmUtLWFsdCAuc3dhcHBpbmctaW1nLWZlYXR1cmVfX2ltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiA0MXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc3dhcHBpbmctaW1nLWZlYXR1cmUuc3dhcHBpbmctaW1nLWZlYXR1cmUtLWFsdCAuc3dhcHBpbmctaW1nLWZlYXR1cmVfX2NvbnRlbnQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC05MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogLTM4cHg7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAyOXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5zd2FwcGluZy1pbWctZmVhdHVyZS5zd2FwcGluZy1pbWctZmVhdHVyZS0tYWx0IC5zd2FwcGluZy1pbWctZmVhdHVyZV9fY29udGVudCB7XG4gICAgICByaWdodDogLTY4cHg7IH0gfVxuXG4ucXVvdGVzLW1vZHVsZV9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucXVvdGVzLW1vZHVsZV9fd3JhcHBlcixcbiAgLnF1b3Rlcy1tb2R1bGVfX3dyYXBwZXIgKyAucm93IHtcbiAgICBtYXJnaW4tdG9wOiAxNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnF1b3Rlcy1tb2R1bGVfX3dyYXBwZXIsXG4gICAgICAucXVvdGVzLW1vZHVsZV9fd3JhcHBlciArIC5yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5xdW90ZXMtbW9kdWxlX193cmFwcGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm4ucG5nXCIpIHJlcGVhdCBzY3JvbGwgMCAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xNzVweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgLypAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdFx0dG9wOiAtMzBweDtcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fSovIH0gfVxuXG4ucXVvdGVzLW1vZHVsZSAub3JiaXQtc2xpZGUgPiAucm93IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuICAucXVvdGVzLW1vZHVsZSAub3JiaXQtc2xpZGUgPiAucm93ID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5xdW90ZXMtbW9kdWxlIC5xdW90ZXMtbW9kdWxlX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwOTBhYztcbiAgcGFkZGluZzogMCAyNTBweCAwIDUwcHg7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnF1b3Rlcy1tb2R1bGUgLnF1b3Rlcy1tb2R1bGVfX2NvbnRlbnQge1xuICAgICAgbWluLWhlaWdodDogNDQ1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnF1b3Rlcy1tb2R1bGUgLnF1b3Rlcy1tb2R1bGVfX2NvbnRlbnQge1xuICAgICAgbWluLWhlaWdodDogMzQ1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAucXVvdGVzLW1vZHVsZSAucXVvdGVzLW1vZHVsZV9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5xdW90ZXMtbW9kdWxlIC5xdW90ZXMtbW9kdWxlX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDU0cHggMjVweDsgfSB9XG4gIC5xdW90ZXMtbW9kdWxlIC5xdW90ZXMtbW9kdWxlX19jb250ZW50IGJsb2NrcXVvdGUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnF1b3Rlcy1tb2R1bGUgLnF1b3Rlcy1tb2R1bGVfX2NvbnRlbnQgYmxvY2txdW90ZSBwIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkJyZXZlRGlzcGxheVwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICBsaW5lLWhlaWdodDogNTFweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgIC5xdW90ZXMtbW9kdWxlIC5xdW90ZXMtbW9kdWxlX19jb250ZW50IGJsb2NrcXVvdGUgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAucXVvdGVzLW1vZHVsZSAucXVvdGVzLW1vZHVsZV9fY29udGVudCBibG9ja3F1b3RlIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzZweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLnF1b3Rlcy1tb2R1bGUgLnF1b3Rlcy1tb2R1bGVfX2NvbnRlbnQgYmxvY2txdW90ZSBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7IH0gfVxuICAgIC5xdW90ZXMtbW9kdWxlIC5xdW90ZXMtbW9kdWxlX19jb250ZW50IGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgICBmb250LWZhbWlseTogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuICAgICAgLnF1b3Rlcy1tb2R1bGUgLnF1b3Rlcy1tb2R1bGVfX2NvbnRlbnQgYmxvY2txdW90ZSBjaXRlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5xdW90ZXMtbW9kdWxlIC5xdW90ZXMtbW9kdWxlX19jb250ZW50IGJsb2NrcXVvdGUgY2l0ZSBzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5xdW90ZXMtbW9kdWxlIC5xdW90ZXMtbW9kdWxlX19jb250ZW50IGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5xdW90ZXMtbW9kdWxlIC5xdW90ZXMtbW9kdWxlX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTIwOHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMDBweDtcbiAgdG9wOiA2MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5xdW90ZXMtbW9kdWxlIC5xdW90ZXMtbW9kdWxlX19pbWFnZSB7XG4gICAgICBsZWZ0OiAtMTU4cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNTBweDtcbiAgICAgIHRvcDogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5xdW90ZXMtbW9kdWxlIC5xdW90ZXMtbW9kdWxlX19pbWFnZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgdG9wOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5xdW90ZXMtbW9kdWxlIC5vcmJpdC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDkwYWM7IH0gfVxuXG5oZWFkZXIgLmhlcm8tbWVkaWEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTE7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgaGVhZGVyIC5oZXJvLW1lZGlhID4gKiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzU2cHgpIHtcbiAgICAgIGhlYWRlciAuaGVyby1tZWRpYSA+ICoge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTM1NnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTY3OHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVyby1tZWRpYSA+ICoge1xuICAgICAgICB3aWR0aDogMTIzMnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTYxNnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIGhlYWRlciAuaGVyby1tZWRpYSA+ICoge1xuICAgICAgICB3aWR0aDogMTA4NHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTU0MnB4OyB9IH1cbiAgaGVhZGVyIC5oZXJvLW1lZGlhID4gdmlkZW8gKyBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMTsgfVxuICBoZWFkZXIgLmhlcm8tbWVkaWEgPiB2aWRlbyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlOyB9XG4gICAgaGVhZGVyIC5oZXJvLW1lZGlhID4gdmlkZW8uaGVyby12aWRlby0tdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgaGVhZGVyIC5oZXJvLW1lZGlhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLyo+IHZpZGVvICsgaW1nIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH0qLyB9IH1cblxuaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAxMTNweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlcm8tbWVkaWFfX2NhcHRpb24ge1xuICAgICAgcmlnaHQ6IDU1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlcm8tbWVkaWFfX2NhcHRpb24ge1xuICAgICAgcmlnaHQ6IDIycHg7IH0gfVxuICBoZWFkZXIgLmhlcm8tbWVkaWFfX2NhcHRpb24gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIGhlYWRlciAuaGVyby1tZWRpYV9fY2FwdGlvbiAuaGVyby1tZWRpYV9fY2FwdGlvbl9fdGV4dCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcyBlYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogdW5zZXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNCwgMjMsIDMwLCAwLjYpO1xuICAgIHdpZHRoOiAyODNweDsgfVxuICAgIGhlYWRlciAuaGVyby1tZWRpYV9fY2FwdGlvbiAuaGVyby1tZWRpYV9fY2FwdGlvbl9fdGV4dCA+IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA5cHggNTZweCAxM3B4IDE2cHg7IH1cbiAgICAgIGhlYWRlciAuaGVyby1tZWRpYV9fY2FwdGlvbiAuaGVyby1tZWRpYV9fY2FwdGlvbl9fdGV4dCA+IGE6aG92ZXIsIGhlYWRlciAuaGVyby1tZWRpYV9fY2FwdGlvbiAuaGVyby1tZWRpYV9fY2FwdGlvbl9fdGV4dCA+IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LCAyMywgMzAsIDAuOCk7IH1cbiAgICAgICAgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uIC5oZXJvLW1lZGlhX19jYXB0aW9uX190ZXh0ID4gYTpob3ZlciBwLCBoZWFkZXIgLmhlcm8tbWVkaWFfX2NhcHRpb24gLmhlcm8tbWVkaWFfX2NhcHRpb25fX3RleHQgPiBhOmZvY3VzIHAge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICBoZWFkZXIgLmhlcm8tbWVkaWFfX2NhcHRpb24gLmhlcm8tbWVkaWFfX2NhcHRpb25fX3RleHQgcCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgICBoZWFkZXIgLmhlcm8tbWVkaWFfX2NhcHRpb24gLmhlcm8tbWVkaWFfX2NhcHRpb25fX3RleHQgLmhlcm8tbWVkaWFfX2NhcHRpb25fX3RvZ2dsZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA4cHg7XG4gICAgICByaWdodDogMTFweDsgfVxuICAgICAgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uIC5oZXJvLW1lZGlhX19jYXB0aW9uX190ZXh0IC5oZXJvLW1lZGlhX19jYXB0aW9uX190b2dnbGVyIC5pY29uLWR1LW1pbnVzLFxuICAgICAgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uIC5oZXJvLW1lZGlhX19jYXB0aW9uX190ZXh0IC5oZXJvLW1lZGlhX19jYXB0aW9uX190b2dnbGVyIC5kdS1pY29uLW1pbnVzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uIC5oZXJvLW1lZGlhX19jYXB0aW9uX190ZXh0IC5oZXJvLW1lZGlhX19jYXB0aW9uX190b2dnbGVyIFtjbGFzcyo9XCJpY29uLWR1XCJdLFxuICAgICAgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uIC5oZXJvLW1lZGlhX19jYXB0aW9uX190ZXh0IC5oZXJvLW1lZGlhX19jYXB0aW9uX190b2dnbGVyIFtjbGFzcyo9XCJkdS1pY29uXCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uLmNhcHRpb24tZXhwYW5kZWQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBsZWZ0OiAyMHB4OyB9IH1cbiAgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uLmNhcHRpb24tZXhwYW5kZWQgLmhlcm8tbWVkaWFfX2NhcHRpb25fX3RleHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQsIDIzLCAzMCwgMC45KTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uLmNhcHRpb24tZXhwYW5kZWQgLmhlcm8tbWVkaWFfX2NhcHRpb25fX3RleHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICBoZWFkZXIgLmhlcm8tbWVkaWFfX2NhcHRpb24uY2FwdGlvbi1leHBhbmRlZCAuaGVyby1tZWRpYV9fY2FwdGlvbl9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBoZWFkZXIgLmhlcm8tbWVkaWFfX2NhcHRpb24uY2FwdGlvbi1leHBhbmRlZCAuaGVyby1tZWRpYV9fY2FwdGlvbl9fdGV4dCBwIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gIGhlYWRlciAuaGVyby1tZWRpYV9fY2FwdGlvbi5jYXB0aW9uLWV4cGFuZGVkIC5oZXJvLW1lZGlhX19jYXB0aW9uX190b2dnbGVyIC5pY29uLWR1LXBsdXMsXG4gIGhlYWRlciAuaGVyby1tZWRpYV9fY2FwdGlvbi5jYXB0aW9uLWV4cGFuZGVkIC5oZXJvLW1lZGlhX19jYXB0aW9uX190b2dnbGVyIC5kdS1pY29uLXBsdXMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uLmNhcHRpb24tZXhwYW5kZWQgLmhlcm8tbWVkaWFfX2NhcHRpb25fX3RvZ2dsZXIgLmljb24tZHUtbWludXMsXG4gIGhlYWRlciAuaGVyby1tZWRpYV9fY2FwdGlvbi5jYXB0aW9uLWV4cGFuZGVkIC5oZXJvLW1lZGlhX19jYXB0aW9uX190b2dnbGVyIC5kdS1pY29uLW1pbnVzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAvKkBwYWdlIHtcblx0ICBtYXJnaW46IDFjbSAyY20gMmNtO1xuXHR9Ki9cbiAgaGVhZGVyIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICBoZWFkZXIgLmhlcm8tbWVkaWEsXG4gICAgaGVhZGVyIC5oZXJvLW1lZGlhX19jYXB0aW9uLFxuICAgIGhlYWRlciAudXRpbGl0eS1tZW51LFxuICAgIGhlYWRlciAjbWFpbi1tZW51LFxuICAgIGhlYWRlciAjc2VhcmNoLXRvZ2dsZXIsXG4gICAgaGVhZGVyICNtYWluLW1lbnUtdG9nZ2xlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgaGVhZGVyIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgaGVhZGVyICNtYWluLW1lbnUtd3JhcCBhLmxvZ28ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIGhlYWRlciAjbWFpbi1tZW51LXdyYXAgYS5sb2dvID4gc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgI21haW4tY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgI21haW4tY29udGVudCAucHVsbC11cCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgI21haW4tY29udGVudCAucHVsbC11cCBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuaW50cm8ubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5pbnRyby5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAwIG5vbmU7IH1cbiAgLmJsb2NrcXVvdGVfX2JhY2tncm91bmQgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYWNhZGVtaWMtZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hY2FkZW1pYy1jYXJkcy1tb2R1bGUgLmFwLWl0ZW0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi13aWR0aDogNTAlO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAuYWNhZGVtaWMtY2FyZHMtbW9kdWxlIC5hcC1pdGVtLmFwLWl0ZW0tLW9wZW4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7IH1cbiAgICAuYWNhZGVtaWMtY2FyZHMtbW9kdWxlIC5hcC1pdGVtIC5jYXJkcy1wcm9ncmFtX19jb250ZW50IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiA1cHggMCAwIDA7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAzcHg7IH1cbiAgICAgIC5hY2FkZW1pYy1jYXJkcy1tb2R1bGUgLmFwLWl0ZW0gLmNhcmRzLXByb2dyYW1fX2NvbnRlbnQgaDIucHJvZ3JhbS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAgICAgLmFjYWRlbWljLWNhcmRzLW1vZHVsZSAuYXAtaXRlbSAuY2FyZHMtcHJvZ3JhbV9fY29udGVudCAuYWNhZGVtaWMtY2FyZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgLmFjYWRlbWljLWNhcmRzLW1vZHVsZSAuYXAtaXRlbSAuZGVncmVlcyB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgLmFjYWRlbWljLWNhcmRzLW1vZHVsZSAuYXAtaXRlbS5hcC1sZXR0ZXIsIC5hY2FkZW1pYy1jYXJkcy1tb2R1bGUgLmFwLWl0ZW0uYXAtc2Nob29sLFxuICAgIC5hY2FkZW1pYy1jYXJkcy1tb2R1bGUgLmFwLWl0ZW0gLm1vcmUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYWNhZGVtaWMtY2FyZHMtbW9kdWxlIC5hcC1pdGVtIC5mbHlvdXQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cbiAgICAgIC5hY2FkZW1pYy1jYXJkcy1tb2R1bGUgLmFwLWl0ZW0gLmZseW91dCAuZmx5b3V0LWNvbnRlbnRfX2hvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgICAuYWNhZGVtaWMtY2FyZHMtbW9kdWxlIC5hcC1pdGVtIC5mbHlvdXQgLmZseW91dC1jb250ZW50X19ob2xkZXIgPiAuY29sdW1ucyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5hY2FkZW1pYy1jYXJkcy1tb2R1bGUgLmFwLWl0ZW0gLmZseW91dCAuY2FyZHMtbW9kdWxlX19idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuYWNhZGVtaWMtY2FyZHMtbW9kdWxlIC5qcy1maWx0ZXItY2FyZHMge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLmNvcHktbW9kdWxlIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgIC5jb3B5LW1vZHVsZSB1bCBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDsgfVxuICAuY29weS1tb2R1bGUuY29weS1tb2R1bGUtLWltYWdlLWFsdCAubGFyZ2UtOSxcbiAgLmNvcHktbW9kdWxlLmNvcHktbW9kdWxlLS1pbWFnZS1hbHQgLmxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvcHktbW9kdWxlLmNvcHktbW9kdWxlLS1pbWFnZS1hbHQgLmxhcmdlLTMgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmluZm9ybWF0aW9uLW92ZXJ2aWV3LW1vZHVsZSAub3JiaXQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuaW5mb3JtYXRpb24tb3ZlcnZpZXctbW9kdWxlIC5vcmJpdC1jb250YWluZXIgLmZhY3QgLnF1aWNrLWZhY3QtbW9kdWxlX19jb250ZW50IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgLmluZm9ybWF0aW9uLW92ZXJ2aWV3LW1vZHVsZSAub3JiaXQtY29udGFpbmVyIC5mYWN0U3RhdGlzdGljIHtcbiAgICAgIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgICAuaW5mb3JtYXRpb24tb3ZlcnZpZXctbW9kdWxlIC5vcmJpdC1jb250YWluZXIgdWwubGlzdC1vZi1mYWN0cyBsaSB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAucmVsYXRlZC1zdG9yaWVzLW1vZHVsZSAub3JiaXQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLnJlbGF0ZWQtc3Rvcmllcy1tb2R1bGUgLnJlbGF0ZWQtc3Rvcmllcy1tb2R1bGVfX3N0b3J5IHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgLnJlbGF0ZWQtc3Rvcmllcy1tb2R1bGUgLnJlbGF0ZWQtc3Rvcmllcy1tb2R1bGVfX3N0b3J5X19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLnJlbGF0ZWQtc3Rvcmllcy1tb2R1bGUgLnJlbGF0ZWQtc3Rvcmllcy1tb2R1bGVfX3N0b3J5X19jb250ZW50IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAucmVsYXRlZC1zdG9yaWVzLW1vZHVsZSAucmVsYXRlZC1zdG9yaWVzLW1vZHVsZV9fc3RvcnlfX2NvbnRlbnQgYSAucmVhZC1tb3JlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkFjdG9cIiwgc2Fucy1zZXJpZjsgfVxuICAuc3Rvcmllcy1tb2R1bGUgPiAucm93IHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAuc3Rvcmllcy1tb2R1bGUgLnN0b3JpZXMtbW9kdWxlX19zdG9yeSAuY29udGVudCB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmNhcmRzLW1vZHVsZSA+IC5yb3cge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAuY2FyZHMtbW9kdWxlID4gLnJvdyA+IC5jb2x1bW5zIC5jYXJkcy1tb2R1bGVfX2NvbnRlbnQge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgICAuY2FyZHMtbW9kdWxlID4gLnJvdyA+IC5jb2x1bW5zIC5jYXJkcy1tb2R1bGVfX2NvbnRlbnQgaDQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mZWF0dXJlLXZpZGVvLW1vZHVsZSAuYmxvY2txdW90ZV9fYmFja2dyb3VuZCAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAuZmVhdHVyZS12aWRlby1tb2R1bGUgLmZlYXR1cmUtdmlkZW8tbW9kdWxlX192aWRlby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmVhdHVyZS12aWRlby1tb2R1bGUgLmZlYXR1cmUtdmlkZW8tbW9kdWxlX192aWRlby13cmFwcGVyIGEudmlkZW8tdG9nZ2xlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZmVhdHVyZS12aWRlby1tb2R1bGUgLmZlYXR1cmUtdmlkZW8tbW9kdWxlX192aWRlby13cmFwcGVyIGEudmlkZW8tdG9nZ2xlIC52aWRlby10b2dnbGVfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMjhweDtcbiAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgICAgLmZlYXR1cmUtdmlkZW8tbW9kdWxlIC5mZWF0dXJlLXZpZGVvLW1vZHVsZV9fdmlkZW8td3JhcHBlciBhLnZpZGVvLXRvZ2dsZSAudmlkZW8tdG9nZ2xlX190ZXh0ID4gW2NsYXNzKj1cImljb24tZHVcIl0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAuZmVhdHVyZS12aWRlby1tb2R1bGUgLmZlYXR1cmUtdmlkZW8tbW9kdWxlX192aWRlby13cmFwcGVyIGEudmlkZW8tdG9nZ2xlIC52aWRlby10b2dnbGVfX3RleHQgLmljb24tZHUtcGF1c2UtY2lyY2xlZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mZWF0dXJlLXZpZGVvLW1vZHVsZSAuZmVhdHVyZS12aWRlby1tb2R1bGVfX3ZpZGVvLXdyYXBwZXIgdmlkZW8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLWltYWdlLW1vZHVsZSAubGFyZ2UtaW1hZ2UtbW9kdWxlX190b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAjZXZlbnRzLWxpc3RpbmdfX3Nob3ctbW9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuanMgI2V2ZW50cy1saXN0aW5nID4gLmNvbHVtbnM6bnRoLWNoaWxkKDFuKzcpIC5ldmVudHMtbGlzdGluZ19faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI2R1LWFsZXJ0IC5kdS1hbGVydF9fYWN0aW9uLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjZHUtYWxlcnQgI2R1LWFsZXJ0X19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTBlMGUwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnNjaG9vbC1saXN0IC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI3NjaG9vbC1saXN0LWNvbnRhaW5lciAuc2Nob29sLW5hbWUge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICBoMSwgaDIsIGgzLCBoNCwgaDUge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB1bCwgb2wsIGltZywgcCwgYmxvY2txdW90ZSwgdGFibGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAuc2VhcmNoLXJlc3VsdHMge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9XG4gIC5pbWctd3JhcHBlcl9fY29udGVudCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIC5jb250YWN0cy1tb2R1bGUge1xuICAgIC8qJjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHR9Ki8gfVxuICAgIC5jb250YWN0cy1tb2R1bGUgLmNvbnRhY3RzLW1vZHVsZV9fY29udGVudCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuY29udGFjdC1zaW5nbGUtbW9kdWxlIC5jb250YWN0LXNpbmdsZS1tb2R1bGVfb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29udGFjdC1zaW5nbGUtbW9kdWxlIC5jb2x1bW5zIHtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY29udGFjdC1zaW5nbGUtbW9kdWxlIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb250YWN0LXNpbmdsZS1tb2R1bGVfX2NvbnRlbnQge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmNvbnRhY3Qtc2luZ2xlLW1vZHVsZV9fY29udGVudCAuc29jaWFsLW1lZGlhIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogbGVmdDtcbiAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGxlZnQ7XG4gICAgICAtbXMtZmxleC1hbGlnbjogbGVmdDtcbiAgICAgIGFsaWduLWl0ZW1zOiBsZWZ0OyB9XG4gICAgICAuY29udGFjdC1zaW5nbGUtbW9kdWxlX19jb250ZW50IC5zb2NpYWwtbWVkaWEgbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAvKiBUaGVzZSBhcmUgdGVjaG5pY2FsbHkgdGhlIHNhbWUsIGJ1dCB1c2UgYm90aCAqL1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICAgIC8qIFRoaXMgaXMgdGhlIGRhbmdlcm91cyBvbmUgaW4gV2ViS2l0LCBhcyBpdCBicmVha3MgdGhpbmdzIHdoZXJldmVyICovXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgLyogSW5zdGVhZCB1c2UgdGhpcyBub24tc3RhbmRhcmQgb25lOiAqL1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAvKiBBZGRzIGEgaHlwaGVuIHdoZXJlIHRoZSB3b3JkIGJyZWFrcywgaWYgc3VwcG9ydGVkIChObyBCbGluaykgKi9cbiAgICAgICAgLW1zLWh5cGhlbnM6IGF1dG87XG4gICAgICAgIC1tb3otaHlwaGVuczogYXV0bztcbiAgICAgICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAgICAgICBoeXBoZW5zOiBhdXRvOyB9XG4gIHVsLnR3by1jb2wgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50OyB9XG4gIGZvb3RlciAuY29weXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAjMDAwMDAwOyB9XG4gIC5zdWItbWVudS13cmFwLFxuICAuZm9sbG93LXVzLFxuICBmb290ZXIgLmJnLWRhcmstZ3JheSxcbiAgLmpzIC5zaG93LWhpZGUtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5qcyAuc2hvdy1oaWRlX19jb250ZW50cyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmFkbWlzc2lvbi1zdGVwcyAuYWRtaXNzaW9uLXN0ZXBzX19uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFkbWlzc2lvbi1zdGVwcyAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmFkbWlzc2lvbi1zdGVwcyAuYWRtaXNzaW9uLXN0ZXBzX19wcmludCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYWRtaXNzaW9uLXN0ZXBzIC5hZG1pc3Npb24tc3RlcHNfX3NlY3Rpb24tbmFtZSB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuYWRtaXNzaW9uLXN0ZXBzIC50YWJzLXBhbmVsW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuYWRtaXNzaW9uLXN0ZXBzIC50YWJzLnZlcnRpY2FsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hZG1pc3Npb24tc3RlcHMgPiAudGFicy1jb250ZW50IHtcbiAgICBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDsgfVxuICAgIC5hZG1pc3Npb24tc3RlcHMgPiAudGFicy1jb250ZW50IC50YWJzLWNvbnRlbnQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5hZG1pc3Npb24tc3RlcHMgPiAudGFicy1jb250ZW50IC50YWJzLWNvbnRlbnQgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgICAgICAuYWRtaXNzaW9uLXN0ZXBzID4gLnRhYnMtY29udGVudCAudGFicy1jb250ZW50IHVsIGxpIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDsgfVxuICAgIC5hZG1pc3Npb24tc3RlcHMgPiAudGFicy1jb250ZW50ID4gLnRhYnMtcGFuZWwgPiAucm93ID4gLmxhcmdlLTkge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgLmFkbWlzc2lvbi1zdGVwcyAuc3ViLXN0ZXAtY29udGVudCB7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci13aWR0aDogMCAhaW1wb3J0YW50OyB9XG4gICAgLmFkbWlzc2lvbi1zdGVwcyAuc3ViLXN0ZXAtY29udGVudCBoNCB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4OyB9IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMFxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgXCIuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplXCI7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vL0BpbXBvcnQgXCJzZXR0aW5ncy9zZXR0aW5nc1wiO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBEVSBGb250cyBhbmQgSWNvbnNcbkBpbXBvcnQgJ2R1LWZvbnRzJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogdHJ1ZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuLypAaW1wb3J0ICd0eXBvZ3JhcGh5L2ZvbnRmYWNlJztcblxuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVRleHQnLCAnL2Nzcy9mb250cy92MS9icmV2ZS10ZXh0LXdlYi9tZWRpdW0vQnJldmVUZXh0LU1lZGl1bScsIG5vcm1hbCwgbm9ybWFsKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVUZXh0JywgJy9jc3MvZm9udHMvdjEvYnJldmUtdGV4dC13ZWIvbWVkaXVtL0JyZXZlVGV4dC1NZWRpdW1JdGFsaWMnLCBpdGFsaWMsIG5vcm1hbCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlVGV4dCcsICcvY3NzL2ZvbnRzL3YxL2JyZXZlLXRleHQtd2ViL2JvbGQvQnJldmVUZXh0LUJvbGQnLCBub3JtYWwsIGJvbGQpO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVRleHQnLCAnL2Nzcy9mb250cy92MS9icmV2ZS10ZXh0LXdlYi9ib2xkL0JyZXZlVGV4dC1Cb2xkSXRhbGljJywgaXRhbGljLCBib2xkKTtcblxuLy8gTmF2aWdhdGlvbiBGb250XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2FucycsICcvY3NzL2ZvbnRzL3YxL2JyZXZlLXNhbnMtdGV4dC13ZWIvYm9vay9CcmV2ZVNhbnNUZXh0LUJvb2snLCBub3JtYWwsIDUwMCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2FucycsICcvY3NzL2ZvbnRzL3YxL2JyZXZlLXNhbnMtdGV4dC13ZWIvQnJldmVTYW5zVGV4dC1NZWRpdW0nLCBub3JtYWwsIDYwMCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2FucycsICcvY3NzL2ZvbnRzL3YxL2JyZXZlLXNhbnMtdGV4dC13ZWIvQnJldmVTYW5zVGV4dC1CbGFjaycsIG5vcm1hbCwgODAwKTtcblxuLy8gSGVhZGxpbmUgRm9udFxuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNsYWJUaXRsZScsICcvY3NzL2ZvbnRzL3YxL2JyZXZlLXNsYWItdGl0bGUtd2ViL2xpZ2h0L0JyZXZlU2xhYlRpdGxlLUxpZ2h0Jywgbm9ybWFsLCAzMDApO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNsYWJUaXRsZScsICcvY3NzL2ZvbnRzL3YxL2JyZXZlLXNsYWItdGl0bGUtd2ViL2xpZ2h0L0JyZXZlU2xhYlRpdGxlLUxpZ2h0SXRhbGljJywgaXRhbGljLCAzMDApO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNsYWJUaXRsZScsICcvY3NzL2ZvbnRzL3YxL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JvbGQvQnJldmVTbGFiVGl0bGUtQm9sZCcsIG5vcm1hbCwgNzAwKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnL2Nzcy9mb250cy92MS9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib2xkL0JyZXZlU2xhYlRpdGxlLUJvbGRJdGFsaWMnLCBpdGFsaWMsIDcwMCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2xhYlRpdGxlJywgJy9jc3MvZm9udHMvdjEvYnJldmUtc2xhYi10aXRsZS13ZWIvYmxhY2svQnJldmVTbGFiVGl0bGUtQmxhY2snLCBub3JtYWwsIDgwMCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2xhYlRpdGxlJywgJy9jc3MvZm9udHMvdjEvYnJldmUtc2xhYi10aXRsZS13ZWIvYmxhY2svQnJldmVTbGFiVGl0bGUtQmxhY2tJdGFsaWMnLCBpdGFsaWMsIDgwMCk7XG5cbi8vQ2FsbCB0byBBY3Rpb24gRm9udFxuQGluY2x1ZGUgZm9udEZhY2UgKCdBY3RvJywgJy9jc3MvZm9udHMvdjEvYWN0by13ZWIvYmxhY2svQWN0by1CbGFjaycsIG5vcm1hbCwgODAwKTtcbiovXG4kYm9keS1mb250LWZhbWlseTogJ0JyZXZlU2FucycsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgcGFkZGluZzogMDtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIkBtaXhpbiBmb250RmFjZSgkZmFtaWx5LCRzcmMsJHN0eWxlOiBudWxsLCR3ZWlnaHQ6IG51bGwpIHtcblx0QGZvbnQtZmFjZSB7XG5cdFx0Zm9udC1mYW1pbHk6ICRmYW1pbHk7XG5cdFx0c3JjOiB1cmwoJyN7JHNyY30uZW90Jyk7IC8vIElFOSBjb21wYXRcblx0XHRzcmM6IHVybCgnI3skc3JjfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvLyBJRTggYW5kIGJlbG93XG5cdFx0XHR1cmwoJyN7JHNyY30ud29mZicpIGZvcm1hdCgnd29mZicpLCAvLyBzdGFuZGFyZHNcblx0XHRcdHVybCgnI3skc3JjfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8vIFNhZmFyaSwgQW5kcm9pZCwgaU9TXG5cdFx0XHR1cmwoJyN7JHNyY30uc3ZnIyN7JGZhbWlseX0nKSBmb3JtYXQoJ3N2ZycpOyAvLyBsZWdhY3kgaU9TXG5cblx0XHRmb250LXN0eWxlOiAkc3R5bGU7XG5cdFx0Zm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cdH1cbn0iLCIvLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L2ZvbnRmYWNlJztcblxuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVRleHQnLCAnZm9udHMvYnJldmUtdGV4dC13ZWIvbWVkaXVtL0JyZXZlVGV4dC1NZWRpdW0nLCBub3JtYWwsIG5vcm1hbCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlVGV4dCcsICdmb250cy9icmV2ZS10ZXh0LXdlYi9tZWRpdW0vQnJldmVUZXh0LU1lZGl1bUl0YWxpYycsIGl0YWxpYywgbm9ybWFsKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVUZXh0JywgJ2ZvbnRzL2JyZXZlLXRleHQtd2ViL2JvbGQvQnJldmVUZXh0LUJvbGQnLCBub3JtYWwsIGJvbGQpO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVRleHQnLCAnZm9udHMvYnJldmUtdGV4dC13ZWIvYm9sZC9CcmV2ZVRleHQtQm9sZEl0YWxpYycsIGl0YWxpYywgYm9sZCk7XG5cbi8vIE5hdmlnYXRpb24gRm9udFxuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNhbnMnLCAnZm9udHMvYnJldmUtc2Fucy10ZXh0LXdlYi9ib29rL0JyZXZlU2Fuc1RleHQtQm9vaycsIG5vcm1hbCwgNTAwKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTYW5zJywgJ2ZvbnRzL2JyZXZlLXNhbnMtdGV4dC13ZWIvbWVkaXVtL0JyZXZlU2Fuc1RleHQtTWVkaXVtJywgbm9ybWFsLCA2MDApO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNhbnMnLCAnZm9udHMvYnJldmUtc2Fucy10ZXh0LXdlYi9ibGFjay9CcmV2ZVNhbnNUZXh0LUJsYWNrJywgbm9ybWFsLCA4MDApO1xuXG4vLyBIZWFkbGluZSBGb250XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2xhYlRpdGxlJywgJ2ZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2Jvb2svQnJldmVTbGFiVGl0bGUtQm9vaycsIG5vcm1hbCwgNTAwKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYm9vay9CcmV2ZVNsYWJUaXRsZS1Cb29rSXRhbGljJywgaXRhbGljLCA1MDApO1xuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNsYWJUaXRsZScsICdmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi9ib2xkL0JyZXZlU2xhYlRpdGxlLUJvbGQnLCBub3JtYWwsIDcwMCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2xhYlRpdGxlJywgJ2ZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JvbGQvQnJldmVTbGFiVGl0bGUtQm9sZEl0YWxpYycsIGl0YWxpYywgNzAwKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvYmxhY2svQnJldmVTbGFiVGl0bGUtQmxhY2snLCBub3JtYWwsIDgwMCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlU2xhYlRpdGxlJywgJ2ZvbnRzL2JyZXZlLXNsYWItdGl0bGUtd2ViL2JsYWNrL0JyZXZlU2xhYlRpdGxlLUJsYWNrSXRhbGljJywgaXRhbGljLCA4MDApO1xuXG4vL0NhbGwgdG8gQWN0aW9uIEZvbnRcbkBpbmNsdWRlIGZvbnRGYWNlICgnQWN0bycsICdmb250cy9hY3RvLXdlYi9ibGFjay9BY3RvLUJsYWNrJywgbm9ybWFsLCA4MDApO1xuXG4vL1RoaW4gVGl0bGUgRm9udFxuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZVNsYWJUaXRsZScsICdmb250cy9icmV2ZS1zbGFiLXRpdGxlLXdlYi90aGluL0JyZXZlU2xhYlRpdGxlLVRoaW4nLCBub3JtYWwsIDMwMCk7XG5cbi8vUXVpY2sgRmFjdHNcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVEaXNwbGF5JywgJ2ZvbnRzL2JyZXZlLWRpc3BsYXktd2ViL3N0ZW5jaWwvQnJldmVEaXNwbGF5LVN0ZW5jaWwnLCBub3JtYWwsIGJvbGQpO1xuXG5cblxuJGJvZHktZm9udC1mYW1pbHk6ICdCcmV2ZVNhbnMnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG5cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICBzcmM6IHVybCgnZm9udHMvZm9udGVsbG8taWNvbnMvZm9udGVsbG8uZW90PzYzMzMyODQ2Jyk7XG4gIHNyYzogdXJsKCdmb250cy9mb250ZWxsby1pY29ucy9mb250ZWxsby5lb3Q/NjMzMzI4NDYjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCdmb250cy9mb250ZWxsby1pY29ucy9mb250ZWxsby53b2ZmMj82MzMzMjg0NicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJ2ZvbnRzL2ZvbnRlbGxvLWljb25zL2ZvbnRlbGxvLndvZmY/NjMzMzI4NDYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJ2ZvbnRzL2ZvbnRlbGxvLWljb25zL2ZvbnRlbGxvLnR0Zj82MzMzMjg0NicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICB1cmwoJ2ZvbnRzL2ZvbnRlbGxvLWljb25zL2ZvbnRlbGxvLnN2Zz82MzMzMjg0NiNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRm9ybXNcbi8vICAyMC4gTGFiZWxcbi8vICAyMS4gTWVkaWEgT2JqZWN0XG4vLyAgMjIuIE1lbnVcbi8vICAyMy4gTWV0ZXJcbi8vICAyNC4gT2ZmLWNhbnZhc1xuLy8gIDI1LiBPcmJpdFxuLy8gIDI2LiBQYWdpbmF0aW9uXG4vLyAgMjcuIFByb2dyZXNzIEJhclxuLy8gIDI4LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgMjkuIFJldmVhbFxuLy8gIDMwLiBTbGlkZXJcbi8vICAzMS4gU3dpdGNoXG4vLyAgMzIuIFRhYmxlXG4vLyAgMzMuIFRhYnNcbi8vICAzNC4gVGh1bWJuYWlsXG4vLyAgMzUuIFRpdGxlIEJhclxuLy8gIDM2LiBUb29sdGlwXG4vLyAgMzcuIFRvcCBCYXJcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDE4cHg7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZlZmVmZTtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICM1MjUyNTI7Ly8jMTgxNjFmO1xuJGJvZHktZm9udC1mYW1pbHk6ICdCcmV2ZVNhbnMnLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNzY4cHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4gIHh4eGxhcmdlOiAxOTAwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IHNtYWxsO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogOHB4LFxuICBtZWRpdW06IDE2cHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICdCcmV2ZVNsYWJUaXRsZScsIHNhbnMtc2VyaWY7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICdCcmV2ZVNsYWJUaXRsZScsIHNhbnMtc2VyaWY7XG4kaGVhZGVyLWNvbG9yOiAjMTgxNjFmO1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjI7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzOCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMiksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyOCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNiksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMiksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAyMCksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNTApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzYpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzIpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMjIpLFxuICApLFxuICBsYXJnZTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNTYpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzgpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzQpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMjIpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAyOHB4O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAycHggc29saWQgI2QxZDFkMjtcbiRoci1tYXJnaW46IDAgYXV0byByZW0tY2FsYyg0MCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxNXB4O1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogIzE4MTcxZTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDI4IDQwIDI4IDQwKTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMCBub25lO1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4kY2l0ZS1jb2xvcjogIzE4MTcxZTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICM1MjUyNTI7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogIzgxNzk2ZjtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDAgbm9uZTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogIzUyNTI1MjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogZmFsc2U7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4vLyAxOS4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgI2QxZDFkMjtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogIzUyNTI1MjtcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAjNTI1MjUyO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICMxODE2MWY7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogIzUyNTI1MjtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogIzUyNTI1MjtcbiRpbnB1dC1mb250LWZhbWlseTogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5O1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDc3MnB4O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiA2MDBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogIzk4MDEyZTtcbiRvZmZjYW52YXMtc2hhZG93OiBub25lO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC4zKTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAjOTgwMTJlO1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMTNweDtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMTFweCAxMXB4IDM1cHg7XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDEwcHggMHB4O1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuLy8kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyA2KTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMTApO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogdHJhbnNwYXJlbnQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICM5ODAxMmU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAjZWNmMGYzO1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICMxODE2MWY7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogdHJ1ZTtcbiRwYWdpbmF0aW9uLWFycm93czogZmFsc2U7XG5cbi8vIDI3LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjguIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyAyOS4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC44KTtcblxuLy8gMzAuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDMxLiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzIuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAwIG5vbmU7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoMTUgMjAgMTUpO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6ICNmOWY5Zjk7IC8vc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogIzgxNzk2ZjsgLy9zbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJHdoaXRlO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMzLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogNDAgNTJweDtcblxuLy8gMzQuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM1LiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAzNi4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzcuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMDtcbiR0b3BiYXItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnOyAgICBcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUgb3IgYnJlYWtwb2ludCBuYW1lIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNlIGJldHdlZW4gY29sdW1ucywgYWRkZWQgYXMgYSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBleHBhbmQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IGV4cGFuZCB7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICB9XG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgd2lkdGggZmxleCBncmlkIGNvbHVtbi5cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zOiBudWxsKSB7XG4gICRjb2x1bW5zOiAkY29sdW1ucyBvciBleHBhbmQ7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG5cbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBkaXJlY3Rpb24gaGVscGVyIGNsYXNzZXNcbiAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAuI3skLXpmLXNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gY2hpbGQgaGVscGVyIGNsYXNzZXNcbiAgICAgIC4jeyQtemYtc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICB9XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICB9XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgc3RyaW5nIG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgbGVmdCkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT7igJQ8aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KAkyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gge1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNsYXNoOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAnLycsICdcXFxcJyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuXG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgQm9yZGVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skYnV0dG9uZ3JvdXAtc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbixcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNhcmQtZm9udC1jb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZm9yIGJvcmRlcmVkIG1lbnVcbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgbGluZSBoZWlnaHQgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mIHRoZSBvdmVyYWxsIGl0ZW0gZWFzaWVyIHRvIGNhbGN1bGF0ZVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICA+IGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB9XG5cbiAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgID4gbGkgID4gYSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG5AbWl4aW4gbWVudS1zaW1wbGUge1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRnbG9iYWwtcmlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGljb25zXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zKHRvcCwgJGJhc2U6IGZhbHNlKTtcbiAgICAgIC8vIE1ha2UgdmVydGljYWwgbWVudSB3aXRoIGljb25zIG9uIHRvcCB3b3JrXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgYSA+IHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIE1lbnUgd2l0aCBib3JkZXJcbiAgICAmLm1lbnUtYm9yZGVyZWQge1xuICAgICAgbGkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVudS1ib3JkZXI7XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNZW51IHdpdGggYmFja2dyb3VuZCBob3ZlclxuICAgICYubWVudS1ob3ZlciB7XG4gICAgICBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVudS10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gIH1cblxuICAvLyBBbGlnbiBjZW50ZXJcbiAgLm1lbnUtY2VudGVyZWQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgID4gLm1lbnUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCwgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxMikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDc3MnB4ICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAjOTgwMTJlICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDAgcmdiYSgkYmxhY2ssIDApICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwKSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHNpemU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLXNoYWRvdyBpcyBzZXQsIGFkZCBpdCBhcyBhIHBzZXVkby1lbGVtZW50LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtc2hhZG93IHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vIHRyYW5zZm9ybSBvbiBvdmVybGFwIHRyYW5zaXRpb25cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzc1xuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAkb2ZmY2FudmFzLXNpemU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogMCkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJi50b3A6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxuXG4gICYubGVmdDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgdG9wOiA1MCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgJi5yaWdodDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbGVmdF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGxlZnQsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiI21haW4tY29udGVudCB7XG5cdGgxIHtcblx0XHRmb250LXdlaWdodDogODAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHQgICAgcGFkZGluZy1ib3R0b206IDMzcHg7XG4gICAgICAgID4uc29jaWFsSGVhZGVye1xuICAgICAgICAgIHdpZHRoOjQ5JTtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAmOm50aC1jaGlsZCgyKXtcbiAgICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjEwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHQgICAgXHRwYWRkaW5nLWJvdHRvbTogMzNweDtcbiAgICAgICAgICAgID4uc29jaWFsSGVhZGVyIHtcbiAgICAgICAgICAgICAgd2l0aDoxMDAlO1xuICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKXtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblx0ICAgIH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0XHR3aWR0aDogODVweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG5cdFx0fVxuXHR9XG5cdC5pbnRybyB7XG5cdFx0Zm9udC1mYW1pbHk6ICRhY2NlbnQtZm9udDtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0JiwgcCB7XG5cdFx0XHRsaW5lLWhlaWdodDogMzJweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHQmLCBwIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdFx0JiwgcCB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHR1bCB7XG5cdFx0Ly9tYXJnaW4tbGVmdDogMDtcblx0XHRsaSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHQvL21hcmdpbi1sZWZ0OiAxNXB4O1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRoZWlnaHQ6IDVweDtcblx0XHRcdFx0d2lkdGg6IDVweDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAtMTNweDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2JjYmNiYztcblx0XHRcdFx0dG9wOiAxMXB4O1xuXHRcdFx0fVxuXHRcdH1cbiAgICAgICAgJi5saXN0LW9mLWZhY3RzIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblx0fVxufVxuXG5oMSB7XG5cdGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5oMiB7XG5cdG1hcmdpbi1ib3R0b206IDE4cHg7XG59XG5oMyxcbmg1IHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cbmgyLCBoMywgaDQsIGg1LCBoNiB7XG5cdC8vbWFyZ2luLXRvcDogMC41cmVtO1xuXHQmLmJ0bS1kaXZpZGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZy1ib3R0b206IDI2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzRweDtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRoZWlnaHQ6IDZweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG5cdFx0XHR3aWR0aDogNzdweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0fVxuXHRcdCYudGV4dC1yaWdodCB7XG5cdFx0XHQvL0BpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdH1cblx0XHRcdC8vfVxuXHRcdFx0Ly9AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdC8vXHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdFx0XHQvL31cblx0XHR9XG5cdFx0Ji50ZXh0LWNlbnRlciB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTM4LjVweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji50b3AtZGl2aWRlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctdG9wOiAyNnB4O1xuXHRcdG1hcmdpbi10b3A6IDM0cHg7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGhlaWdodDogNnB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcblx0XHRcdHdpZHRoOiA3N3B4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHR9XG5cdFx0Ji50ZXh0LXJpZ2h0IHtcblx0XHRcdC8vQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdH1cblx0XHRcdC8vfVxuXHRcdFx0Ly9AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdC8vXHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdFx0XHQvL31cblx0XHR9XG5cdFx0Ji50ZXh0LWNlbnRlciB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0zOC41cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5hIHtcblx0Y29sb3I6ICRhY2NlbnQtY29sb3ItMmM7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRjb2xvcjogJGFjY2VudC1jb2xvci0yYjtcblx0fVxuXHQmLFxuXHQmID4gKiB7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgLjNzLCBiYWNrZ3JvdW5kLWNvbG9yIC4zcztcblx0fVxufVxuXG4vL0dldCByaWQgb2YgbWFyZ2luIG9uIFVMIGFuZCBzZXQgb24gTElcbnVsIHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdGxpIHtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0fVxufVxuXG4vL1RBQkxFXG50YWJsZSB7XG5cdCYudGFibGUtLWZ1bGwtd2lkdGgge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci00O1xuXHR0aGVhZCB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM2YjY1NWQ7XG5cdFx0dGgge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdH1cblx0XHR0aCArIHRoIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblx0XHR9XG5cdH1cblx0dGgsXG5cdHRkIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cdHRkIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0KyB0ZCB7XG5cdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0fVxuXHR9XG59XG4vLyBTQ1JPTEwgVEFCTEVcbi50YWJsZS1zY3JvbGwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcblx0LnRhYmxlLXNjcm9sbF9fd3JhcHBlciB7XG5cdFx0b3ZlcmZsb3cteDogYXV0bztcblx0XHQ+IHRhYmxlIHtcblx0XHRcdHRkIHtcblx0ICAgIFx0XHRtaW4td2lkdGg6IDE2MHB4ICFpbXBvcnRhbnQ7XG5cdCAgICBcdH1cblx0ICAgIH1cbiAgICB9XG5cdC8vdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcblx0Ji5hY3RpdmUge1xuXHRcdCYudGFibGUtc2Nyb2xsLS1zaGFkb3ctcmlnaHQ6YWZ0ZXIsXG5cdFx0Ji50YWJsZS1zY3JvbGwtLXNoYWRvdy1sZWZ0OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHQgICAgXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRib3R0b206IDE4cHg7XG5cdFx0XHR3aWR0aDogMjAwcHg7XG5cdFx0XHRwb2ludGVyLWV2ZW50czpub25lO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdHdpZHRoOiA1MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0ICAgICYudGFibGUtc2Nyb2xsLS1zaGFkb3ctcmlnaHQge1xuXHQgICAgXHQmOmFmdGVyIHtcblx0ICAgIFx0XHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKTtcblx0XHRcdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUscmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKTtcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuXHRcdFx0XHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNmZmZmZmYnLEdyYWRpZW50VHlwZT0xICk7XG5cdCAgICBcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGxlZnQ6dW5zZXQ7XG5cdCAgICBcdH0gICAgIFxuXHQgICAgfVxuXHQgICAgJi50YWJsZS1zY3JvbGwtLXNoYWRvdy1sZWZ0IHtcblx0ICAgIFx0JjpiZWZvcmUge1xuXHQgICAgXHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0XHRcdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyMwMGZmZmZmZicsR3JhZGllbnRUeXBlPTEgKTtcblx0XHRcdFx0bGVmdDogMDtcblx0ICAgIFx0fSAgICAgXG5cdCAgICB9XG5cdH1cbn1cblxuLy8gQUREIFRISVMgU0NSSVBUIEVNQkVEXG4uYWRkLXRoaXMge1xuICBtYXJnaW46IDIwcHggMDtcbn0iLCJAY2hhcnNldCAndXRmLTgnO1xuXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcbi8vIERVIFZhcmlhYmxlc1xuLy8gc2hvdWxkIGxvb2sgdG8gd2hlcmUgdGhlIGNyb3NzLW92ZXIgaXMgd2l0aCBmb3VuZGF0aW9uIG9uIHZhcmlhYmxlc1xuJHBhdHRlcm4tbGFiOiB0cnVlO1xuJHByaW1hcnktZm9udDogXCJCcmV2ZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiRhY2NlbnQtZm9udDogXCJCcmV2ZVRleHRcIiwgc2Fucy1zZXJpZjtcbiRoZWFkbGluZS1mb250OiBcIkJyZXZlU2xhYlRpdGxlXCIsIHNhbnMtc2VyaWY7XG4kY3RhLWZvbnQ6IFwiQWN0b1wiLCBzYW5zLXNlcmlmO1xuJGljb24tZm9udDogXCJGb250ZWxsb1wiO1xuXG4kYnJldmUtZGlzcGxheTogXCJCcmV2ZURpc3BsYXlcIiwgc2Fucy1zZXJpZjtcblxuJHByaW1hcnktY29sb3ItMTogIzU2MGQyMDtcbiRwcmltYXJ5LWNvbG9yLTI6ICM3NjA2MjY7XG4kcHJpbWFyeS1jb2xvci0zOiAjOTgwMTJlO1xuJHByaW1hcnktY29sb3ItNDogIzk2MjczMztcbiRwcmltYXJ5LWNvbG9yLTU6ICNjNjQwM2Q7XG4kc2Vjb25kYXJ5LWNvbG9yLTE6ICM3NjViM2E7XG4kc2Vjb25kYXJ5LWNvbG9yLTI6ICM4YjZlNGE7XG4kc2Vjb25kYXJ5LWNvbG9yLTM6ICNiOGExNjI7XG4kc2Vjb25kYXJ5LWNvbG9yLTQ6ICNlYmQ1YWI7XG4kc2Vjb25kYXJ5LWNvbG9yLTU6ICNjMmI4OWQ7XG4kbmV1dHJhbC1jb2xvci0xOiAjMDAwMDAwO1xuJG5ldXRyYWwtY29sb3ItMjogIzE4MTcxZTtcbiRuZXV0cmFsLWNvbG9yLTM6ICM1MjUyNTI7XG4kbmV1dHJhbC1jb2xvci00OiAjZDFkMWQyO1xuJG5ldXRyYWwtY29sb3ItNTogI2UwZTBlMDtcbiRuZXV0cmFsLWNvbG9yLTY6ICNmOWY5Zjk7XG4kYWNjZW50LWNvbG9yLTFhOiAjMmYyNTRkO1xuJGFjY2VudC1jb2xvci0xYjogIzUzNDc3OTtcbiRhY2NlbnQtY29sb3ItMWM6ICM2ZDYxOTE7XG4kYWNjZW50LWNvbG9yLTJhOiAjMDMzYjRhO1xuJGFjY2VudC1jb2xvci0yYjogIzA1NjM3YjtcbiRhY2NlbnQtY29sb3ItMmM6ICMyMDkwYWM7XG4vLyRhY2NlbnQtY29sb3ItMmQ6ICMwNDRmNjI7XG4kYWNjZW50LWNvbG9yLTNhOiAjNTA2MTIxO1xuJGFjY2VudC1jb2xvci0zYjogIzdhOTAzMjtcbiRhY2NlbnQtY29sb3ItM2M6ICM5YWE3NmY7XG5cbkBpbXBvcnQgXCJmb3VuZGF0aW9uXCI7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbkBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG4vLyBEVSBTdHlsZXMvLyBEVSBTdHlsZXNcbkBpbXBvcnQgJy4uLy4uL2N1c3RvbS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJy4uLy4uL2N1c3RvbS9mb250ZWxsbyc7XG5AaW1wb3J0ICcuLi8uLi9jdXN0b20vbWVudXMvdG9wLWJhci1tYWluLW1lbnUnO1xuQGltcG9ydCAnLi4vLi4vY3VzdG9tL21lbnVzL3V0aWxpdHktbWVudSc7XG5AaW1wb3J0ICcuLi8uLi9jdXN0b20vZm91bmRhdGlvbi1leHQnO1xuQGltcG9ydCAnLi4vLi4vY3VzdG9tL21lbnVzL3N1Yi1tZW51JztcbkBpbXBvcnQgJy4uLy4uL2N1c3RvbS9mb290ZXInO1xuQGltcG9ydCAnLi4vLi4vY3VzdG9tL2NvbnRlbnQtZWxlbWVudHMnO1xuQGltcG9ydCAnLi4vLi4vY3VzdG9tL2xheW91dCc7XG5AaW1wb3J0ICcuLi8uLi9jdXN0b20vbWVudXMvcHVzaC1tZW51JztcbkBpbXBvcnQgJy4uLy4uL2N1c3RvbS9zZWFyY2gnO1xuLy9AaW1wb3J0ICcuLi8uLi9jdXN0b20vYWNhZGVtaWMnO1xuQGltcG9ydCAnLi4vLi4vY3VzdG9tL2FsZXJ0JztcbkBpbXBvcnQgJy4uLy4uL2N1c3RvbS9tb2RhbCc7XG4vL0BpbXBvcnQgJy4uLy4uL2N1c3RvbS9mb3Jtcyc7XG5AaW1wb3J0ICcuLi8uLi9jdXN0b20vaG9tZSc7XG5AaW1wb3J0ICcuLi8uLi9jdXN0b20vbW9kdWxlcy93aWRlLWNhcm91c2VsJztcbkBpbXBvcnQgJy4uLy4uL2N1c3RvbS9tb2R1bGVzL3RocmVlLWNvbC1mYWN0cyc7XG5AaW1wb3J0ICcuLi8uLi9jdXN0b20vbW9kdWxlcy9zd2FwcGluZy1pbWctZmVhdHVyZSc7XG5AaW1wb3J0ICcuLi8uLi9jdXN0b20vbW9kdWxlcy9xdW90ZXMnO1xuQGltcG9ydCAnLi4vLi4vY3VzdG9tL21vZHVsZXMvaGVyby1tZWRpYSc7XG4vL0BpbXBvcnQgJy4uLy4uL2N1c3RvbS9tb2R1bGVzL2Jsb2NrcXVvdGUnO1xuLy9AaW1wb3J0ICcuLi8uLi9jdXN0b20vbW9kdWxlcy9jb3B5Jztcbi8vQGltcG9ydCAnLi4vLi4vY3VzdG9tL21vZHVsZXMvY2FyZHMnO1xuLy9AaW1wb3J0ICcuLi8uLi9jdXN0b20vbW9kdWxlcy9jdGEnO1xuLy9AaW1wb3J0ICcuLi8uLi9jdXN0b20vbW9kdWxlcy9sYXJnZS1pbWFnZSc7XG4vL0BpbXBvcnQgJy4uLy4uL2N1c3RvbS9tb2R1bGVzL2NhcHRpb25lZC1pbWFnZSc7XG4vL0BpbXBvcnQgJy4uLy4uL2N1c3RvbS9tb2R1bGVzL2luZm9ybWF0aW9uLW92ZXJ2aWV3Jztcbi8vQGltcG9ydCAnLi4vLi4vY3VzdG9tL21vZHVsZXMvc3Rvcmllcyc7XG4vL0BpbXBvcnQgJy4uLy4uL2N1c3RvbS9tb2R1bGVzL2ZlYXR1cmUtdmlkZW8nO1xuLy9AaW1wb3J0ICcuLi8uLi9jdXN0b20vbW9kdWxlcy9zY2hvb2wtbGlzdCc7XG4vL0BpbXBvcnQgJy4uLy4uL2N1c3RvbS9tb2R1bGVzL3JlbGF0ZWQtc3Rvcmllcyc7XG4vL0BpbXBvcnQgJy4uLy4uL2N1c3RvbS9tb2R1bGVzL2NvbnRhY3RzJztcbi8vQGltcG9ydCAnLi4vLi4vY3VzdG9tL21vZHVsZXMvY29udGFjdC1zaW5nbGUnO1xuLy9AaW1wb3J0ICcuLi8uLi9jdXN0b20vbW9kdWxlcy9ldmVudHMnO1xuLy9AaW1wb3J0ICcuLi8uLi9jdXN0b20vbW9kdWxlcy9jYXRlZ29yeS1saXN0Jztcbi8vQGltcG9ydCAnLi4vLi4vY3VzdG9tL21vZHVsZXMvYWRtaXNzaW9uLXN0ZXBzJztcbi8vQGltcG9ydCAnLi4vLi4vY3VzdG9tL21vZHVsZXMvdHdvLWNvbHVtbi1jb3B5JztcblxuQGltcG9ydCAnLi4vLi4vY3VzdG9tL3ByaW50JztcblxuIiwiLy8gRm9udCBpbmNsdWRlZCBpbiBkdS1mb250c1xuXG5cbi8qIENocm9tZSBoYWNrOiBTVkcgaXMgcmVuZGVyZWQgbW9yZSBzbW9vdGggaW4gV2luZG96emUuIDEwMCUgbWFnaWMsIHVuY29tbWVudCBpZiB5b3UgbmVlZCBpdC4gKi9cbi8qIE5vdGUsIHRoYXQgd2lsbCBicmVhayBoaW50aW5nISBJbiBvdGhlciBPUy1lcyBmb250IHdpbGwgYmUgbm90IGFzIHNoYXJwIGFzIGl0IGNvdWxkIGJlICovXG4vKlxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLnN2Zz82MzMzMjg0NiNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XG4gIH1cbn1cbiovXG4gXG4gW2NsYXNzXj1cImljb24tZHVcIl06YmVmb3JlLCBcbiBbY2xhc3MqPVwiIGljb24tZHVcIl06YmVmb3JlLFxuIFtjbGFzc149XCJkdS1pY29uXCJdOmJlZm9yZSwgXG4gW2NsYXNzKj1cIiBkdS1pY29uXCJdOmJlZm9yZSAge1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNwZWFrOiBub25lO1xuIFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgd2lkdGg6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIG9wYWNpdHk6IC44OyAqL1xuIFxuICAvKiBGb3Igc2FmZXR5IC0gcmVzZXQgcGFyZW50IHN0eWxlcywgdGhhdCBjYW4gYnJlYWsgZ2x5cGggY29kZXMqL1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gXG4gIC8qIGZpeCBidXR0b25zIGhlaWdodCwgZm9yIHR3aXR0ZXIgYm9vdHN0cmFwICovXG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gXG4gIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXG4gIC8qIHJlbW92ZSBpZiBub3QgbmVlZGVkICovXG4gIG1hcmdpbi1sZWZ0OiAuMmVtO1xuIFxuICAvKiB5b3UgY2FuIGJlIG1vcmUgY29tZm9ydGFibGUgd2l0aCBpbmNyZWFzZWQgaWNvbnMgc2l6ZSAqL1xuICAvKiBmb250LXNpemU6IDEyMCU7ICovXG4gXG4gIC8qIEZvbnQgc21vb3RoaW5nLiBUaGF0IHdhcyB0YWtlbiBmcm9tIFRXQlMgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gXG4gIC8qIFVuY29tbWVudCBmb3IgM0QgZWZmZWN0ICovXG4gIC8qIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMyk7ICovXG59XG5cbi8qXG4gICBBbmltYXRpb24gZXhhbXBsZSwgZm9yIHNwaW5uZXJzXG4qL1xuLmFuaW1hdGUtc3BpbiB7XG4gIC1tb3otYW5pbWF0aW9uOiBzcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgLW8tYW5pbWF0aW9uOiBzcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IHNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5ALW1vei1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbkAtby1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQC1tcy1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG4vKlxuICAgRW5kIG9mIEFuaW1hdGlvbiBleGFtcGxlXG4qL1xuXG5cbi8qIEluY2x1ZGluZyBmb3IgZmFsbGJhY2sgcHVycG9zZXMgICovXG4uZHUtaWNvbi1yaWdodC1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAwJzsgfSAvKiAnJyAqL1xuLmR1LWljb24tbGVmdC1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAxJzsgfSAvKiAnJyAqL1xuLmR1LWljb24tdXAtYXJyb3c6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMic7IH0gLyogJycgKi9cbi5kdS1pY29uLWRvd24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMyc7IH0gLyogJycgKi9cbi5kdS1pY29uLWN1c3QtbWVudTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA0JzsgfSAvKiAnJyAqL1xuLmR1LWljb24tY3VzdC1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA1JzsgfSAvKiAnJyAqL1xuLmR1LWljb24tY3VzdC1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNic7IH0gLyogJycgKi9cbi5kdS1pY29uLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDcnOyB9IC8qICcnICovXG4uZHUtaWNvbi1taW51czpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA4JzsgfSAvKiAnJyAqL1xuLmR1LWljb24tcGx1czpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA5JzsgfSAvKiAnJyAqL1xuLmR1LWljb24tY3VzdC1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwYSc7IH0gLyogJycgKi9cbi5kdS1pY29uLWN1c3QtcmlnaHQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwYic7IH0gLyogJycgKi9cbi5kdS1pY29uLWN1c3QtbGVmdC1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBjJzsgfSAvKiAnJyAqL1xuLmR1LWljb24tcGxheS1jaXJjbGVkMjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBkJzsgfSAvKiAnJyAqL1xuLmR1LWljb24tcGF1c2UtY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBlJzsgfSAvKiAnJyAqL1xuLmR1LWljb24tcGxheS1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGYnOyB9IC8qICcnICovXG4uZHUtaWNvbi1hdHRlbnRpb24tY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODEwJzsgfSAvKiAnJyAqL1xuLmR1LWljb24tbG9jYXRpb246YmVmb3JlIHsgY29udGVudDogJ1xcZTgxMSc7IH0gLyogJycgKi9cbi5kdS1pY29uLW1haWw6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxMic7IH0gLyogJycgKi9cbi5kdS1pY29uLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTMnOyB9IC8qICcnICovXG4uZHUtaWNvbi1jbG9jazpiZWZvcmUgeyBjb250ZW50OiAnXFxlODE0JzsgfSAvKiAnJyAqL1xuLmR1LWljb24tZ2xvYmU6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxNSc7IH0gLyogJycgKi9cbi5kdS1pY29uLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJ1xcZjA5OSc7IH0gLyogJycgKi9cbi5kdS1pY29uLWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYwOWEnOyB9IC8qICcnICovXG4uZHUtaWNvbi1ncGx1czpiZWZvcmUgeyBjb250ZW50OiAnXFxmMGQ1JzsgfSAvKiAnJyAqL1xuLmR1LWljb24tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogJ1xcZjBlMSc7IH0gLyogJycgKi9cbi5kdS1pY29uLXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogJ1xcZjE2Nyc7IH0gLyogJycgKi9cbi5kdS1pY29uLWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTZkJzsgfSAvKiAnJyAqL1xuLmR1LWljb24tdHVtYmxyOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxNzMnOyB9IC8qICcnICovXG4uZHUtaWNvbi1mYXg6YmVmb3JlIHsgY29udGVudDogJ1xcZjFhYyc7IH0gLyogJycgKi9cbi5kdS1pY29uLXJlYmVsOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxZDAnOyB9IC8qICcnICovXG4uZHUtaWNvbi1zbmFwY2hhdDpiZWZvcmUgeyBjb250ZW50OiAnXFxmMmFjJzsgfSAvKiAnJyAqL1xuLyogSW5jbHVkaW5nIGZvciBmYWxsYmFjayBwdXJwb3NlcyAqL1xuXG5cblxuLy9KdXN0IENvcHkvUGFzdGUgb3ZlciB0aGUgYmVsb3cgc3R5bGVzIGZyb20gbmV3IGZvbnRlbGxvLmNzc1xuIFxuLmljb24tZHUtcmlnaHQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMCc7IH0gLyogJ+6ggCcgKi9cbi5pY29uLWR1LWxlZnQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMSc7IH0gLyogJ+6ggScgKi9cbi5pY29uLWR1LXVwLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDInOyB9IC8qICfuoIInICovXG4uaWNvbi1kdS1kb3duLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDMnOyB9IC8qICfuoIMnICovXG4uaWNvbi1kdS1jdXN0LW1lbnU6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNCc7IH0gLyogJ+6ghCcgKi9cbi5pY29uLWR1LWN1c3QtY2xvc2U6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNSc7IH0gLyogJ+6ghScgKi9cbi5pY29uLWR1LWN1c3Qtc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDYnOyB9IC8qICfuoIYnICovXG4uaWNvbi1kdS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA3JzsgfSAvKiAn7qCHJyAqL1xuLmljb24tZHUtbWludXM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwOCc7IH0gLyogJ+6giCcgKi9cbi5pY29uLWR1LXBsdXM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwOSc7IH0gLyogJ+6giScgKi9cbi5pY29uLWR1LWN1c3QtY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGEnOyB9IC8qICfuoIonICovXG4uaWNvbi1kdS1jdXN0LXJpZ2h0LWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGInOyB9IC8qICfuoIsnICovXG4uaWNvbi1kdS1jdXN0LWxlZnQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwYyc7IH0gLyogJ+6gjCcgKi9cbi5pY29uLWR1LXBsYXktY2lyY2xlZDI6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwZCc7IH0gLyogJ+6gjScgKi9cbi5pY29uLWR1LXBhdXNlLWNpcmNsZWQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwZSc7IH0gLyogJ+6gjicgKi9cbi5pY29uLWR1LXBsYXktY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBmJzsgfSAvKiAn7qCPJyAqL1xuLmljb24tZHUtYXR0ZW50aW9uLWNpcmNsZWQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxMCc7IH0gLyogJ+6gkCcgKi9cbi5pY29uLWR1LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTEnOyB9IC8qICfuoJEnICovXG4uaWNvbi1kdS1tYWlsOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTInOyB9IC8qICfuoJInICovXG4uaWNvbi1kdS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAnXFxlODEzJzsgfSAvKiAn7qCTJyAqL1xuLmljb24tZHUtY2xvY2s6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxNCc7IH0gLyogJ+6glCcgKi9cbi5pY29uLWR1LWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTUnOyB9IC8qICfuoJUnICovXG4uaWNvbi1kdS1sb2NhdGlvbjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODE2JzsgfSAvKiAn7qCWJyAqL1xuLmljb24tZHUtaW5mby1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTcnOyB9IC8qICfuoJcnICovXG4uaWNvbi1kdS1sb2dvdXQ6YmVmb3JlIHsgY29udGVudDogJ1xcZTgxOCc7IH0gLyogJ+6gmCcgKi9cbi5pY29uLWR1LWJsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MTknOyB9IC8qICfuoJknICovXG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODFhJzsgfSAvKiAn7qCaJyAqL1xuLmljb24tZHUtc3BpbjM6YmVmb3JlIHsgY29udGVudDogJ1xcZTgzMic7IH0gLyogJ+6gsicgKi9cbi5pY29uLWR1LXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJ1xcZjA5OSc7IH0gLyogJ++CmScgKi9cbi5pY29uLWR1LWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYwOWEnOyB9IC8qICfvgponICovXG4uaWNvbi1kdS1ncGx1czpiZWZvcmUgeyBjb250ZW50OiAnXFxmMGQ1JzsgfSAvKiAn74OVJyAqL1xuLmljb24tZHUtbWFpbC1hbHQ6YmVmb3JlIHsgY29udGVudDogJ1xcZjBlMCc7IH0gLyogJ++DoCcgKi9cbi5pY29uLWR1LWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYwZTEnOyB9IC8qICfvg6EnICovXG4uaWNvbi1kdS1jYWxlbmRhci1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTMzJzsgfSAvKiAn74SzJyAqL1xuLmljb24tZHUtbGluay1leHQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxNGMnOyB9IC8qICfvhYwnICovXG4uaWNvbi1kdS15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxNjcnOyB9IC8qICfvhacnICovXG4uaWNvbi1kdS1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogJ1xcZjE2ZCc7IH0gLyogJ++FrScgKi9cbi5pY29uLWR1LXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTczJzsgfSAvKiAn74WzJyAqL1xuLmljb24tZHUtZmF4OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxYWMnOyB9IC8qICfvhqwnICovXG4uaWNvbi1kdS1yZWJlbDpiZWZvcmUgeyBjb250ZW50OiAnXFxmMWQwJzsgfSAvKiAn74eQJyAqL1xuLmljb24tZHUtbmV3c3BhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxZWEnOyB9IC8qICfvh6onICovXG4uaWNvbi1kdS1jYWxlbmRhci1wbHVzLW86YmVmb3JlIHsgY29udGVudDogJ1xcZjI3MSc7IH0gLyogJ++JsScgKi9cbi5pY29uLWR1LXNuYXBjaGF0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYyYWMnOyB9IC8qICfviqwnICovIiwiQG1lZGlhIHNjcmVlbiB7XG5cblx0aGVhZGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQjdG9wLWJhci1zdGlja3ktd3JhcCB7XG5cdFx0XHR6LWluZGV4OiA1OyAvL21lZ2EgbmF2IHdhcyB0aGUgd3JvbmcgaW5kZXhcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Jixcblx0XHRcdCoge1xuXHRcdFx0ICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gTUFJTiBNRU5VXG5cdFx0I21haW4tbWVudS13cmFwIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdFx0XHRAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0XHRcdFx0I21haW4tbWVudSB7XG5cdFx0XHRcdFx0XHR0b3A6IDYwcHggIWltcG9ydGFudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRhLmxvZ28ge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHdpZHRoOiAyMjVweDtcblx0XHRcdFx0aGVpZ2h0OiA4NHB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDgwcHg7XG5cdFx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogLTEwcHg7XG5cdFx0XHRcdFx0ei1pbmRleDogMztcblx0XHRcdFx0XHQ+IGltZyB7XG5cdFx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDU4cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0XHRcdFx0d2lkdGg6IDY2cHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE0cHg7XG5cdFx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRcdHRvcDogLTM0cHg7XG5cdFx0XHRcdFx0XHQ+IGltZyArIGltZyB7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0bGVmdDogLTk5OTlweDtcblx0XHRcdFx0XHRcdFx0dG9wOiAtOTk5OXB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgICAgICAgI2FsdC1sb2dvIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7ICAgXG4gICAgICAgICAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLm1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MTEycHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDo4MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OjYwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgIC5zaGllbGQtbG9nbyB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjU0cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MC42ZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjEuMmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6M2VtO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowLjhlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDo0NHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowLjRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDoxZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG5cdFx0XHQjbWFpbi1tZW51IHtcblx0XHRcdFx0PiB1bCB7XG5cdFx0XHRcdFx0PiBsaSB7XG5cdFx0XHRcdFx0XHQmLmFjdGl2ZSA+IGEge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLTM7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwIG5vbmU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogODBweDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiA4cHggMDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMCBub25lO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDAgMCA0cHg7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0XHRcdFx0XHRcdC8vaGVpZ2h0OiA0NHB4O1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHRcdFx0XHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5jYWxlbmRhci1pY29uLW5hdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDotOTk5OXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDo4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci02O1xuXHRcdFx0XHRcdCAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRuZXV0cmFsLWNvbG9yLTU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEzMyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLTMgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0XHQgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdFx0XHQgICAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0XHRcdCZbcm9sZT1cIm1lbnVpdGVtXCJdIHtcblx0XHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDMyMHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdCsgbGkge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDE1cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0JiN1dGlsaXR5LW1lbnUge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDQwcHg7XG5cdFx0XHRcdFx0XHRcdFx0dWwubWVudSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHRcdFx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE5cHg7XG5cdFx0XHRcdFx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjcwcHgpIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG5cdFx0XHRcdFx0XHRcdCAgICBmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0XHRcdCAgICBwYWRkaW5nLWxlZnQ6IDlweDtcblx0XHRcdFx0XHRcdFx0ICAgIHBhZGRpbmctcmlnaHQ6IDlweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblxuXHRcdFx0XHRcdGhlaWdodDogOTB2aDsgLy8gRm9yIFNjcm9sbGluZyBvbiBUYWJsZXQvTW9iaWxlXG4gICAgXHRcdFx0XHRvdmVyZmxvdzogYXV0bzsgLy8gRm9yIFNjcm9sbGluZyBvbiBUYWJsZXQvTW9iaWxlXG5cblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0XHRwYWRkaW5nOiA0MHB4IDYycHg7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAzMHB4IDIwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdD4gdWwge1xuXHRcdFx0XHRcdFx0Ji5tZW51IHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQvL2FsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRcdFx0XHRcdFx0Ly9mbGV4LWZsb3c6IGNvbHVtbjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnV0aWxpdHktbWVudSB7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHQgICAgdG9wOiAzM3B4O1xuXHRcdFx0XHRcdCAgICByaWdodDogNjJweDtcblx0XHRcdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0ICAgIHdpZHRoOiAyMDBweDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRcdFx0ZmxleC1mbG93OiBjb2x1bW47XG5cdFx0XHRcdFx0XHQgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHQrIGxpIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdGxpICsgbGkge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDJweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHRcdGxpLnNlYXJjaCB7XG5cdFx0XHRcdCYuaXMtYWN0aXZlID4gYSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdFx0XHRjb2xvcjogIzY2NjY2Njtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnXFxlODA1Jztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWNvbG9yLTY7XG5cdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRuZXV0cmFsLWNvbG9yLTU7XG5cdFx0XHRcdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHdpZHRoOiA4MHB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjNjY2NjY2O1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHRleHQtaW5kZW50OiAwO1xuXHRcdFx0XHRcdFx0Y29udGVudDogJ1xcZTgwNic7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTFweDtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IC0xMXB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0XHRcdHNwZWFrOiBub25lO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdFx0XHRcdFx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHRcdFx0XHRcdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgICAgICAgI2NhbGVuZGFyLWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMzMnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG4gICAgICAgICAgICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLTMgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdFx0ICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjgwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDo4MHB4O1xuXHRcdFx0XHQgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiM2NjY2NjY7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci02O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6NjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjYwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXHRcdFx0Ly8gTUVHQSBOQVZcblx0XHRcdC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5tZWdhLW1lbnUge1xuXHRcdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0fVxuXHRcdFx0Lm1lZ2EtbWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR0b3A6IGF1dG87XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ym9yZGVyOiAwIG5vbmU7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDBweCA4cHggOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0I21haW4tbWVudSAubWVnYS1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQubWVnYS1tZW51ID4gLm1lbnUgPiBsaSA+IC5yb3cge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMzlweDtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDM5cHg7XG5cdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRib3JkZXItdG9wOiA4cHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNjJweDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTU7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAxNXB4IDAgMTBweDtcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci02O1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvci0zICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMzBweDtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtNDhweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDE3cHg7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTVweDtcblx0XHRcdFx0XHRoMiB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLm1lZ2EtbWVudS0tYWx0LWxheW91dCB7XG5cdFx0XHRcdFx0LmNvbnRlbnQtd3JhcCB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHQuY29udGVudCB7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDM1OHB4O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblxuXHRcdFx0PiAucm93LmV4cGFuZGVkIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMzU2cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblx0XHRcdFx0PiAuY29sdW1ucy5zaHJpbmsgKyAuY29sdW1ucyB7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdFx0PiAuY29sdW1ucy5zaHJpbms6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikgeyAvL3dhcyBsYXJnZVxuXHRcdFx0XHRcdCNtYWluLW1lbnUgIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdC8vdG9wOiA0OHB4O1xuXHRcdFx0XHRcdFx0Ly9AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0XHRcdHRvcDogODBweDtcblx0XHRcdFx0XHRcdC8vfVxuXHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDMycHg7XG5cdFx0XHRcdFx0XHRib3gtc2hhZG93OiAwcHggOHB4IDlweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdFx0XHRcdFx0PiB1bCB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMzBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQ+IGxpID4gYSB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdCYuYWxpZ24tcmlnaHQge1xuXHRcdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogbGVmdDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmNvbHVtbnMuc2hyaW5rIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHQubG9nbyB7XG5cdFx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0I3NlYXJjaC10b2dnbGVyIHtcblx0XHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0XHQ+IGxpID4gYSB7XG5cdFx0XHRcdFx0XHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNjBweDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCNtYWluLW1lbnUtdG9nZ2xlciB7XG5cdFx0XHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHRidXR0b24ge1xuXHRcdFx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDgwcHg7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHRcdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNjBweDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdCYuaWNvbi1kdS1jdXN0LW1lbnUsXG5cdFx0XHRcdFx0XHRcdFx0Ji5kdS1pY29uLWN1c3QtbWVudSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDIzcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0Ji5vcGVuLmljb24tZHUtY3VzdC1tZW51LFxuXHRcdFx0XHRcdFx0XHRcdCYub3Blbi5kdS1pY29uLWN1c3QtbWVudSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuXHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZTgwNVwiO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzY2NjY2Njtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmlzLXN0dWNrIHtcblx0XHRcdCNtYWluLW1lbnUtd3JhcCB7XG5cdFx0XHRcdGhlaWdodDogNjBweDtcblx0XHRcdFx0PiAucm93LmV4cGFuZGVkIHtcblx0XHRcdFx0XHRhLmxvZ28ge1xuXHRcdFx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRcdFx0PiBpbWc6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEzcHg7XG5cdFx0XHRcdFx0XHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiA0MnB4O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHQrIGltZyB7XG5cdFx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cbiAgICAgICAgICAgICAgICAgICAgI2FsdC1sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICYubW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5kZXNrdG9wIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDo2MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNoaWVsZC1sb2dvIHsgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjQ0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowLjRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cdFx0XHRcdFx0I21haW4tbWVudSB1bCxcblx0XHRcdFx0XHQjc2VhcmNoLXRvZ2dsZXIge1xuXHRcdFx0XHRcdFx0PiBsaSA+IGEge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogNjBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cbiAgICAgICAgICAgICAgICAgICAgI2NhbGVuZGFyLWljb24ge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogNjBweDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxpID4gYS5jYWxlbmRhci1pY29uLW5hdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG5cdFx0XHRcdFx0XHR3aWR0aDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHRcdCNzZWFyY2gtdG9nZ2xlciA+IGxpID4gYSB7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0XHRcdFx0XHR3aWR0aDogNjBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0I21haW4tbWVudSB7XG5cdFx0XHRcdFx0XHQvL0BpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRcdFx0Ly9cdHRvcDogMjhweDtcblx0XHRcdFx0XHRcdC8vfVxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdFx0XHR0b3A6IDYwcHg7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiA1MHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cbiAgICAgICAgICAgICAgICAgICAgI2NhbGVuZGFyLWljb24gPiBhID5pbWd7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6NjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHRcdC5jb2x1bW5zLnNocmluayB7XG5cdFx0XHRcdFx0XHQjbWFpbi1tZW51LXRvZ2dsZXIge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7Ly8gd2FzIGxhcmdlXG5cdFx0XHRcdFx0XHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogNjBweDtcblx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA2MHB4O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ym94LXNoYWRvdzogMHB4IDRweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIC40NSk7XG5cblx0XHR9XG5cblx0XHQvLyBTZWFyY2ggSW5wdXRcblx0XHQudG9wLWJhciAuc2VhcmNoIHtcblx0XHRcdC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHRcdC5zZWFyY2gtYm94IHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0PiBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDM2cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHVsI3NlYXJjaC10b2dnbGVyIHtcblx0XHRcdGxpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiaGVhZGVyIHtcblx0LnV0aWxpdHktbWVudSB7XG5cdFx0aGVpZ2h0OiA0OHB4O1xuXHRcdC5tZW51ICB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxN3B4O1xuXHRcdFx0XHQgICAgcGFkZGluZy10b3A6IDE4cHg7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHQgICAgJjpob3Zlcixcblx0XHRcdFx0ICAgICY6Zm9jdXMge1xuXHRcdFx0XHQgICAgXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLmF1ZGllbmNlLW1lbnUgPiBhIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNzEwODI5O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODAwXCI7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogN3B4O1xuXHRcdFx0XHRcdFx0IFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODA1XCI7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdCYuYXVkaWVuY2UtbWVudSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIuYmctZGFyay1ncmF5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItMjsgLy8gZm9vdGVyIGJhbmQuIE1heWJlIG5vdCByZXBlYXRlZCBlbHNld2hlcmU/XG59XG4uYnVmZmVyLXRvcCB7XG5cdG1hcmdpbi10b3A6IDFlbTsgLy9qdXN0IGNoYW5nZWQgZnJvbSAyZW1cbn1cbi5kaXNwbGF5LWJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4uYnVmZmVyLW9uLWlubmVyLXJvdyB7XG5cdD4gLnJvdyB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDU1cHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA1NXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMThweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDE4cHg7XG5cdFx0fVxuXHR9XG59IiwiI3N1Yi1tZW51IHtcblx0bWFyZ2luLXRvcDogMTJweDtcblx0PiB1bCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0dWwge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDI0cHg7XG5cdFx0fVxuXHRcdD4gbGk6Zmlyc3QtY2hpbGQgPiBhIHtcblx0XHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuXHRcdH1cblx0XHRsaSB7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0YSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRjb2xvcjogIzM1MzUzNTtcblx0XHRcdFx0cGFkZGluZzogMTVweCAxMHB4IDE4cHggMjBweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci02O1xuXHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5hY3RpdmUgPiBhLFxuXHRcdFx0Ji5hY3RpdmUgPiBhOmhvdmVyLFxuXHRcdFx0Ji5hY3RpdmUgPiBhOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcblx0XHRcdFx0Y29sb3I6ICMzNTM1MzU7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDhweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdD4gLnNlYXJjaC1ib3gge1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdH1cblx0dWwgbGk6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQmLnN1Yi1tZW51LS1ob3Jpem9udGFsIHtcblx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdD4gdWwge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgI2U2ZTZlNjtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzJweDtcblx0XHRcdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblx0XHRcdFx0PiBsaSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGZsZXgtYmFzaXM6IDEyJTtcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkID4gYSB7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiAwIG5vbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5hY3RpdmUgPiBhIHtcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4IDEwcHggOXB4IDEwcHg7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHQmOmhvdmVyLCBcblx0XHRcdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0bWF4LXdpZHRoOiAyODdweDtcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHQjc3ViLW1lbnUtdG9nZ2xlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikgeyAvLyB3YXMgMTE5OSBidXQganVzdCBzd2l0Y2hlZCB0byAxMDIzXG5cdCNzdWItbWVudS10b2dnbGVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdD4gYSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGJvcmRlci13aWR0aDogMnB4IDA7XG5cdFx0XHRib3JkZXItY29sb3I6ICRuZXV0cmFsLWNvbG9yLTU7XG5cdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0cGFkZGluZzogMTdweCAyMnB4O1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZTgwNFwiO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogNnB4O1xuXHRcdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMTtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG5cdFx0XHRcdHNwZWFrOiBub25lO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdFx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHRcdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0XHRcdH1cblx0XHRcdCYub3BlbjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlODA1XCI7XG5cdFx0XHRcdGNvbG9yOiAjNjY2NjY2O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuc3ViLW1lbnUtd3JhcCB7XG5cdFx0I3N1Yi1tZW51IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAzO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdHBhZGRpbmctbGVmdDogNjVweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDYycHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMnB4O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMnB4O1xuXHRcdFx0fVxuXHRcdFx0Ym94LXNoYWRvdzogMHB4IDhweCA5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0XHRcdD4gdWwge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdFx0bWFyZ2luLXRvcDogLTMycHg7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMjJweDtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdC8vYm9yZGVyLXRvcDogMnB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTU7XG5cdFx0XHRcdFx0XHQvL2JvcmRlci1ib3R0b206IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtMnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQ+IHAgKyB1bCxcblx0XHRcdD4gLnNlYXJjaC1ib3ggKyB1bCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4uc3ViLW1lbnVfX2JhY2stbGluayB7XG5cdGNvbG9yOiAjYTk5YTZmO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdG1hcmdpbi10b3A6IC01cHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvci0yO1xuXHR9XG59IiwiZm9vdGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHQubWVudSB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGxpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvci00O1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5iZy1kYXJrLWdyYXkge1xuXHRcdHBhZGRpbmc6IDM2cHggMDtcblx0fVxuXHQuY29weXJpZ2h0IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci0xO1xuXHRcdGNvbG9yOiAjNzk3OTc5O1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdC5oYXMtZ3JheS1iYW5kIHtcblx0XHRcdD4gLnJvdyB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogNTVweDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogNTVweDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxOHB4O1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDE4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5oYXMtZ3JheS1iYW5kIHsgLy9zZWVuIG9ubHkgb24gZm9vdGVyIGZvciBub3dcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWJvdHRvbTogNTBweDtcdFx0XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblx0XHRoZWlnaHQ6IDEzOHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHR6LWluZGV4OiAtMTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0aGVpZ2h0OiAyNzRweDtcblx0XHR9XG5cdH1cbn0iLCIvL0JVVFRPTlNcbi5idG4sXG5hLmJ0biB7XG5cdHBhZGRpbmc6IDE1cHggMjBweDtcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRmb250LWZhbWlseTogJGN0YS1mb250O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Ji5kaXNwbGF5LWJsb2NrIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHRjb2xvcjogd2hpdGU7XG5cdGJhY2tncm91bmQtY29sb3I6ICNhYzkxNDc7XG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3ItMjtcblx0fVxuXHQmLmJ0bi0tc21hbGwge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRwYWRkaW5nOiAxMHB4IDE2cHg7XG5cdH1cblx0Ji5idG4tLXdoaXRlIHtcblx0XHRjb2xvcjogI2FjOTE0Nztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2FjOTE0Nztcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cdH1cblx0Ji5idG4tLWRhcmstcmVkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0yO1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzUxMGMxZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXHQmLmJ0bi0tYWNhZGVtaWMtZmlsdGVyIHtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAjYjFiMWIxO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdGNvbG9yOiAjODE3OTZmICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDE3MHB4O1xuXHRcdGhlaWdodDogNDVweDtcblx0XHRwYWRkaW5nOiAxM3B4IDEwcHg7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItMztcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLTM7XG5cdFx0XHRjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0Ji5pbmZvIHtcblx0XHRcdHdpZHRoOiA0NXB4O1xuXHRcdFx0Zm9udC1zaXplOiAyNnB4O1xuICAgIFx0XHRwYWRkaW5nOiA4cHggMDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cdH1cblx0Ji5idG4tLWRpc2FibGVkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICNmNGY0ZjQ7XG5cdFx0Y29sb3I6ICNhOWE4YTggIWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICNmNGY0ZjQ7XG5cdFx0XHRjb2xvcjogI2E5YThhOCAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdGNvbnRlbnQ6IFwiXFxlODE5XCI7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdFx0fVxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogI2E5YThhOCAhaW1wb3J0YW50O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNCAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgI2Y0ZjRmNDtcblx0XHR9XG5cdH1cbiAgICAmLmJ0bi0taW5saW5lLS1nb2xkIHtcbiAgICAgICAgY29sb3I6ICNBNThENUIhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNBNThENUI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOjEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjEwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOjVweDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNBNThENUI7XG4gICAgICAgICAgICBjb2xvcjojZjRmNGY0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5idG4tLWlubGluZS0tZGFyay1yZWQge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItMiFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJHByaW1hcnktY29sb3ItMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yLTI7XG4gICAgICAgICAgICBjb2xvcjojZjRmNGY0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5cbi8vIEJVVFRPTiBXSVRIIEJHIElNQUdFXG4uYmctaW1nLWJ0biB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdD4gaW1nIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQuY29udGVudCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjMpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwYWRkaW5nLWxlZnQ6IDVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdFx0cCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHR9XG5cdH1cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0LmNvbnRlbnQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0bWF4LWhlaWdodDogOTBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbi10b3A6IDEzcHg7XG5cdFx0LmNvbnRlbnQge1xuXHRcdFx0PiBpbWcge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vRk9MTE9XIFVTXG4uZm9sbG93LXVzIHtcblx0YmFja2dyb3VuZDogIzhjMjMzMiB1cmwoJy4uL2ltYWdlcy9mb2xsb3ctdXMtc3RhbXAucG5nJykgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDkwJSBhdXRvO1xuXHR9XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZy1ib3R0b206IDI0cHg7XG5cdHBhZGRpbmctdG9wOiAyNHB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGgyIHtcblx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG5cdH1cblx0LnNvY2lhbC1tZWRpYSB7XG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRhIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDdweDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogN3B4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAzMHB4O1xuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0xO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDM1MHB4KSB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdD4gbGkge1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAyMSU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5mb2xsb3ctdXNfX3ZpZXctYWxsIHtcblx0XHRmb250LWZhbWlseTogJGN0YS1mb250O1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0bWFyZ2luLXRvcDogMWVtO1xuXHRcdH1cblx0fVxufVxuXG4vL0xJU1QgT0YgRkFDVFNcbnVsLmxpc3Qtb2YtZmFjdHMge1xuICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICBtYXJnaW4tbGVmdDowcHg7XG4gICAgbWFyZ2luLWJvdHRvbTowcHg7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbGkge1xuICAgIFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDoyNSU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDowLjhyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MjRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MC44cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MjRweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICB9XG4gICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIGFuZCAobGFyZ2UgZG93bikge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjAuNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MThweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjAuNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDoxOHB4O1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpLCAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC1jb2xvci01O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6MHB4O1xuICAgICAgICAgICAgd2lkdGg6MHB4O1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOjFyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVFdPLUNPTFVNTiBMSVNUXG51bC50d28tY29sIHtcblx0LW1vei1jb2x1bW4tY291bnQ6IDI7XG5cdC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuXHRjb2x1bW4tY291bnQ6IDI7XG5cdGxpIHtcblx0XHQvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuXHRcdC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7IC8qIENocm9tZSwgU2FmYXJpICovXG5cdCAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7ICAgICAgICAgICAvKiBUaGVvcmV0aWNhbGx5IEZGIDIwKyAqL1xuXHQgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47ICAgICAgICAgLyogSUUgMTEgKi9cblx0fVxufVxuXG5cbi8vIFBBR0lOQVRJT05cbi5wYWdpbmF0aW9uIHtcblx0Zm9udC1mYW1pbHk6ICRoZWFkbGluZS1mb250O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdG1hcmdpbi1ib3R0b206IDU2cHg7XG5cdG1hcmdpbi10b3A6IDQzcHg7XG5cdGxpIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQmLnBhZ2luYXRpb24tcHJldmlvdXMsXG5cdFx0Ji5wYWdpbmF0aW9uLW5leHQge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRmb250LXNpemU6IDI2cHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0b3A6IC0xNHB4O1xuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogNjVweDtcblx0XHRcdFx0aGVpZ2h0OiA2NXB4O1xuXHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvci01O1xuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkbmV1dHJhbC1jb2xvci00O1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRbY2xhc3MqPVwiaWNvbi1kdS1cIl0sXG5cdFx0XHRcdFtjbGFzcyo9XCJkdS1pY29uLVwiXSB7XG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDY1cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDY1cHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHR0b3A6IDE2cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3ItNTtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRzZWNvbmRhcnktY29sb3ItNTtcblx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuZGlzYWJsZWQge1xuXHRcdFx0XHRjb2xvcjogI2VjZjBmMztcblx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgI2VjZjBmMztcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0W2NsYXNzKj1cImljb24tZHUtXCJdIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogNjVweDtcblx0XHRcdFx0XHRcdGhlaWdodDogNjVweDtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHRvcDogMTZweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRuZXV0cmFsLWNvbG9yLTI7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmN1cnJlbnQge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLTM7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQUNDT1JESU9OXG51bC5hY2NvcmRpb24gbGkge1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cbiAuYWNjb3JkaW9uLWl0ZW0sXG4gI21haW4tY29udGVudCAuYWNjb3JkaW9uLWl0ZW0ge1xuXHQmOmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRhLmFjY29yZGlvbi10aXRsZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2UwZGJjZTtcblx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMztcblx0XHRmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0cGFkZGluZy1yaWdodDogNDJweDtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2IwYWE5ZTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG5cdFx0XHRjb250ZW50OiBcIlxcZTgwOVwiO1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0bWFyZ2luLXRvcDogLTExcHg7XG5cdFx0fVxuXHR9XG5cdCYuaXMtYWN0aXZlIHtcblx0XHRhLmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjODE3OTZmO1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZTgwOFwiO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQrIC5hY2NvcmRpb24taXRlbSB7XG5cdFx0bWFyZ2luLXRvcDogMTFweDtcblx0fVxufVxuXG4vLyBMSVNUSU5HIFdJVEggSUNPTi9JTUdcbi5pY29uLWxpc3Qge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0PiBsaSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblx0XHR9XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0cGFkZGluZzogMTlweCAxNXB4IDE0cHggMTAwcHg7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0zO1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdC5pY29uLWxpc3RfX21lZGlhIHtcblx0XHRcdHdpZHRoOiA2MHB4O1xuXHRcdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC04NXB4O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRmb250LXNpemU6IDYwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogNDdweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHVsIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdH1cblx0XHRwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdH1cblx0XHRhIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAkY3RhLWZvbnQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdCYuYnRuIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogXCJcXGU4MDBcIjtcblx0XHRcdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItNDtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJGljb24tZm9udDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0bGVmdDogMnB4O1xuXHRcdFx0XHRcdHRvcDogMTJweDtcblx0XHRcdFx0ICAgIG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0cGFkZGluZzogMTFweCAwIDJweCAyMnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0Y29sb3I6ICRhY2NlbnQtY29sb3ItMmM7XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0cCB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNzhweDtcblx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdC5pY29uLWxpc3RfX21lZGlhIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC03OHB4O1xuXHRcdFx0fVxuXHRcdFx0cCB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBMSVNUIE9GIExJTktTXG4ubGlzdC1vZi1saW5rcyB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdD4gbGkge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0fVxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmV1dHJhbC1jb2xvci00O1xuXHRcdHBhZGRpbmctdG9wOiA4cHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDhweDtcblx0XHRsaW5lLWhlaWdodDogMjFweDtcblx0XHRhIHtcblx0XHRcdHBhZGRpbmc6IDAgMTZweCAwIDQxcHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA4MDA7XG5cdFx0XHRmb250LWZhbWlseTogJGN0YS1mb250O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZTgwMFwiO1xuXHRcdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItNDtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMTZweDtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC0xMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHR1bCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogNDFweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA3cHg7XG5cdFx0XHRsaSBhIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy9MSVNUIE9GIExJTktTIEFMVCAtICh1c2VkIG9uIEhvbWUpXG4ubGlzdC1vZi1saW5rcy0tYWx0IHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdGxpIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRhIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlO1xuXHRcdFx0XHR3aWR0aDogNXB4O1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYmRhNDc0O1xuXHRcdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdH1cblx0XHRcdC8vYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjYmRhNDc0O1xuXHRcdFx0cGFkZGluZzogMThweCAyMXB4IDIxcHggMjBweDtcblx0XHRcdGNvbG9yOiAjQTU4RDVCO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI1cHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIzcHg7XG5cdFx0XHR9XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiAjYmRhNDc0O1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0KyBsaSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyM3B4O1xuXHRcdH1cblx0fVxuXG59XG5cbi8vIExJU1RJTkcgV0lUSCBJQ09OL0lNR1xuLmNvbnRhY3QtbGlzdCB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRsaSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJG5ldXRyYWwtY29sb3ItNDtcblx0XHR9XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0cGFkZGluZzogN3B4IDE1cHggNXB4IDU1cHg7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0zO1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdC5jb250YWN0LWxpc3RfX21lZGlhIHtcblx0XHRcdHdpZHRoOiAyNXB4O1xuXHRcdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC00NXB4O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0fVxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdHAge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjZweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHQuY29udGFjdC1saXN0X19tZWRpYSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNDhweDtcblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gU0hPVy9ISURFIFRPR0dMRVxuLnNob3ctaGlkZS10b2dnbGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLmpzIHtcblx0LnNob3ctaGlkZS10b2dnbGUge1xuXHRcdH4gKiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLXRvcDogLTU0cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0Ym90dG9tOiAxcHg7XG5cdFx0XHRoZWlnaHQ6IDcwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuNjQpIDIxJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSA2MiUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG5cdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLHJnYmEoMjU1LDI1NSwyNTUsMC42NCkgMjElLHJnYmEoMjU1LDI1NSwyNTUsMSkgNjIlLHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDAuNjQpIDIxJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDYyJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuXHRcdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMGZmZmZmZicsIGVuZENvbG9yc3RyPScjZmZmZmZmJyxHcmFkaWVudFR5cGU9MCApO1xuXHRcdH1cblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuZXV0cmFsLWNvbG9yLTQ7XG5cdFx0XHRoZWlnaHQ6IDcwcHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRbY2xhc3MqPVwiaWNvbi1kdVwiXSxcblx0XHRcdFtjbGFzcyo9XCJkdS1pY29uXCJdIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ICAgIG1hcmdpbi1sZWZ0OiAtMTUuNXB4O1xuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdGJvdHRvbTogLTE0cHg7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1jb2xvci01O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1x0XG5cdFx0XHRcdFx0Y29sb3I6ICM4MTc5NmY7XHRcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjNweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjdweDtcdFxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlO1x0XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTZweDtcblx0XHRcdFx0ICAgIG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHQgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuaWNvbi1kdS1taW51cyxcblx0XHRcdC5kdS1pY29uLW1pbnVzIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0W2NsYXNzKj1cImljb24tZHVcIl0sXG5cdFx0XHRcdFtjbGFzcyo9XCJkdS1pY29uXCJdIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLTU7XG5cdFx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuc2hvdy1oaWRlLS1leHBhbmRlZCB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHRhIHtcblx0XHRcdFx0Lmljb24tZHUtbWludXMsXG5cdFx0XHRcdC5kdS1pY29uLW1pbnVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0XHQuaWNvbi1kdS1wbHVzLFxuXHRcdFx0XHQuZHUtaWNvbi1wbHVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zaG93LWhpZGVfX2NvbnRlbnRzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5vcmJpdC1idWxsZXRzIHtcblx0YnV0dG9uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYzdjN2M3O1xuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLTM7XG5cdFx0fVxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gSW5zZXQgVmlkZW9cbi5yZXNwb25zaXZlLWVtYmVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIFx0bWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG59XG5cbi8vTG9hZGVyXG4jZHUtbG9hZGVyIHtcblx0ZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDksIDIwOSwgMjEwLCAuNik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDtcblx0PiBzcGFue1xuXHRcdC8qY29udGVudDogJ1xcZTgzMic7XG5cdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7Ki9cblx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC0xN3B4O1xuXHRcdG1hcmdpbi1sZWZ0OiAtMTdweDtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cbn1cbiIsIkBtZWRpYSBzY3JlZW4ge1xuIFx0aHRtbCB7XG4gXHRcdG1pbi13aWR0aDogMzIwcHg7XG4gXHR9XG4gXHRoZWFkZXIge1xuXHRcdGhlaWdodDogNTM4cHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRoZWlnaHQ6IDQ4OXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdGhlaWdodDogNDMwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UgdXApIHtcblx0XHRcdGhlaWdodDogNzUwcHg7XG5cdFx0fVxuXHR9XG5cdC51dGlsaXR5LXBhZ2Uge1xuXHRcdGhlYWRlciB7XG5cdFx0XHRoZWlnaHQ6IDM5MnB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdGhlaWdodDogMzU0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5wYWdlLXRpdGxlLWJhbmQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQmOmJlZm9yZSB7XG5cdFx0ICAgIGNvbnRlbnQ6IFwiXCI7XG5cdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQgICAgdG9wOiAwO1xuXHRcdCAgICBsZWZ0OiAtNTRweDtcblx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0ICAgIHJpZ2h0OiAwO1xuXHRcdCAgICB3aWR0aDogYXV0bztcblx0XHQgICAgYm90dG9tOiAwO1xuXHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0ICAgIFx0bGVmdDogMDtcblx0XHQgICAgfVxuXHRcdH1cblx0fVxuXHQuaW50cm8ge1xuXHRcdG1hcmdpbi1ib3R0b206IDUxcHg7XG5cdFx0PiAqOmxhc3QtY2hpbGQge1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQxcHg7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQucHVsbC11cCA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0ICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG5cdFx0fVxuXHR9XG5cdFxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHQucHVsbC11cCB7XG5cdFx0bWFyZ2luLXRvcDogLTkzcHg7XG5cdCAgICBwYWRkaW5nLXRvcDogNDNweDtcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cblx0I21haW4tY29udGVudCA+IC5yb3csXG5cdGZvb3RlciA+IC5yb3cge1xuXHRcdG1hcmdpbi1sZWZ0OiA1NXB4O1xuXHRcdG1hcmdpbi1yaWdodDogNTVweDtcblx0XHQmLmV4cGFuZGVkIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxOHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMThweDtcblx0XHR9XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0I21haW4tY29udGVudCB7XHRcdFxuXHRcdD4gLnJvdzpmaXJzdC1jaGlsZCA+IC5wdWxsLXVwIHtcblx0XHRcdG1hcmdpbi10b3A6IC04MXB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDMycHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTM1cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC0zNXB4O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA0MnB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogNDJweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0ICAgIG1hcmdpbi1sZWZ0OiAtMThweDtcblx0XHRcdCAgICBtYXJnaW4tcmlnaHQ6IC0xOHB4O1xuXHRcdFx0ICAgIHBhZGRpbmctbGVmdDogMjJweDtcblx0XHRcdCAgICBwYWRkaW5nLXJpZ2h0OiAyMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59IiwiI2F1ZGllbmNlLW1lbnUge1xuXHRwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuXHRwYWRkaW5nLXJpZ2h0OiAxMDBweDtcblx0cGFkZGluZy10b3A6IDQ4cHg7XG5cdC5jb2x1bW5zIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogN3B4O1xuXHRcdH1cblx0XHQuYmctaW1nLWJ0biAuY29udGVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNSk7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHQmLFxuXHRcdFx0cCB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHR9XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5yb3cgKyAucm93IHtcblx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdHBhZGRpbmctbGVmdDogNzdweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1NnB4O1x0XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAyOXB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDMxcHg7XHRcblx0XHQuYmctaW1nLWJ0biB7XG5cdFx0ICAgIG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG59XG4uaXMtb2ZmLWNhbnZhcy1vcGVuIGhlYWRlciAjdG9wLWJhci1zdGlja3ktd3JhcCB7XG5cdG1heC13aWR0aDogbm9uZTtcbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHQub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG5cdCAgICB3aWR0aDogNTcxcHg7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTcxcHgpO1xuXHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0ICAgIHdpZHRoOiAyODZweDtcblx0XHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI4NnB4KTtcblx0ICAgIH1cblx0fVxuXHQub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICBcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIH1cbiAgICAucG9zaXRpb24tcmlnaHQuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01NzFweCk7XG5cdCAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yODZweCk7XG4gICAgXHR9XG5cdH1cbn1cblxuIiwiLy9TZWFyY2ggQm94XG4uc2VhcmNoLWJveCB7XG5cdG1heC13aWR0aDogNTkwcHg7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0PiBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDAgNHB4IDA7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvci0zO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0Y29sb3I6ICRuZXV0cmFsLWNvbG9yLTM7XG5cdFx0Zm9udC1zaXplOiAyOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRmb250LWZhbWlseTogJGhlYWRsaW5lLWZvbnQ7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRwYWRkaW5nLWJvdHRvbTogMnB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDkwcHg7XG5cdH1cbiAgICAmLnNlYXJjaC1ib3gtLW5ldXRyYWwgPiBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBib3JkZXItY29sb3I6ICRuZXV0cmFsLWNvbG9yLTQ7XG4gICAgfVxuXHQ+IGJ1dHRvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMTRweDtcblx0XHRyaWdodDogMTZweDtcblx0XHQ+IC5pY29uLWR1LWN1c3Qtc2VhcmNoIHtcblx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHR9XG5cdH1cblx0PiBidXR0b24uc2VhcmNoLWNsZWFyIHtcbiAgICByaWdodDogNTVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICA+IC5pY29uLWR1LWN1c3QtY2xvc2Uge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICRhY2NlbnQtY29sb3ItMmM7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgXG4gID4gaW5wdXRbbmFtZT1cInNlYXJjaFwiXTpub3QoOnZhbGlkKSB+IC5zZWFyY2gtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4jbWFpbi1jb250ZW50IHtcblx0LnNlYXJjaC1yZXN1bHRzX19saXN0aW5nLXN1bW1hcnkge1xuXHRcdGNvbG9yOiAkbmV1dHJhbC1jb2xvci0yO1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cblx0LnNlYXJjaC1yZXN1bHRzIHtcblxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdGJvcmRlci10b3A6IDhweCBzb2xpZCAkbmV1dHJhbC1jb2xvci01O1xuXG5cdFx0bGkge1xuXG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJG5ldXRyYWwtY29sb3ItNTtcblx0XHRcdHBhZGRpbmc6IDI2cHggMTBweCA1cHggMjFweDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHRcdGEge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRoMiB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0Y29sb3I6ICRhY2NlbnQtY29sb3ItMmM7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTNweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQuc2VhcmNoLXJlc3VsdC0tdHlwZSB7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRjb2xvcjogIzgxNzk2Zjtcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJGFjY2VudC1mb250O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHRcdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMztcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5zZWFyY2gtcmVzdWx0LS11cmwge1xuXHRcdFx0XHRcdGNvbG9yOiAjNzI3MjcyO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHQgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdCAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRoMiB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGFjY2VudC1jb2xvci0yYjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnNlYXJjaC1yZXN1bHQtLXVybCB7XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5zZWFyY2gtcmVzdWx0LS1rZXl3b3JkLWhpdCB7XG5cblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtY29sb3ItNjtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogNDBweDtcblxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuc2VhcmNoLXJlc3VsdHMtLW5vLXBhZ2VyLFxuXHQuc2VhcmNoLXJlc3VsdHNfX25vLXJlc3VsdHMsXG5cdC5zZWFyY2gtcmVzdWx0c19fZXJyb3Ige1xuXHRcdG1hcmdpbi1ib3R0b206IDU2cHg7XG5cdH1cblx0LmxvYWRlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAyMHB4IGF1dG8gNDBweDtcblx0fVxufSIsIi5kdS1hbGVydCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmYWViY2U7XG5cdD4gLnJvdyB7XG5cdFx0PiAuY29sdW1ucyB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA4MnB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7IC8vIHdhcyAzOHB4XG5cdFx0XHR9XG5cdFx0XHQuZHUtYWxlcnRfX2FjdGlvbi1idXR0b24ge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdFx0LmpzICYgLmR1LWFsZXJ0X19hY3Rpb24tYnV0dG9uIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMzBweDtcblx0XHRcdFx0dG9wOiAzMHB4O1xuXHRcdFx0XHRjb2xvcjogIzY2NjY2Njtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Ji5vcGVuIHtcblx0XHRcdFx0XHQuaWNvbi1kdS1kb3duLWFycm93OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZTgwMlwiO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMTtcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmpzICYgI2R1LWFsZXJ0X19jb250ZW50IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdCYuZHUtYWxlcnRfX2NvbnRlbnQtLWV4cGFuZGVkIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXHQjZHUtYWxlcnRfX2NvbnRlbnQge1xuXHRcdCYuZHUtYWxlcnRfX2NvbnRlbnQtLWV4cGFuZGVkIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHAge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHRcdFx0Y29sb3I6ICMzMDJkMmU7XG5cdFx0XHR9XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICMzMDJkMmU7XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvci0xO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGgxIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlxcZTgxMFwiO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQ7XG5cdFx0XHRjb2xvcjogI2M1MGMwYztcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDRweDtcblx0XHR9XG5cdFx0Zm9udC1zaXplOiAyNnB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0cGFkZGluZy10b3A6IDI1cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0fVxuXHRcdCYsXG5cdFx0KyBwIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdFx0KyBwIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAycHggc29saWQgI2NjYmRhMztcblx0XHRcdG1hcmdpbi1sZWZ0OiAxNHB4O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxNnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRjb2xvcjogJG5ldXRyYWwtY29sb3ItMjtcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRib3JkZXItbGVmdDogMCBub25lO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLS1ub3RpZmljYXRpb24ge1xuXHRcdC5qcyAmIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHQmLmR1LWFsZXJ0LS1ub3RpZmljYXRpb24tLXNob3cge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHRcdD4gLnJvdyA+IC5jb2x1bW5zIC5kdS1hbGVydF9fYWN0aW9uLWJ1dHRvbiB7XG5cdFx0XHQgICAgdG9wOiAyN3B4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRoMSB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbG9yOiAjYWM5MTQ3O1xuXHRcdFx0fVxuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0KyBwIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vL0NhdGFzdHJvcGhpYyBBbGVydFxuLmNhdGFzdHJvcGhpYy1hbGVydCB7XG5cdGhlYWRlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzMzMzMzNTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0cGFkZGluZy1ib3R0b206IDMycHg7XG5cdFx0cGFkZGluZy10b3A6IDQwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTNweDtcblx0XHRcdHBhZGRpbmctdG9wOiAyMXB4O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA2MnB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogNjJweDtcblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiAyMzVweDtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMjJweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDIycHg7XG5cdFx0fVxuXHRcdGgxIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvYWxlcnQtYXR0ZW50aW9uLWNpcmNsZS5wbmcnKSBuby1yZXBlYXQgc2Nyb2xsIGNlbnRlciBjZW50ZXI7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMzlweDtcblx0XHRcdFx0aGVpZ2h0OiAzOXB4O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRmb250LXNpemU6IDUwcHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNDBweDtcblx0XHRcdFx0bWFyZ2luLXRvcDogMTRweDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMXB4O1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAzMXB4O1xuXHRcdFx0XHRcdGhlaWdodDogMzFweDtcblx0XHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDQ5cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0bWF4LXdpZHRoOiAyNjRweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMzNweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDMzcHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLTE3cHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDZweDtcblx0XHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGgyIHtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdGZvbnQtc2l6ZTogMzhweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0YXNpZGUge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDglO1xuXHRcdH1cblx0XHRoMyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdH1cblx0XHRoNCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdH1cblx0XHRwIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRcdFx0KyBoMyB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDM2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyogTW9kYWwgU3R5bGVzICovXG5cbi5yZXZlYWwge1xuICAmLmZ1bGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMSk7XG4gICAgXG4gICAgLm1vZGFsX2N0YV91dGlsaXR5IHtcbiAgICAgIFxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDY2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2NnB4O1xuICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgaDQge1xuICAgICAgICBmb250LXdlaWdodDpib2xkXG4gICAgICB9XG4gICAgICBoNiB7XG4gICAgICAgIGNvbG9yOiAkbmV1dHJhbC1jb2xvci0zO1xuICAgICAgfVxuICAgICAgXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgfVxuICAgICAgLmJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLm1vZGFsX3dyYXBwZXJ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbiNmZWVkYmFja19mbG9hdGVyIHtcbiAgYm9yZGVyOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMjBweDtcbiAgei1pbmRleDogOTk5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci0yYztcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIC1tb3otYm94LXNoYWRvdzogMCAwIDVweCAzcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLTJiO1xuICB9XG59IiwiQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZURpc3BsYXknLCAnZm9udHMvYnJldmUtZGlzcGxheS13ZWIvcmVndWxhci9CcmV2ZURpc3BsYXknLCBub3JtYWwsIG5vcm1hbCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlRGlzcGxheScsICdmb250cy9icmV2ZS1kaXNwbGF5LXdlYi9zdGVuY2lsL0JyZXZlRGlzcGxheS1TdGVuY2lsJywgbm9ybWFsLCBib2xkKTtcblxuQGluY2x1ZGUgZm9udEZhY2UgKCdCcmV2ZU5ld3MnLCAnZm9udHMvYnJldmUtbmV3cy13ZWIvYm9vay9CcmV2ZU5ld3MtQm9vaycsIG5vcm1hbCwgbm9ybWFsKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVOZXdzJywgJ2ZvbnRzL2JyZXZlLW5ld3Mtd2ViL2Jvb2svQnJldmVOZXdzLUJvb2tJdGFsaWMnLCBpdGFsaWMsIG5vcm1hbCk7XG5AaW5jbHVkZSBmb250RmFjZSAoJ0JyZXZlTmV3cycsICdmb250cy9icmV2ZS1uZXdzLXdlYi9ib2xkL0JyZXZlTmV3cy1Cb2xkJywgbm9ybWFsLCBib2xkKTtcbkBpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVOZXdzJywgJ2ZvbnRzL2JyZXZlLW5ld3Mtd2ViL2JvbGQvQnJldmVOZXdzLUJvbGRJdGFsaWMnLCBpdGFsaWMsIGJvbGQpO1xuXG4vL0BpbmNsdWRlIGZvbnRGYWNlICgnQnJldmVTbGFiVGl0bGUnLCAnZm9udHMvYnJldmUtc2xhYi10aXRsZS13ZWIvdGhpbi9CcmV2ZVNsYWJUaXRsZS1UaGluJywgbm9ybWFsLCAzMDApO1xuXG5cbi5kdS1ob21lIHtcblx0aGVhZGVyIHtcblx0XHRoZWlnaHQ6IDgzN3B4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0aGVpZ2h0OiA2MzBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRoZWlnaHQ6IDUwMHB4O1xuXHRcdH1cdFx0XHRcblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNDBweCBzb2xpZCB3aGl0ZTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGhlaWdodDogNDBweDtcblx0XHR9XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiA0MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogNDBweDtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItbGVmdDogNDBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDQwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMzBweDtcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItcmlnaHQtd2lkdGg6IDMwcHg7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMzBweDtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItbGVmdC13aWR0aDogMzBweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lmhlcm8tbWVkaWEge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHRcdC8qJjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4NCwgMTYxLCA5OCwgMCk7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDJzIGVhc2U7XG5cdFx0XHR9Ki9cblx0XHRcdD4gdmlkZW8ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0QG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE0ODhweCkge1xuXHRcdFx0XHRcdHdpZHRoOiAxNDg4cHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC03NDRweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDgzN3B4O1xuXHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMDtcblx0XHRcdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIChtaW4td2lkdGg6IDExMjBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuXHRcdFx0XHRcdG1pbi13aWR0aDogMTAwJTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTExOXB4KSAge1xuXHRcdFx0XHRcdHdpZHRoOiAxMTIwcHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC01NjBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDYzMHB4O1xuXHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMDtcblx0XHRcdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdHdpZHRoOiAxNTg4cHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC03OTRweDtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMDtcblx0XHRcdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRcdHdpZHRoOiAxMjYwcHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC02MzBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDUwMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQ+IGltZyB7XG5cdFx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAyMTExcHgpIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMjExMHB4KSB7XG5cdFx0XHRcdFx0d2lkdGg6IDIxMTBweDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTEwNTVweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDgzN3B4O1xuXHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMDtcblx0XHRcdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0d2lkdGg6IDE1ODhweDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTc5NHB4O1xuXHRcdFx0XHRcdGhlaWdodDogNjMwcHg7XG5cdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdFx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHR3aWR0aDogMTI2MHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNjMwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA1MDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuaGVyby1tZWRpYV9fY2FwdGlvbiB7XG5cdFx0XHRoMiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogOTNweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDk3cHg7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkYnJldmUtZGlzcGxheTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiA3MHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA3M3B4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogNDhweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNTFweDtcblx0XHRcdFx0fVxuICAgICAgICAgICAgICAgIHNwYW4ubGluZXtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MWVtO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDgwcHg7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDgwcHg7XG5cdFx0XHRcdGJvdHRvbTogODhweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDIycHg7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDIycHg7XG5cdFx0XHRcdGJvdHRvbTogMjlweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0I21haW4tY29udGVudCB7XG5cdFx0cGFkZGluZy10b3A6IDk2cHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDE1MHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0cGFkZGluZy10b3A6IDY2cHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0cGFkZGluZy10b3A6IDYzcHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNTBweDtcblx0XHR9XG5cdFx0aDIsIGgzLCBoNCwgaDUsIGg2IHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0fVxuXHRcdGgyIHtcblx0XHRcdGZvbnQtc2l6ZTogNjZweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA2NnB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNTVweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDU1cHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzOHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMzhweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0aDMge1xuXHRcdFx0Zm9udC1zaXplOiA0NXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDU5cHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzM3B4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNDRweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0cCB7XG5cdFx0XHRmb250LWZhbWlseTogJ0JyZXZlTmV3cycsIHNhbi1zZXJpZjtcblx0XHR9XG5cdFx0PiAucm93ICsgLnJvdyB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxNTBweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNzBweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA2MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuZHUtaG9tZV9fc2VjdGlvbi0xIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdHAge1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDMycHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyM3B4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdC8vQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdGgyLmJ0bS1kaXZpZGVyIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNTNweDtcblx0XHRcdH1cblx0XHRcdC5saXN0LW9mLWxpbmtzLS1hbHQge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmR1LWhvbWVfX2FjYWRlbWljLXByb2dyYW1zIHtcblx0XHQuc2VhcmNoLWJveCB7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNDBweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDY3cHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTsvLzM0cHg7XG5cdFx0XHRcdGhlaWdodDogODFweDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA0NXB4O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDI2cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA1OXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzdweDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogNXB4O1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDM2cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA1MXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0PiBidXR0b24ge1xuXHRcdFx0XHRcdHJpZ2h0OiA4cHg7XG5cdFx0XHRcdFx0Ym90dG9tOiAxMnB4O1xuXHRcdFx0XHRcdD4gLmljb24tZHUtY3VzdC1zZWFyY2gge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuYnRuIHtcblx0XHRcdGZvbnQtc2l6ZTogMTlweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHQgICAgaGVpZ2h0OiA2NHB4O1xuXHRcdCAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdCAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHQgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNTtcblx0XHRcdHBhZGRpbmctdG9wOiA1O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0aGVpZ2h0OiA4NHB4O1xuXHRcdFx0fVxuXHRcdFx0Lmljb24tZHUtY3VzdC1zZWFyY2gge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDZweDtcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDRweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHQjbWFpbi1jb250ZW50ID4gLnJvdy5yb3ctLWV4cGFuZGVkIHtcblx0XHRcdG1heC13aWR0aDogMTIwMHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblx0fVxuXG5cblx0Ly9GaXhlZCBwb3NpdGlvbmluZyBvZiBIZWFkZXIgTWVkaWFcblx0aGVhZGVyIC5oZXJvLW1lZGlhIHtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdH1cblx0Ji5kdS1hbGVydC0tYWN0aXZlIHtcblx0XHRoZWFkZXIgLmhlcm8tbWVkaWEge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cdFxuXHR9XG5cdCNtYWluLWNvbnRlbnQsXG5cdGZvb3RlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdH1cbn1cblxuLyouZHUtaG9tZSBoZWFkZXIuaGVhZGVyLS1mYWRlLW91dC1nb2xkIHtcblx0Lmhlcm8tbWVkaWEge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTg0LCAxNjEsIDk4LCAwLjI1KTtcblx0XHR9XG5cdH1cbn0qLyIsIi53aWRlLWNhcm91c2VsX193cmFwcGVyIHtcblx0Ji5yb3cge1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHQ+IC5jb2x1bW5zIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHQ+IC5yb3cge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdCNtYWluLWNvbnRlbnQgJiB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LndpZGUtY2Fyb3VzZWwge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9hcnJvdy1wYXR0ZXJuLnBuZycpIHJlcGVhdCBzY3JvbGwgMCAwO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR0b3A6IC0zMHB4O1xuXHRcdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHQub3JiaXQtc2xpZGUgPiAucm93ID4gLmNvbHVtbnM6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm4ucG5nJykgcmVwZWF0IHNjcm9sbCAwIDA7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdHRvcDogLTQ3cHg7XG5cdFx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDQ3cHg7XG5cdFx0XHRcdFx0ei1pbmRleDogMDtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdFx0XHRcdHRvcDogLTMwcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdC53aWRlLWNhcm91c2VsX19tZWRpYS13cmFwcGVyIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiA0Ni4yNSU7XG5cdFx0XHRcdFx0PiAqIHtcblx0XHRcdFx0XHRcdHRvcDogLTUlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdCAgICBcdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdD4gKiB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHQgICAgdG9wOiAwO1xuXHRcdFx0XHQgICAgbGVmdDogMDtcblx0XHRcdFx0ICAgIHdpZHRoOiAxMDAlO1xuXHRcdFx0XHQgICAgaGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHQgICAgPiB2aWRlbyB7XG5cdFx0XHQgICAgXHR6LWluZGV4OiAyO1xuXHRcdFx0ICAgIFx0KyBpbWcge1xuXHRcdFx0ICAgIFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0ICAgIFx0fVxuXHRcdFx0ICAgIH1cblx0XHRcdCAgICA+IGltZyB7XG5cdFx0XHQgICAgXHR6LWluZGV4OiAxO1xuXHRcdFx0ICAgIH1cblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAzNXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHQud2lkZS1jYXJvdXNlbF9fbWVkaWEtd3JhcHBlciB7XG5cdFx0XHRcdD4gdmlkZW8ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji53aWRlLWNhcm91c2VsX193cmFwcGVyLS1hbHQgLndpZGUtY2Fyb3VzZWwge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHQub3JiaXQtc2xpZGUgPiAucm93ID4gLmNvbHVtbnM6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQud2lkZS1jYXJvdXNlbF9fY29udGVudCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogLTU3cHg7XG5cdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0ICAgIHotaW5kZXg6IDM7XG5cdCAgICBwYWRkaW5nOiAxM3B4IDQ0cHg7XG5cdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQgICAgXHRsZWZ0OiAtMTBweDtcblx0ICAgIH1cblx0ICAgIHAge1xuXHRcdCAgICBmb250LXNpemU6IDE2cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdCAgICBcdHBhZGRpbmc6IDE1cHggMjJweCAwIDIycHg7XG5cdCAgICBcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0ICAgIHAge1xuXHRcdFx0ICAgIGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdCAgICBsaW5lLWhlaWdodDogMTlweDtcblx0XHRcdH1cblx0ICAgIH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdCYud2lkZS1jYXJvdXNlbF9fd3JhcHBlci0tYWx0IHtcblx0XHRcdC53aWRlLWNhcm91c2VsX19jb250ZW50IHtcblx0XHRcdFx0bGVmdDogMTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0PiAuY29sdW1uczpmaXJzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDIycHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMnB4O1xuXHRcdH1cblx0XHRoMyB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdH1cblx0fVxufSIsIi50aHJlZS1jb2wtZmFjdHMge1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcblx0cGFkZGluZy10b3A6IDEwLjMlO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0I21haW4tY29udGVudCAmLnJvdyB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMjRweDtcbiAgICBcdFx0bWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBcdFx0XHRtYXJnaW4tbGVmdDogMDtcbiAgICBcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG4gICAgXHRcdH1cbiAgICBcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0Ly9iYWNrZ3JvdW5kLXNpemU6IDQyNnB4IGF1dG87XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTklO1xuXHRcdCsgLnJvdyxcblx0XHQrIC5kdS1ob21lX19xdW90ZXNfX3dyYXBwZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogNjBweDtcblx0XHR9XG5cdH1cblx0QG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMzVweDtcblx0fVxuXHQuZHUtaG9tZSAjbWFpbi1jb250ZW50ICYucm93IHtcblx0XHRtYXJnaW4tdG9wOiA2MHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0bWFyZ2luLXRvcDogMzNweDtcblx0XHR9XG5cdH1cblx0LnNob3ctZm9yLXNtYWxsLW9ubHkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcblx0fVxuXHQudGhyZWUtY29sLWZhY3RzX19pbWcge1xuXHRcdC8vdHJhbnNpdGlvbjogcGFkZGluZyAuM3MgZWFzZTtcblx0XHQmLmlzLXN0dWNrIHtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHQvL3BhZGRpbmctdG9wOiA2MHB4O1xuXHRcdH1cblx0XHRpbWcge1xuXHRcdFx0Ly9tYXJnaW4tdG9wOiAxMTBweDtcblx0XHR9XG5cdH1cblx0PiAudGhyZWUtY29sLWZhY3RzX19pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAzMDBweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDIzMHB4O1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0byA2MHB4O1xuXHRcdFx0fVxuXHRcdFx0Jixcblx0XHRcdC5kdS1ob21lICNtYWluLWNvbnRlbnQgJiB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGxpbmUtZm9udDtcblx0XHRcdH1cblx0XHRcdGNvbG9yOiAjMDg2NTdkO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdGZvbnQtc2l6ZTogNDNweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA1OXB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzJweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQ0cHg7XG5cdFx0XHR9XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRmb250LXNpemU6IDk1cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA5NXB4O1xuXHRcdFx0XHRjb2xvcjogIzAwNzJiYztcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiA3MXB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA3MXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Jixcblx0XHRcdFx0LmR1LWhvbWUgI21haW4tY29udGVudCAmIHtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJGJyZXZlLWRpc3BsYXk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0KyAudGhyZWUtY29sLWZhY3RzX19pdGVtIHtcblx0XHRcdHAge1xuXHRcdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRcdGNvbG9yOiAjMDg2NTdkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQrIC50aHJlZS1jb2wtZmFjdHNfX2l0ZW0ge1xuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICMwMDc0NmI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0cGFkZGluZy10b3A6IDI2cHg7XG5cdFx0fVxuXHR9XG59IiwiQG1lZGlhIHNjcmVlbiB7XG5cdFxuXHQuc3dhcHBpbmctaW1nLWZlYXR1cmUge1xuXHRcdC5kdS1ob21lICNtYWluLWNvbnRlbnQgJi5yb3cge1xuXHRcdFx0bWFyZ2luLXRvcDogNjBweDtcblx0XHR9XG5cdFx0LnN3YXBwaW5nLWltZy1mZWF0dXJlX19jb250ZW50IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0cGFkZGluZzogMjRweCA0NHB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDE0cHggMjJweCAxNXB4O1xuXHRcdFx0fVxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0ICAgIHRvcDogLTc2cHg7XG5cdFx0XHQgICAgbGVmdDogLTkwcHg7XG5cdFx0XHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0bGVmdDogLTY4cHg7XG5cdFx0XHRcdH1cblx0XHRcdCAgICBtYXJnaW4tcmlnaHQ6IC0yM3B4O1xuXHRcdFx0ICAgIHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cdFx0XHRwIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMzJweDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zd2FwcGluZy1pbWctZmVhdHVyZV9faW1hZ2Uge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvYXJyb3ctcGF0dGVybi5wbmcnKSByZXBlYXQgc2Nyb2xsIDAgMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0dG9wOiAtNDBweDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogNDBweDtcblx0XHRcdFx0ei1pbmRleDogMDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0dG9wOiAtMzZweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDM2cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdG1hcmdpbi10b3A6IDY0cHg7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQjbWFpbi1jb250ZW50ICYucm93IHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0XHQuZHUtaG9tZSAmIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuc3dhcHBpbmctaW1nLWZlYXR1cmUtLWFsdCB7XG5cdFx0XHQuc3dhcHBpbmctaW1nLWZlYXR1cmVfX2ltYWdlIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNDFweDtcblx0XHRcdH1cblx0XHRcdC5zd2FwcGluZy1pbWctZmVhdHVyZV9fY29udGVudCB7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0XHRyaWdodDogLTkwcHg7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdFx0XHRyaWdodDogLTY4cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTM4cHg7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAyOXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn0iLCIucXVvdGVzLW1vZHVsZV9fd3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Jixcblx0KyAucm93IHtcblx0XHRtYXJnaW4tdG9wOiAxNTBweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdG1hcmdpbi10b3A6IDYwcHg7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Fycm93LXBhdHRlcm4ucG5nJykgcmVwZWF0IHNjcm9sbCAwIDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bWFyZ2luLXRvcDogLTE3NXB4O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAzNTBweDtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHQvKkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHR0b3A6IC0zMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9Ki9cblx0XHR9XG5cdH1cbn1cbi5xdW90ZXMtbW9kdWxlIHtcblxuXHQub3JiaXQtc2xpZGUge1xuXHRcdD4gLnJvdyB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdD4gLmNvbHVtbnMge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5xdW90ZXMtbW9kdWxlX19jb250ZW50IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLTJjO1xuXHRcdHBhZGRpbmc6IDAgMjUwcHggMCA1MHB4O1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtaW4taGVpZ2h0OiA0NDVweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAzNDVweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMDBweDtcblx0XHRcdHBhZGRpbmctbGVmdDogMjVweDsgXG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuXHRcdFx0cGFkZGluZzogNTRweCAyNXB4O1xuXHRcdH1cblx0XHRibG9ja3F1b3RlIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHAge1xuXHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkYnJldmUtZGlzcGxheSAhaW1wb3J0YW50O1xuXHRcdFx0XHRmb250LXNpemU6IDM4cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA1MXB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDI4cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM4cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzZweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDIzcHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI5cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGNpdGUge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0XHRcdHNtYWxsIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5xdW90ZXMtbW9kdWxlX19pbWFnZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGxlZnQ6IC0yMDhweDtcblx0XHRtYXJnaW4tcmlnaHQ6IC0yMDBweDtcblx0XHR0b3A6IDYwcHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRsZWZ0OiAtMTU4cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC0xNTBweDtcblx0XHRcdHRvcDogNDBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcblx0XHQub3JiaXQtY29udGFpbmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3ItMmM7XG5cdFx0XHQvLy5vcmJpdC1zbGlkZSB7XG5cdFx0XHQvL1x0d2lkdGg6IDE3MiUgIWltcG9ydGFudDtcblx0XHRcdC8vfVxuXHRcdH1cblx0fVxufSIsImhlYWRlciB7XG5cdC5oZXJvLW1lZGlhIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0PiAqIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWluLWhlaWdodDogMTAwJTtcblx0XHRcdG1pbi13aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiAxMzU2cHgpIHtcblx0XHRcdFx0bWluLWhlaWdodDogMDtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0d2lkdGg6IDEzNTZweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC02NzhweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHR3aWR0aDogMTIzMnB4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTYxNnB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0XHRcdHdpZHRoOiAxMDg0cHg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtNTQycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdD4gdmlkZW8gKyBpbWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHR9XG5cdFx0PiB2aWRlbyB7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlO1xuXHRcdFx0Ji5oZXJvLXZpZGVvLS12aXNpYmxlIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHQvKj4gdmlkZW8gKyBpbWcge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fSovXG5cdFx0fVxuXHR9XG5cdC5oZXJvLW1lZGlhX19jYXB0aW9uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym90dG9tOiAxMTNweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcblx0XHRcdHJpZ2h0OiA1NXB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRyaWdodDogMjJweDtcblx0XHR9XG5cdFx0LmNvbHVtbnMge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cdFx0Lmhlcm8tbWVkaWFfX2NhcHRpb25fX3RleHQge1xuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxcyBlYXNlO1xuXHRcdFx0PiBhIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cGFkZGluZzogOXB4IDU2cHggMTNweCAxNnB4O1xuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LCAyMywgMzAsIDAuOCk7XG5cdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRsZWZ0OiB1bnNldDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQsIDIzLCAzMCwgMC42KTtcblx0XHRcdHdpZHRoOiAyODNweDtcblx0XHRcdHAge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0fVxuXHRcdFx0Lmhlcm8tbWVkaWFfX2NhcHRpb25fX3RvZ2dsZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGJvdHRvbTogOHB4O1xuXHRcdFx0XHRyaWdodDogMTFweDtcblx0XHRcdFx0Lmljb24tZHUtbWludXMsXG5cdFx0XHRcdC5kdS1pY29uLW1pbnVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFtjbGFzcyo9XCJpY29uLWR1XCJdLFxuXHRcdFx0XHRbY2xhc3MqPVwiZHUtaWNvblwiXSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmNhcHRpb24tZXhwYW5kZWQge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdCAgICBsZWZ0OiAyMHB4O1xuXHRcdFx0fVxuXHRcdFx0Lmhlcm8tbWVkaWFfX2NhcHRpb25fX3RleHQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0LCAyMywgMzAsIDAuOSk7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTU0cHg7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5oZXJvLW1lZGlhX19jYXB0aW9uX190b2dnbGVyIHtcblx0XHRcdFx0Lmljb24tZHUtcGx1cyxcblx0XHRcdFx0LmR1LWljb24tcGx1cyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQuaWNvbi1kdS1taW51cyxcblx0XHRcdFx0LmR1LWljb24tbWludXMge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiQG1lZGlhIHByaW50IHtcblx0LypAcGFnZSB7XG5cdCAgbWFyZ2luOiAxY20gMmNtIDJjbTtcblx0fSovXG5cdGhlYWRlciB7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdC5oZXJvLW1lZGlhLFxuXHRcdC5oZXJvLW1lZGlhX19jYXB0aW9uLFxuXHRcdC51dGlsaXR5LW1lbnUsXG5cdFx0I21haW4tbWVudSxcblx0XHQjc2VhcmNoLXRvZ2dsZXIsXG5cdFx0I21haW4tbWVudS10b2dnbGVyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdC5zdGlja3kuaXMtc3R1Y2sge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0XHQjbWFpbi1tZW51LXdyYXAgYS5sb2dvIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0I21haW4tY29udGVudCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdC5wdWxsLXVwIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDs7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdGgxIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogODBweDtcblx0XHRcdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuaW50cm8ge1xuXHRcdCYubGFyZ2UtOCB7XG5cdFx0XHRmbGV4OiAwIDAgMTAwJTtcbiAgICBcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQmLmxhcmdlLW9mZnNldC0xIHtcblx0XHQgICAgbWFyZ2luLWxlZnQ6IDA7XG5cdFx0fVxuXHR9XG5cdGJsb2NrcXVvdGUge1xuXHRcdGJvcmRlcjogMCBub25lO1xuXHR9XG5cdC5ibG9ja3F1b3RlX19iYWNrZ3JvdW5kIHtcblx0XHQubGFyZ2Utb2Zmc2V0LTIge1xuXHRcdCAgICBtYXJnaW4tbGVmdDogMDtcblx0XHR9XG5cdH1cblx0LmFjYWRlbWljLWZpbHRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQuYWNhZGVtaWMtY2FyZHMtbW9kdWxlIHtcblx0XHQuYXAtaXRlbSB7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0Ly9mbG9hdDogbm9uZTtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWluLXdpZHRoOiA1MCU7XG5cdFx0XHRwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdFx0XHQmLmFwLWl0ZW0tLW9wZW4ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWluLXdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdFx0LmNhcmRzLXByb2dyYW1fX2NvbnRlbnQge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdFx0XHRwYWRkaW5nOiA1cHggMCAwIDA7XG5cdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDNweDtcblx0XHRcdFx0aDIucHJvZ3JhbS10aXRsZSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcbiAgICBcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5hY2FkZW1pYy1jYXJkIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDRweDtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5kZWdyZWVzIHtcblx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0fVxuXHRcdFx0Ji5hcC1sZXR0ZXIsXG5cdFx0XHQmLmFwLXNjaG9vbCxcblx0XHRcdC5tb3JlLWJ1dHRvbiB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQuZmx5b3V0IHtcblx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG5cdFx0XHRcdC5mbHlvdXQtY29udGVudF9faG9sZGVyIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0XHRcdFx0PiAuY29sdW1ucyB7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5jYXJkcy1tb2R1bGVfX2J1dHRvbnMge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmpzLWZpbHRlci1jYXJkcyB7XG5cdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0fVxuXHR9XG5cblx0LmNvcHktbW9kdWxlIHtcblx0XHR1bCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0XHRcdGxpIHtcblx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuY29weS1tb2R1bGUtLWltYWdlLWFsdCB7XG5cdFx0XHQubGFyZ2UtOSxcblx0XHRcdC5sYXJnZS0zIHtcblx0XHRcdFx0ZmxleDogMCAwIDUwJTtcbiAgICBcdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdH1cblx0XHRcdC5sYXJnZS0zIHtcblx0XHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuICAgIC5pbmZvcm1hdGlvbi1vdmVydmlldy1tb2R1bGUge1xuICAgICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgLmZhY3QgLnF1aWNrLWZhY3QtbW9kdWxlX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyOHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDoxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZhY3RTdGF0aXN0aWMge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTAlIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVsLmxpc3Qtb2YtZmFjdHMge1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OmF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICB9XG4gICAgfVxuXHQucmVsYXRlZC1zdG9yaWVzLW1vZHVsZSB7XG5cdFx0Lm9yYml0LWNvbnRhaW5lciB7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXHRcdC5yZWxhdGVkLXN0b3JpZXMtbW9kdWxlX19zdG9yeSB7XG4gICAgXHRcdHBhZ2UtYnJlYWstaW5zaWRlOmF2b2lkO1xuXHRcdH1cblx0XHQucmVsYXRlZC1zdG9yaWVzLW1vZHVsZV9fc3RvcnlfX2NvbnRlbnQge1xuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdC5yZWFkLW1vcmUge1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkY3RhLWZvbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnN0b3JpZXMtbW9kdWxlIHtcblx0XHQ+IC5yb3cge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXHRcdC5zdG9yaWVzLW1vZHVsZV9fc3Rvcnkge1xuXHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmNhcmRzLW1vZHVsZSB7XG5cdFx0PiAucm93IHtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHQ+IC5jb2x1bW5zIC5jYXJkcy1tb2R1bGVfX2NvbnRlbnQge1xuXHRcdFx0XHQvL3dpZHRoOiAyNTBweDtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRcdGg0IHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuYWNjb3JkaW9uIHtcblx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdHBhZGRpbmc6IDAgMCAxMHB4IDA7XG5cdFx0fVxuXHRcdC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXHQuZmVhdHVyZS12aWRlby1tb2R1bGUge1xuXHRcdC5ibG9ja3F1b3RlX19iYWNrZ3JvdW5kIHtcblx0XHRcdC5sYXJnZS1vZmZzZXQtNyB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZmVhdHVyZS12aWRlby1tb2R1bGVfX3ZpZGVvLXdyYXBwZXIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0YS52aWRlby10b2dnbGUge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHQudmlkZW8tdG9nZ2xlX190ZXh0IHtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0Ym90dG9tOiAyOHB4O1xuXHRcdFx0XHRcdGxlZnQ6IDhweDtcblx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0PiBbY2xhc3MqPVwiaWNvbi1kdVwiXSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDYycHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHR0b3A6IDEwcHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5pY29uLWR1LXBhdXNlLWNpcmNsZWQge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHZpZGVvIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmxhcmdlLWltYWdlLW1vZHVsZSAubGFyZ2UtaW1hZ2UtbW9kdWxlX190b2dnbGUge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgXG5cdH1cblx0I2V2ZW50cy1saXN0aW5nX19zaG93LW1vcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0LmpzICNldmVudHMtbGlzdGluZyA+IC5jb2x1bW5zOm50aC1jaGlsZCgxbis3KSAuZXZlbnRzLWxpc3RpbmdfX2l0ZW0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdCNkdS1hbGVydCB7XG5cdFx0LmR1LWFsZXJ0X19hY3Rpb24tYnV0dG9uIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCNkdS1hbGVydF9fY29udGVudCB7XG5cdFx0ICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0ICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTBlMGUwO1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdH1cblx0fVxuICAgIC5zY2hvb2wtbGlzdCAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgICAjc2Nob29sLWxpc3QtY29udGFpbmVyIHtcbiAgICBcdC5zY2hvb2wtbmFtZSB7XG4gICAgXHRcdG1heC13aWR0aDogbm9uZTtcbiAgICBcdFx0ZmxleDogMCAwIDEwMCU7XG4gICAgXHR9XG4gICAgfVxuXHRoMSwgaDIsIGgzLCBoNCwgaDUge1xuXHRcdHBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7IFxuICAgIFx0cGFnZS1icmVhay1pbnNpZGU6YXZvaWQ7XG5cdH1cblx0dWwsIG9sLCBpbWcsIHAsIGJsb2NrcXVvdGUsIHRhYmxlIHtcblx0XHRwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG5cdH1cblx0LnNlYXJjaC1yZXN1bHRzIHtcblx0XHRwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcblx0fVxuXG5cdC5pbWctd3JhcHBlcl9fY29udGVudCB7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR9XG5cdC5jb250YWN0cy1tb2R1bGUge1xuXHRcdC8qJjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHR9Ki9cblx0XHQuY29udGFjdHMtbW9kdWxlX19jb250ZW50IHtcblx0XHRcdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuICAuY29udGFjdC1zaW5nbGUtbW9kdWxlIHtcbiAgICAuY29udGFjdC1zaW5nbGUtbW9kdWxlX292ZXJsYXkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmNvbHVtbnMge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5jb250YWN0LXNpbmdsZS1tb2R1bGVfX2NvbnRlbnQge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIFxuICAgIC5zb2NpYWwtbWVkaWEge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBsZWZ0O1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogbGVmdDtcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBsZWZ0O1xuICAgICAgYWxpZ24taXRlbXM6IGxlZnQ7XG5cbiAgICAgIGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgLyogVGhlc2UgYXJlIHRlY2huaWNhbGx5IHRoZSBzYW1lLCBidXQgdXNlIGJvdGggKi9cbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICAgIC8qIFRoaXMgaXMgdGhlIGRhbmdlcm91cyBvbmUgaW4gV2ViS2l0LCBhcyBpdCBicmVha3MgdGhpbmdzIHdoZXJldmVyICovXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgLyogSW5zdGVhZCB1c2UgdGhpcyBub24tc3RhbmRhcmQgb25lOiAqL1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gICAgICAgIC8qIEFkZHMgYSBoeXBoZW4gd2hlcmUgdGhlIHdvcmQgYnJlYWtzLCBpZiBzdXBwb3J0ZWQgKE5vIEJsaW5rKSAqL1xuICAgICAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgICAgICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAgICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgICAgIGh5cGhlbnM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHVsLnR3by1jb2wge1xuICBcdGxpIHtcbiAgXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBcdFx0bGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG4gIFx0fVxuICB9XG5cdGZvb3RlciB7XG5cdFx0LmNvcHlyaWdodCB7XG5cdFx0XHQvL2Rpc3BsYXk6IG5vbmU7XG5cdFx0XHQvL3Bvc2l0aW9uOiBmaXhlZDtcblx0XHRcdC8vYm90dG9tOiAwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiA1MHB4O1xuXHRcdFx0Ly93aWR0aDogMTAwJTtcblx0XHRcdGJvcmRlci10b3A6IDZweCBzb2xpZCAkbmV1dHJhbC1jb2xvci0xO1xuXHRcdH1cblx0fVxuXG5cblxuXHQvLyBESVNQTEFZOkJMT0NLIC8gRElTUExBWTpOT05FXG5cdC5zdWItbWVudS13cmFwLFxuXHQuZm9sbG93LXVzLFxuXHRmb290ZXIgLmJnLWRhcmstZ3JheSxcblx0LmpzIC5zaG93LWhpZGUtdG9nZ2xlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC5qcyAuc2hvdy1oaWRlX19jb250ZW50cyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXG5cblxuXG5cdC8vIEFETUlTU0lPTiBTVEVQU1xuXHQuYWRtaXNzaW9uLXN0ZXBzIHtcblx0XHQuYWRtaXNzaW9uLXN0ZXBzX19uYXYge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LmxhcmdlLW9mZnNldC00IHtcbiAgICBcdFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgXHRcdG1heC13aWR0aDogbm9uZTtcbiAgICBcdFx0ZmxleDogMCAwIDEwMCU7XG4gICAgXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHR9XG5cdFx0LmFkbWlzc2lvbi1zdGVwc19fcHJpbnQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LmFkbWlzc2lvbi1zdGVwc19fc2VjdGlvbi1uYW1lIHtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuICAgIFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXHRcdC50YWJzLXBhbmVsW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG5cdFx0ICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdC50YWJzLnZlcnRpY2FsIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdD4gLnRhYnMtY29udGVudCB7XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDtcblx0XHRcdC50YWJzLWNvbnRlbnQge1xuXHRcdFx0XHRib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0PiAudGFicy1wYW5lbCA+IC5yb3cgPiAubGFyZ2UtOSB7XG5cdFx0XHRcdG1heC13aWR0aDogbm9uZTtcbiAgICBcdFx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnN1Yi1zdGVwLWNvbnRlbnQge1xuXHRcdFx0bWluLWhlaWdodDogMCAhaW1wb3J0YW50O1x0XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDtcblx0XHRcdGg0IHtcblx0XHRcdFx0cGFnZS1icmVhay1hZnRlcjphdm9pZDtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMzZweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdfQ== */
