@charset "UTF-8";
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 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.
 */
/* Document
   ========================================================================== */
/* 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-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

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

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

/**
 * 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 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * 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; }

/**
 * 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.
 */
/**
 * 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
   ========================================================================== */
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  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 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

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

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

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

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

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

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

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

/* 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; }

/* Reboot */
html {
  box-sizing: border-box; }

*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: none;
  -webkit-touch-callout: none;
  -webkit-font-smoothing: antialiased; }

@-moz-viewport {
  width: device-width; }

@-ms-viewport {
  width: device-width; }

@-o-viewport {
  width: device-width; }

@-webkit-viewport {
  width: device-width; }

@viewport {
  width: device-width; }

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  font-size: 16px; }
  @media (min-width: 481px) {
    html {
      font-size: 16px; } }
  @media (min-width: 768px) {
    html {
      font-size: 16px; } }
  @media (min-width: 970px) {
    html {
      font-size: 16px; } }
  @media (min-width: 1200px) {
    html {
      font-size: 16px; } }

body {
  font-family: "Lato", helvetica, arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #3a3a3a;
  background-color: #fff;
  text-rendering: optimizeLegibility; }

[tabindex="-1"]:focus {
  outline: none !important; }

h1, h2, h3, h4, h5, h6, h7, h8 {
  display: block;
  margin-top: 0;
  margin-bottom: .5rem; }

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #757575; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0; }

dt {
  font-weight: bold; }

dd {
  margin-bottom: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

a {
  color: #3a3a3a;
  text-decoration: none; }
  a:focus, a:hover {
    color: #423fe1;
    text-decoration: none; }

pre {
  margin-top: 0;
  margin-bottom: 1rem; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle; }

[role="button"] {
  cursor: pointer; }

a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
  touch-action: manipulation; }

table {
  background-color: transparent; }

th {
  text-align: left; }

label {
  display: inline-block;
  margin-bottom: .5rem; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
textarea {
  font-family: "Lato", helvetica, arial, sans-serif;
  margin: 0;
  line-height: inherit;
  border-radius: 0; }

textarea {
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: 1.5;
  line-height: inherit; }

input[type="search"] {
  box-sizing: inherit;
  -webkit-appearance: none; }

output {
  display: inline-block; }

[hidden] {
  display: none !important; }

body {
  content: "xs"; }

@media (min-width: 481px) {
  body {
    content: "sm"; } }

@media (min-width: 768px) {
  body {
    content: "md"; } }

@media (min-width: 970px) {
  body {
    content: "lg"; } }

@media (min-width: 1200px) {
  body {
    content: "xl"; } }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: normal;
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-regular-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-regular-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-regular-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/lato/lato-regular-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-regular-webfont.svg#lato_regular") format("svg"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 300;
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-light-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-light-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-light-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/lato/lato-light-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-light-webfont.svg#lato_light") format("svg"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 100;
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-hairline-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-hairline-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-hairline-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/lato/lato-hairline-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-hairline-webfont.svg#lato_hairline") format("svg"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: bold;
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-bold-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-bold-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-bold-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/lato/lato-bold-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-bold-webfont.svg#lato_bold") format("svg"); }

@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: normal;
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-italic-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-italic-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-italic-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/lato/lato-italic-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-italic-webfont.svg#lato_italic") format("svg"); }

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: normal;
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-regular-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-regular-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-regular-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-regular-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-regular-webfont.svg#oswald_regular") format("svg"); }

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 100;
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-light-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-light-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-light-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-light-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-light-webfont.svg#oswald_light") format("svg"); }

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 700;
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-bold-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-bold-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-bold-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-bold-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-bold-webfont.svg#oswald_bold") format("svg"); }

.cse-bg-darker {
  color: #999;
  background-color: #3a3a3a; }

.cse-bg-dark {
  color: #999;
  background-color: #535353; }

.cse-bg-light {
  background-color: #757575; }

.cse-bg-lighter {
  background-color: #999; }

.cse-bg-lightest {
  background-color: #ccc; }


.cse-bg-primary {
  color: #fff;
  background-color: #21850f; }


.cse-color-black {
  color: #3a3a3a; }


.cse-bg-black {
  color: #fff;
  background-color: #3a3a3a; }

a.cse-bg-black:focus, a.cse-bg-black:hover {
  background-color: #212121; }


.cse-color-gray-charcoal {
  color: #535353; }


.cse-bg-gray-charcoal {
  color: #fff;
  background-color: #535353; }

a.cse-bg-gray-charcoal:focus, a.cse-bg-gray-charcoal:hover {
  background-color: #3a3a3a; }


.cse-color-gray-iron {
  color: #757575; }


.cse-bg-gray-iron {
  color: #fff;
  background-color: #757575; }

a.cse-bg-gray-iron:focus, a.cse-bg-gray-iron:hover {
  background-color: #5c5c5c; }


.cse-color-gray-steel {
  color: #999; }


.cse-bg-gray-steel {
  color: #fff;
  background-color: #999; }

a.cse-bg-gray-steel:focus, a.cse-bg-gray-steel:hover {
  background-color: gray; }


.cse-color-gray-silver {
  color: #ccc; }


.cse-bg-gray-silver {
  color: #fff;
  background-color: #ccc; }

a.cse-bg-gray-silver:focus, a.cse-bg-gray-silver:hover {
  background-color: #b3b3b3; }


.cse-color-gray-fog {
  color: #efefef; }


.cse-bg-gray-fog {
  color: #fff;
  background-color: #efefef; }

a.cse-bg-gray-fog:focus, a.cse-bg-gray-fog:hover {
  background-color: #d6d6d6; }


.cse-color-blue {
  color: #423fe1; }


.cse-bg-blue {
  color: #fff;
  background-color: #423fe1; }

a.cse-bg-blue:focus, a.cse-bg-blue:hover {
  background-color: #2320cd; }


.cse-color-pink {
  color: #f23e7b; }


.cse-bg-pink {
  color: #fff;
  background-color: #f23e7b; }

a.cse-bg-pink:focus, a.cse-bg-pink:hover {
  background-color: #ed105b; }


.cse-color-turquoise {
  color: #52c0c4; }


.cse-bg-turquoise {
  color: #fff;
  background-color: #52c0c4; }

a.cse-bg-turquoise:focus, a.cse-bg-turquoise:hover {
  background-color: #3aa5a9; }


.cse-color-teal {
  color: #049fa4; }


.cse-bg-teal {
  color: #fff;
  background-color: #049fa4; }

a.cse-bg-teal:focus, a.cse-bg-teal:hover {
  background-color: #036f72; }


.cse-color-forest {
  color: #005700; }


.cse-bg-forest {
  color: #fff;
  background-color: #005700; }

a.cse-bg-forest:focus, a.cse-bg-forest:hover {
  background-color: #002400; }


.cse-color-lime {
  color: #5ab643; }


.cse-bg-lime {
  color: #fff;
  background-color: #5ab643; }

a.cse-bg-lime:focus, a.cse-bg-lime:hover {
  background-color: #489135; }


.cse-color-privacy-use-responsibily {
  color: #23b5e8; }


.cse-bg-privacy-use-responsibily {
  color: #fff;
  background-color: #23b5e8; }

a.cse-bg-privacy-use-responsibily:focus, a.cse-bg-privacy-use-responsibily:hover {
  background-color: #1496c4; }


.cse-color-privacy-caution {
  color: #ffa500; }


.cse-bg-privacy-caution {
  color: #fff;
  background-color: #ffa500; }

a.cse-bg-privacy-caution:focus, a.cse-bg-privacy-caution:hover {
  background-color: #cc8400; }


.cse-color-privacy-not-recommended {
  color: #f25555; }


.cse-bg-privacy-not-recommended {
  color: #fff;
  background-color: #f25555; }

a.cse-bg-privacy-not-recommended:focus, a.cse-bg-privacy-not-recommended:hover {
  background-color: #ee2626; }


.cse-color-blush {
  color: #fef5f1; }


.cse-bg-blush {
  color: #fff;
  background-color: #fef5f1; }

a.cse-bg-blush:focus, a.cse-bg-blush:hover {
  background-color: #fbd3c1; }


.cse-color-red {
  color: #f25555; }


.cse-bg-red {
  color: #fff;
  background-color: #f25555; }

a.cse-bg-red:focus, a.cse-bg-red:hover {
  background-color: #ee2626; }


.cse-color-maroon {
  color: #8c0b0b; }


.cse-bg-maroon {
  color: #fff;
  background-color: #8c0b0b; }

a.cse-bg-maroon:focus, a.cse-bg-maroon:hover {
  background-color: #5d0707; }


.cse-color-cream {
  color: #fffde6; }


.cse-bg-cream {
  color: #fff;
  background-color: #fffde6; }

a.cse-bg-cream:focus, a.cse-bg-cream:hover {
  background-color: #fff9b3; }


.cse-color-amber {
  color: #f5ab23; }


.cse-bg-amber {
  color: #fff;
  background-color: #f5ab23; }

a.cse-bg-amber:focus, a.cse-bg-amber:hover {
  background-color: #db910a; }


.cse-color-walnut {
  color: #633e00; }


.cse-bg-walnut {
  color: #fff;
  background-color: #633e00; }

a.cse-bg-walnut:focus, a.cse-bg-walnut:hover {
  background-color: #301e00; }


.cse-color-mint {
  color: #f8fff0; }


.cse-bg-mint {
  color: #fff;
  background-color: #f8fff0; }

a.cse-bg-mint:focus, a.cse-bg-mint:hover {
  background-color: #e0ffbd; }


.cse-color-white {
  color: #fff; }


.cse-bg-white {
  color: #fff;
  background-color: #fff; }

a.cse-bg-white:focus, a.cse-bg-white:hover {
  background-color: #e6e6e6; }


.cse-bg-gradient-purple {
  background: linear-gradient(90deg, #029c8e 0%, #7a66a9 100%); }

@supports (mix-blend-mode: lighten) {
  
  .cse-color-gradient-purple {
    position: relative;
    display: inline-block;
    font-weight: bold;
    color: #000;
    background: #fff;
    mix-blend-mode: multiply; }
    
    .cse-color-gradient-purple::before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      pointer-events: none;
      content: "";
      background: linear-gradient(90deg, #029c8e 0%, #7a66a9 100%); }
    
    .cse-color-gradient-purple::before {
      mix-blend-mode: screen; } }


.cse-bg-gradient-blue {
  background: linear-gradient(90deg, #10cc71 0%, #0091ad 100%); }

@supports (mix-blend-mode: lighten) {
  
  .cse-color-gradient-blue {
    position: relative;
    display: inline-block;
    font-weight: bold;
    color: #000;
    background: #fff;
    mix-blend-mode: multiply; }
    
    .cse-color-gradient-blue::before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      pointer-events: none;
      content: "";
      background: linear-gradient(90deg, #10cc71 0%, #0091ad 100%); }
    
    .cse-color-gradient-blue::before {
      mix-blend-mode: screen; } }

@font-face {
  font-family: "cs-global-icons";
  font-style: normal;
  font-weight: normal;
  src: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.eot");
  src: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.eot?#iefix") format("embedded-opentype"), url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.woff2") format("woff2"), url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.woff") format("woff"), url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.ttf") format("truetype"), url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.svg#cs-global-icons") format("svg"); }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "cs-global-icons";
    src: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.svg#cs-global-icons") format("svg"); } }

.icon-add::before, .icon-add-outline::before, .icon-add-rating-outline::before, .icon-alert::before, .icon-announcement::before, .icon-arrow-down::before, .icon-arrow-down-outline::before, .icon-arrow-left::before, .icon-arrow-left-double::before, .icon-arrow-right::before, .icon-arrow-right-outline::before, .icon-arrow-up::before, .icon-books::before, .icon-calendar::before, .icon-caret-down::before, .icon-caret-right::before, .icon-cc::before, .icon-checkbox-check::before, .icon-checkmark::before, .icon-circle-solid::before, .icon-clock::before, .icon-close::before, .icon-close-outline::before, .icon-coming-soon::before, .icon-communicate::before, .icon-creative-commons::before, .icon-dfd::before, .icon-dinner::before, .icon-download::before, .icon-download-solid::before, .icon-drag-drop::before, .icon-edit::before, .icon-email::before, .icon-emoji-error::before, .icon-emoji-neutral::before, .icon-emoji-success::before, .icon-facebook::before, .icon-facebook-outline::before, .icon-facebook-solid::before, .icon-family::before, .icon-family-home::before, .icon-filter::before, .icon-flag-outline::before, .icon-flag-solid::before, .icon-games::before, .icon-gift::before, .icon-google-outline::before, .icon-google-solid::before, .icon-heart-outline::before, .icon-heart-solid::before, .icon-info-outline::before, .icon-info-solid::before, .icon-instagram-outline::before, .icon-instagram-solid::before, .icon-laptop::before, .icon-launch::before, .icon-launch-solid::before, .icon-link::before, .icon-link-solid::before, .icon-linkedin::before, .icon-linkedin-outline::before, .icon-linkedin-solid::before, .icon-locked::before, .icon-logo-checkmark::before, .icon-make-a-copy::before, .icon-media::before, .icon-member::before, .icon-menu::before, .icon-minus::before, .icon-minus-outline::before, .icon-more::before, .icon-more-outline::before, .icon-music::before, .icon-pencil::before, .icon-pinterest::before, .icon-pinterest-outline::before, .icon-pinterest-solid::before, .icon-play::before, .icon-play-outline::before, .icon-play-solid::before, .icon-printer-outline::before, .icon-printer-solid::before, .icon-profile::before, .icon-save::before, .icon-search::before, .icon-select::before, .icon-settings::before, .icon-settings-outline::before, .icon-share::before, .icon-sign-out::before, .icon-smartphone::before, .icon-star-rating::before, .icon-subscribe-heart::before, .icon-support::before, .icon-tips::before, .icon-twitter::before, .icon-twitter-outline::before, .icon-twitter-solid::before, .icon-watch-video::before, .icon-whatsapp-solid::before, .icon-youtube::before, .icon-youtube-outline::before, .icon-youtube-solid::before {
  display: inline-block;
  font-family: "cs-global-icons";
  font-size: inherit;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: inherit;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  vertical-align: inherit;
  font-smoothing: antialiased; }

.icon-add::before {
  content: "\f100"; }

.icon-add-outline::before {
  content: "\f101"; }

.icon-add-rating-outline::before {
  content: "\f102"; }

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

.icon-announcement::before {
  content: "\f104"; }

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

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

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

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

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

.icon-arrow-right-outline::before {
  content: "\f10a"; }

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

.icon-books::before {
  content: "\f10c"; }

.icon-calendar::before {
  content: "\f10d"; }

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

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

.icon-cc::before {
  content: "\f110"; }

.icon-checkbox-check::before {
  content: "\f111"; }

.icon-checkmark::before {
  content: "\f112"; }

.icon-circle-solid::before {
  content: "\f113"; }

.icon-clock::before {
  content: "\f114"; }

.icon-close::before {
  content: "\f115"; }

.icon-close-outline::before {
  content: "\f116"; }

.icon-coming-soon::before {
  content: "\f117"; }

.icon-communicate::before {
  content: "\f118"; }

.icon-creative-commons::before {
  content: "\f119"; }

.icon-dfd::before {
  content: "\f11a"; }

.icon-dinner::before {
  content: "\f11b"; }

.icon-download::before {
  content: "\f11c"; }

.icon-download-solid::before {
  content: "\f11d"; }

.icon-drag-drop::before {
  content: "\f11e"; }

.icon-edit::before {
  content: "\f11f"; }

.icon-email::before {
  content: "\f120"; }

.icon-emoji-error::before {
  content: "\f121"; }

.icon-emoji-neutral::before {
  content: "\f122"; }

.icon-emoji-success::before {
  content: "\f123"; }

.icon-facebook::before {
  content: "\f124"; }

.icon-facebook-outline::before {
  content: "\f125"; }

.icon-facebook-solid::before {
  content: "\f126"; }

.icon-family::before {
  content: "\f127"; }

.icon-family-home::before {
  content: "\f128"; }

.icon-filter::before {
  content: "\f129"; }

.icon-flag-outline::before {
  content: "\f12a"; }

.icon-flag-solid::before {
  content: "\f12b"; }

.icon-games::before {
  content: "\f12c"; }

.icon-gift::before {
  content: "\f12d"; }

.icon-google-outline::before {
  content: "\f12e"; }

.icon-google-solid::before {
  content: "\f12f"; }

.icon-heart-outline::before {
  content: "\f130"; }

.icon-heart-solid::before {
  content: "\f131"; }

.icon-info-outline::before {
  content: "\f132"; }

.icon-info-solid::before {
  content: "\f133"; }

.icon-instagram-outline::before {
  content: "\f134"; }

.icon-instagram-solid::before {
  content: "\f135"; }

.icon-laptop::before {
  content: "\f136"; }

.icon-launch::before {
  content: "\f137"; }

.icon-launch-solid::before {
  content: "\f138"; }

.icon-link::before {
  content: "\f139"; }

.icon-link-solid::before {
  content: "\f13a"; }

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

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

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

.icon-locked::before {
  content: "\f13e"; }

.icon-logo-checkmark::before {
  content: "\f13f"; }

.icon-make-a-copy::before {
  content: "\f140"; }

.icon-media::before {
  content: "\f141"; }

.icon-member::before {
  content: "\f142"; }

.icon-menu::before {
  content: "\f143"; }

.icon-minus::before {
  content: "\f144"; }

.icon-minus-outline::before {
  content: "\f145"; }

.icon-more::before {
  content: "\f146"; }

.icon-more-outline::before {
  content: "\f147"; }

.icon-music::before {
  content: "\f148"; }

.icon-pencil::before {
  content: "\f149"; }

.icon-pinterest::before {
  content: "\f14a"; }

.icon-pinterest-outline::before {
  content: "\f14b"; }

.icon-pinterest-solid::before {
  content: "\f14c"; }

.icon-play::before {
  content: "\f14d"; }

.icon-play-outline::before {
  content: "\f14e"; }

.icon-play-solid::before {
  content: "\f14f"; }

.icon-printer-outline::before {
  content: "\f150"; }

.icon-printer-solid::before {
  content: "\f151"; }

.icon-profile::before {
  content: "\f152"; }

.icon-save::before {
  content: "\f153"; }

.icon-search::before {
  content: "\f154"; }

.icon-select::before {
  content: "\f155"; }

.icon-settings::before {
  content: "\f156"; }

.icon-settings-outline::before {
  content: "\f157"; }

.icon-share::before {
  content: "\f158"; }

.icon-sign-out::before {
  content: "\f159"; }

.icon-smartphone::before {
  content: "\f15a"; }

.icon-star-rating::before {
  content: "\f15b"; }

.icon-subscribe-heart::before {
  content: "\f15c"; }

.icon-support::before {
  content: "\f15d"; }

.icon-tips::before {
  content: "\f15e"; }

.icon-twitter::before {
  content: "\f15f"; }

.icon-twitter-outline::before {
  content: "\f160"; }

.icon-twitter-solid::before {
  content: "\f161"; }

.icon-watch-video::before {
  content: "\f162"; }

.icon-whatsapp-solid::before {
  content: "\f163"; }

.icon-youtube::before {
  content: "\f164"; }

.icon-youtube-outline::before {
  content: "\f165"; }

.icon-youtube-solid::before {
  content: "\f166"; }

.icon-cs-selection-blank::before, .icon-cs-selection-families::before, .icon-cs-selection-teens::before, .icon-logo-checkmark-green--avatar::before, .icon-logo-checkmark-green::before, .icon-logo-checkmark-selection::before, .icon-seal::before, .icon-seal-teens::before, .icon-star-exclusive::before {
  display: inline-block;
  font-family: "cs-global-icons";
  font-size: inherit;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: inherit;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  vertical-align: inherit;
  font-smoothing: antialiased;
  width: 1.5rem; }

.icon-cs-selection-blank::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/cs-selection-blank.svg"); }

.icon-cs-selection-families::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/cs-selection-families.svg"); }

.icon-cs-selection-teens::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/cs-selection-teens.svg"); }

.icon-logo-checkmark-green--avatar::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/logo-checkmark-green--avatar.svg"); }

.icon-logo-checkmark-green::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/logo-checkmark-green.svg"); }

.icon-logo-checkmark-selection::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/logo-checkmark-selection.svg"); }

.icon-seal::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/seal.svg"); }

.icon-seal-teens::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/seal-teens.svg"); }

.icon-star-exclusive::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/star-exclusive.svg"); }

img[data-icon="global/color/cs-selection-blank.svg"], img[data-icon="global/color/cs-selection-families.svg"], img[data-icon="global/color/cs-selection-teens.svg"], img[data-icon="global/color/logo-checkmark-green.svg"], img[data-icon="global/color/logo-checkmark-selection.svg"], img[data-icon="global/color/seal-teens.svg"], img[data-icon="global/color/seal.svg"], img[data-icon="global/color/star-exclusive.svg"] {
  width: 4.375rem;
  height: 4.375rem; }

.cse-shadow {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s; }
  .cse-shadow:hover {
    box-shadow: 0 2px 32px rgba(0, 0, 0, 0.1); }
  .cse-shadow-subtle {
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s; }
    .cse-shadow-subtle:hover {
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
  .cse-shadow-dark {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: box-shadow 0.2s; }
    .cse-shadow-dark:hover {
      box-shadow: 0 2px 32px rgba(0, 0, 0, 0.1); }
  .cse-shadow-float {
    box-shadow: 0 2px 32px rgba(0, 0, 0, 0.1); }
  .cse-shadow-focus {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3); }


.cse-m--base {
  margin: 1rem !important; }


.cse-my--base,
.cse-mt--base {
  margin-top: 1rem !important; }


.cse-mx--base,
.cse-mr--base {
  margin-right: 1rem !important; }


.cse-my--base,
.cse-mb--base {
  margin-bottom: 1rem !important; }


.cse-mx--base,
.cse-ml--base {
  margin-left: 1rem !important; }


.cse-m--tiny {
  margin: 0.5rem !important; }


.cse-my--tiny,
.cse-mt--tiny {
  margin-top: 0.5rem !important; }


.cse-mx--tiny,
.cse-mr--tiny {
  margin-right: 0.5rem !important; }


.cse-my--tiny,
.cse-mb--tiny {
  margin-bottom: 0.5rem !important; }


.cse-mx--tiny,
.cse-ml--tiny {
  margin-left: 0.5rem !important; }


.cse-m--medium {
  margin: 1.5rem !important; }


.cse-my--medium,
.cse-mt--medium {
  margin-top: 1.5rem !important; }


.cse-mx--medium,
.cse-mr--medium {
  margin-right: 1.5rem !important; }


.cse-my--medium,
.cse-mb--medium {
  margin-bottom: 1.5rem !important; }


.cse-mx--medium,
.cse-ml--medium {
  margin-left: 1.5rem !important; }


.cse-m--large {
  margin: 2rem !important; }


.cse-my--large,
.cse-mt--large {
  margin-top: 2rem !important; }


.cse-mx--large,
.cse-mr--large {
  margin-right: 2rem !important; }


.cse-my--large,
.cse-mb--large {
  margin-bottom: 2rem !important; }


.cse-mx--large,
.cse-ml--large {
  margin-left: 2rem !important; }


.cse-m--xlarge {
  margin: 3rem !important; }


.cse-my--xlarge,
.cse-mt--xlarge {
  margin-top: 3rem !important; }


.cse-mx--xlarge,
.cse-mr--xlarge {
  margin-right: 3rem !important; }


.cse-my--xlarge,
.cse-mb--xlarge {
  margin-bottom: 3rem !important; }


.cse-mx--xlarge,
.cse-ml--xlarge {
  margin-left: 3rem !important; }


.cse-m--huge {
  margin: 4rem !important; }


.cse-my--huge,
.cse-mt--huge {
  margin-top: 4rem !important; }


.cse-mx--huge,
.cse-mr--huge {
  margin-right: 4rem !important; }


.cse-my--huge,
.cse-mb--huge {
  margin-bottom: 4rem !important; }


.cse-mx--huge,
.cse-ml--huge {
  margin-left: 4rem !important; }


.cse-p--base {
  padding: 1rem !important; }


.cse-py--base,
.cse-pt--base {
  padding-top: 1rem !important; }


.cse-px--base,
.cse-pr--base {
  padding-right: 1rem !important; }


.cse-py--base,
.cse-pb--base {
  padding-bottom: 1rem !important; }


.cse-px--base,
.cse-pl--base {
  padding-left: 1rem !important; }


.cse-p--tiny {
  padding: 0.5rem !important; }


.cse-py--tiny,
.cse-pt--tiny {
  padding-top: 0.5rem !important; }


.cse-px--tiny,
.cse-pr--tiny {
  padding-right: 0.5rem !important; }


.cse-py--tiny,
.cse-pb--tiny {
  padding-bottom: 0.5rem !important; }


.cse-px--tiny,
.cse-pl--tiny {
  padding-left: 0.5rem !important; }


.cse-p--medium {
  padding: 1.5rem !important; }


.cse-py--medium,
.cse-pt--medium {
  padding-top: 1.5rem !important; }


.cse-px--medium,
.cse-pr--medium {
  padding-right: 1.5rem !important; }


.cse-py--medium,
.cse-pb--medium {
  padding-bottom: 1.5rem !important; }


.cse-px--medium,
.cse-pl--medium {
  padding-left: 1.5rem !important; }


.cse-p--large {
  padding: 2rem !important; }


.cse-py--large,
.cse-pt--large {
  padding-top: 2rem !important; }


.cse-px--large,
.cse-pr--large {
  padding-right: 2rem !important; }


.cse-py--large,
.cse-pb--large {
  padding-bottom: 2rem !important; }


.cse-px--large,
.cse-pl--large {
  padding-left: 2rem !important; }


.cse-p--xlarge {
  padding: 3rem !important; }


.cse-py--xlarge,
.cse-pt--xlarge {
  padding-top: 3rem !important; }


.cse-px--xlarge,
.cse-pr--xlarge {
  padding-right: 3rem !important; }


.cse-py--xlarge,
.cse-pb--xlarge {
  padding-bottom: 3rem !important; }


.cse-px--xlarge,
.cse-pl--xlarge {
  padding-left: 3rem !important; }


.cse-p--huge {
  padding: 4rem !important; }


.cse-py--huge,
.cse-pt--huge {
  padding-top: 4rem !important; }


.cse-px--huge,
.cse-pr--huge {
  padding-right: 4rem !important; }


.cse-py--huge,
.cse-pb--huge {
  padding-bottom: 4rem !important; }


.cse-px--huge,
.cse-pl--huge {
  padding-left: 4rem !important; }


.cse-m--base {
  margin: 1rem !important; }


.cse-my--base,
.cse-mt--base {
  margin-top: 1rem !important; }


.cse-mx--base,
.cse-mr--base {
  margin-right: 1rem !important; }


.cse-my--base,
.cse-mb--base {
  margin-bottom: 1rem !important; }


.cse-mx--base,
.cse-ml--base {
  margin-left: 1rem !important; }


.cse-m--tiny {
  margin: 0.5rem !important; }


.cse-my--tiny,
.cse-mt--tiny {
  margin-top: 0.5rem !important; }


.cse-mx--tiny,
.cse-mr--tiny {
  margin-right: 0.5rem !important; }


.cse-my--tiny,
.cse-mb--tiny {
  margin-bottom: 0.5rem !important; }


.cse-mx--tiny,
.cse-ml--tiny {
  margin-left: 0.5rem !important; }


.cse-m--medium {
  margin: 1.5rem !important; }


.cse-my--medium,
.cse-mt--medium {
  margin-top: 1.5rem !important; }


.cse-mx--medium,
.cse-mr--medium {
  margin-right: 1.5rem !important; }


.cse-my--medium,
.cse-mb--medium {
  margin-bottom: 1.5rem !important; }


.cse-mx--medium,
.cse-ml--medium {
  margin-left: 1.5rem !important; }


.cse-m--large {
  margin: 2rem !important; }


.cse-my--large,
.cse-mt--large {
  margin-top: 2rem !important; }


.cse-mx--large,
.cse-mr--large {
  margin-right: 2rem !important; }


.cse-my--large,
.cse-mb--large {
  margin-bottom: 2rem !important; }


.cse-mx--large,
.cse-ml--large {
  margin-left: 2rem !important; }


.cse-m--xlarge {
  margin: 3rem !important; }


.cse-my--xlarge,
.cse-mt--xlarge {
  margin-top: 3rem !important; }


.cse-mx--xlarge,
.cse-mr--xlarge {
  margin-right: 3rem !important; }


.cse-my--xlarge,
.cse-mb--xlarge {
  margin-bottom: 3rem !important; }


.cse-mx--xlarge,
.cse-ml--xlarge {
  margin-left: 3rem !important; }


.cse-m--huge {
  margin: 4rem !important; }


.cse-my--huge,
.cse-mt--huge {
  margin-top: 4rem !important; }


.cse-mx--huge,
.cse-mr--huge {
  margin-right: 4rem !important; }


.cse-my--huge,
.cse-mb--huge {
  margin-bottom: 4rem !important; }


.cse-mx--huge,
.cse-ml--huge {
  margin-left: 4rem !important; }


.cse-p--base {
  padding: 1rem !important; }


.cse-py--base,
.cse-pt--base {
  padding-top: 1rem !important; }


.cse-px--base,
.cse-pr--base {
  padding-right: 1rem !important; }


.cse-py--base,
.cse-pb--base {
  padding-bottom: 1rem !important; }


.cse-px--base,
.cse-pl--base {
  padding-left: 1rem !important; }


.cse-p--tiny {
  padding: 0.5rem !important; }


.cse-py--tiny,
.cse-pt--tiny {
  padding-top: 0.5rem !important; }


.cse-px--tiny,
.cse-pr--tiny {
  padding-right: 0.5rem !important; }


.cse-py--tiny,
.cse-pb--tiny {
  padding-bottom: 0.5rem !important; }


.cse-px--tiny,
.cse-pl--tiny {
  padding-left: 0.5rem !important; }


.cse-p--medium {
  padding: 1.5rem !important; }


.cse-py--medium,
.cse-pt--medium {
  padding-top: 1.5rem !important; }


.cse-px--medium,
.cse-pr--medium {
  padding-right: 1.5rem !important; }


.cse-py--medium,
.cse-pb--medium {
  padding-bottom: 1.5rem !important; }


.cse-px--medium,
.cse-pl--medium {
  padding-left: 1.5rem !important; }


.cse-p--large {
  padding: 2rem !important; }


.cse-py--large,
.cse-pt--large {
  padding-top: 2rem !important; }


.cse-px--large,
.cse-pr--large {
  padding-right: 2rem !important; }


.cse-py--large,
.cse-pb--large {
  padding-bottom: 2rem !important; }


.cse-px--large,
.cse-pl--large {
  padding-left: 2rem !important; }


.cse-p--xlarge {
  padding: 3rem !important; }


.cse-py--xlarge,
.cse-pt--xlarge {
  padding-top: 3rem !important; }


.cse-px--xlarge,
.cse-pr--xlarge {
  padding-right: 3rem !important; }


.cse-py--xlarge,
.cse-pb--xlarge {
  padding-bottom: 3rem !important; }


.cse-px--xlarge,
.cse-pl--xlarge {
  padding-left: 3rem !important; }


.cse-p--huge {
  padding: 4rem !important; }


.cse-py--huge,
.cse-pt--huge {
  padding-top: 4rem !important; }


.cse-px--huge,
.cse-pr--huge {
  padding-right: 4rem !important; }


.cse-py--huge,
.cse-pb--huge {
  padding-bottom: 4rem !important; }


.cse-px--huge,
.cse-pl--huge {
  padding-left: 4rem !important; }

@media (min-width: 481px) {
  
  .cse-m-sm--base {
    margin: 1rem !important; }
  
  .cse-my-sm--base,
  .cse-mt-sm--base {
    margin-top: 1rem !important; }
  
  .cse-mx-sm--base,
  .cse-mr-sm--base {
    margin-right: 1rem !important; }
  
  .cse-my-sm--base,
  .cse-mb-sm--base {
    margin-bottom: 1rem !important; }
  
  .cse-mx-sm--base,
  .cse-ml-sm--base {
    margin-left: 1rem !important; }
  
  .cse-m-sm--tiny {
    margin: 0.5rem !important; }
  
  .cse-my-sm--tiny,
  .cse-mt-sm--tiny {
    margin-top: 0.5rem !important; }
  
  .cse-mx-sm--tiny,
  .cse-mr-sm--tiny {
    margin-right: 0.5rem !important; }
  
  .cse-my-sm--tiny,
  .cse-mb-sm--tiny {
    margin-bottom: 0.5rem !important; }
  
  .cse-mx-sm--tiny,
  .cse-ml-sm--tiny {
    margin-left: 0.5rem !important; }
  
  .cse-m-sm--medium {
    margin: 1.5rem !important; }
  
  .cse-my-sm--medium,
  .cse-mt-sm--medium {
    margin-top: 1.5rem !important; }
  
  .cse-mx-sm--medium,
  .cse-mr-sm--medium {
    margin-right: 1.5rem !important; }
  
  .cse-my-sm--medium,
  .cse-mb-sm--medium {
    margin-bottom: 1.5rem !important; }
  
  .cse-mx-sm--medium,
  .cse-ml-sm--medium {
    margin-left: 1.5rem !important; }
  
  .cse-m-sm--large {
    margin: 2rem !important; }
  
  .cse-my-sm--large,
  .cse-mt-sm--large {
    margin-top: 2rem !important; }
  
  .cse-mx-sm--large,
  .cse-mr-sm--large {
    margin-right: 2rem !important; }
  
  .cse-my-sm--large,
  .cse-mb-sm--large {
    margin-bottom: 2rem !important; }
  
  .cse-mx-sm--large,
  .cse-ml-sm--large {
    margin-left: 2rem !important; }
  
  .cse-m-sm--xlarge {
    margin: 3rem !important; }
  
  .cse-my-sm--xlarge,
  .cse-mt-sm--xlarge {
    margin-top: 3rem !important; }
  
  .cse-mx-sm--xlarge,
  .cse-mr-sm--xlarge {
    margin-right: 3rem !important; }
  
  .cse-my-sm--xlarge,
  .cse-mb-sm--xlarge {
    margin-bottom: 3rem !important; }
  
  .cse-mx-sm--xlarge,
  .cse-ml-sm--xlarge {
    margin-left: 3rem !important; }
  
  .cse-m-sm--huge {
    margin: 4rem !important; }
  
  .cse-my-sm--huge,
  .cse-mt-sm--huge {
    margin-top: 4rem !important; }
  
  .cse-mx-sm--huge,
  .cse-mr-sm--huge {
    margin-right: 4rem !important; }
  
  .cse-my-sm--huge,
  .cse-mb-sm--huge {
    margin-bottom: 4rem !important; }
  
  .cse-mx-sm--huge,
  .cse-ml-sm--huge {
    margin-left: 4rem !important; }
  
  .cse-p-sm--base {
    padding: 1rem !important; }
  
  .cse-py-sm--base,
  .cse-pt-sm--base {
    padding-top: 1rem !important; }
  
  .cse-px-sm--base,
  .cse-pr-sm--base {
    padding-right: 1rem !important; }
  
  .cse-py-sm--base,
  .cse-pb-sm--base {
    padding-bottom: 1rem !important; }
  
  .cse-px-sm--base,
  .cse-pl-sm--base {
    padding-left: 1rem !important; }
  
  .cse-p-sm--tiny {
    padding: 0.5rem !important; }
  
  .cse-py-sm--tiny,
  .cse-pt-sm--tiny {
    padding-top: 0.5rem !important; }
  
  .cse-px-sm--tiny,
  .cse-pr-sm--tiny {
    padding-right: 0.5rem !important; }
  
  .cse-py-sm--tiny,
  .cse-pb-sm--tiny {
    padding-bottom: 0.5rem !important; }
  
  .cse-px-sm--tiny,
  .cse-pl-sm--tiny {
    padding-left: 0.5rem !important; }
  
  .cse-p-sm--medium {
    padding: 1.5rem !important; }
  
  .cse-py-sm--medium,
  .cse-pt-sm--medium {
    padding-top: 1.5rem !important; }
  
  .cse-px-sm--medium,
  .cse-pr-sm--medium {
    padding-right: 1.5rem !important; }
  
  .cse-py-sm--medium,
  .cse-pb-sm--medium {
    padding-bottom: 1.5rem !important; }
  
  .cse-px-sm--medium,
  .cse-pl-sm--medium {
    padding-left: 1.5rem !important; }
  
  .cse-p-sm--large {
    padding: 2rem !important; }
  
  .cse-py-sm--large,
  .cse-pt-sm--large {
    padding-top: 2rem !important; }
  
  .cse-px-sm--large,
  .cse-pr-sm--large {
    padding-right: 2rem !important; }
  
  .cse-py-sm--large,
  .cse-pb-sm--large {
    padding-bottom: 2rem !important; }
  
  .cse-px-sm--large,
  .cse-pl-sm--large {
    padding-left: 2rem !important; }
  
  .cse-p-sm--xlarge {
    padding: 3rem !important; }
  
  .cse-py-sm--xlarge,
  .cse-pt-sm--xlarge {
    padding-top: 3rem !important; }
  
  .cse-px-sm--xlarge,
  .cse-pr-sm--xlarge {
    padding-right: 3rem !important; }
  
  .cse-py-sm--xlarge,
  .cse-pb-sm--xlarge {
    padding-bottom: 3rem !important; }
  
  .cse-px-sm--xlarge,
  .cse-pl-sm--xlarge {
    padding-left: 3rem !important; }
  
  .cse-p-sm--huge {
    padding: 4rem !important; }
  
  .cse-py-sm--huge,
  .cse-pt-sm--huge {
    padding-top: 4rem !important; }
  
  .cse-px-sm--huge,
  .cse-pr-sm--huge {
    padding-right: 4rem !important; }
  
  .cse-py-sm--huge,
  .cse-pb-sm--huge {
    padding-bottom: 4rem !important; }
  
  .cse-px-sm--huge,
  .cse-pl-sm--huge {
    padding-left: 4rem !important; } }

@media (min-width: 768px) {
  
  .cse-m-md--base {
    margin: 1rem !important; }
  
  .cse-my-md--base,
  .cse-mt-md--base {
    margin-top: 1rem !important; }
  
  .cse-mx-md--base,
  .cse-mr-md--base {
    margin-right: 1rem !important; }
  
  .cse-my-md--base,
  .cse-mb-md--base {
    margin-bottom: 1rem !important; }
  
  .cse-mx-md--base,
  .cse-ml-md--base {
    margin-left: 1rem !important; }
  
  .cse-m-md--tiny {
    margin: 0.5rem !important; }
  
  .cse-my-md--tiny,
  .cse-mt-md--tiny {
    margin-top: 0.5rem !important; }
  
  .cse-mx-md--tiny,
  .cse-mr-md--tiny {
    margin-right: 0.5rem !important; }
  
  .cse-my-md--tiny,
  .cse-mb-md--tiny {
    margin-bottom: 0.5rem !important; }
  
  .cse-mx-md--tiny,
  .cse-ml-md--tiny {
    margin-left: 0.5rem !important; }
  
  .cse-m-md--medium {
    margin: 1.5rem !important; }
  
  .cse-my-md--medium,
  .cse-mt-md--medium {
    margin-top: 1.5rem !important; }
  
  .cse-mx-md--medium,
  .cse-mr-md--medium {
    margin-right: 1.5rem !important; }
  
  .cse-my-md--medium,
  .cse-mb-md--medium {
    margin-bottom: 1.5rem !important; }
  
  .cse-mx-md--medium,
  .cse-ml-md--medium {
    margin-left: 1.5rem !important; }
  
  .cse-m-md--large {
    margin: 2rem !important; }
  
  .cse-my-md--large,
  .cse-mt-md--large {
    margin-top: 2rem !important; }
  
  .cse-mx-md--large,
  .cse-mr-md--large {
    margin-right: 2rem !important; }
  
  .cse-my-md--large,
  .cse-mb-md--large {
    margin-bottom: 2rem !important; }
  
  .cse-mx-md--large,
  .cse-ml-md--large {
    margin-left: 2rem !important; }
  
  .cse-m-md--xlarge {
    margin: 3rem !important; }
  
  .cse-my-md--xlarge,
  .cse-mt-md--xlarge {
    margin-top: 3rem !important; }
  
  .cse-mx-md--xlarge,
  .cse-mr-md--xlarge {
    margin-right: 3rem !important; }
  
  .cse-my-md--xlarge,
  .cse-mb-md--xlarge {
    margin-bottom: 3rem !important; }
  
  .cse-mx-md--xlarge,
  .cse-ml-md--xlarge {
    margin-left: 3rem !important; }
  
  .cse-m-md--huge {
    margin: 4rem !important; }
  
  .cse-my-md--huge,
  .cse-mt-md--huge {
    margin-top: 4rem !important; }
  
  .cse-mx-md--huge,
  .cse-mr-md--huge {
    margin-right: 4rem !important; }
  
  .cse-my-md--huge,
  .cse-mb-md--huge {
    margin-bottom: 4rem !important; }
  
  .cse-mx-md--huge,
  .cse-ml-md--huge {
    margin-left: 4rem !important; }
  
  .cse-p-md--base {
    padding: 1rem !important; }
  
  .cse-py-md--base,
  .cse-pt-md--base {
    padding-top: 1rem !important; }
  
  .cse-px-md--base,
  .cse-pr-md--base {
    padding-right: 1rem !important; }
  
  .cse-py-md--base,
  .cse-pb-md--base {
    padding-bottom: 1rem !important; }
  
  .cse-px-md--base,
  .cse-pl-md--base {
    padding-left: 1rem !important; }
  
  .cse-p-md--tiny {
    padding: 0.5rem !important; }
  
  .cse-py-md--tiny,
  .cse-pt-md--tiny {
    padding-top: 0.5rem !important; }
  
  .cse-px-md--tiny,
  .cse-pr-md--tiny {
    padding-right: 0.5rem !important; }
  
  .cse-py-md--tiny,
  .cse-pb-md--tiny {
    padding-bottom: 0.5rem !important; }
  
  .cse-px-md--tiny,
  .cse-pl-md--tiny {
    padding-left: 0.5rem !important; }
  
  .cse-p-md--medium {
    padding: 1.5rem !important; }
  
  .cse-py-md--medium,
  .cse-pt-md--medium {
    padding-top: 1.5rem !important; }
  
  .cse-px-md--medium,
  .cse-pr-md--medium {
    padding-right: 1.5rem !important; }
  
  .cse-py-md--medium,
  .cse-pb-md--medium {
    padding-bottom: 1.5rem !important; }
  
  .cse-px-md--medium,
  .cse-pl-md--medium {
    padding-left: 1.5rem !important; }
  
  .cse-p-md--large {
    padding: 2rem !important; }
  
  .cse-py-md--large,
  .cse-pt-md--large {
    padding-top: 2rem !important; }
  
  .cse-px-md--large,
  .cse-pr-md--large {
    padding-right: 2rem !important; }
  
  .cse-py-md--large,
  .cse-pb-md--large {
    padding-bottom: 2rem !important; }
  
  .cse-px-md--large,
  .cse-pl-md--large {
    padding-left: 2rem !important; }
  
  .cse-p-md--xlarge {
    padding: 3rem !important; }
  
  .cse-py-md--xlarge,
  .cse-pt-md--xlarge {
    padding-top: 3rem !important; }
  
  .cse-px-md--xlarge,
  .cse-pr-md--xlarge {
    padding-right: 3rem !important; }
  
  .cse-py-md--xlarge,
  .cse-pb-md--xlarge {
    padding-bottom: 3rem !important; }
  
  .cse-px-md--xlarge,
  .cse-pl-md--xlarge {
    padding-left: 3rem !important; }
  
  .cse-p-md--huge {
    padding: 4rem !important; }
  
  .cse-py-md--huge,
  .cse-pt-md--huge {
    padding-top: 4rem !important; }
  
  .cse-px-md--huge,
  .cse-pr-md--huge {
    padding-right: 4rem !important; }
  
  .cse-py-md--huge,
  .cse-pb-md--huge {
    padding-bottom: 4rem !important; }
  
  .cse-px-md--huge,
  .cse-pl-md--huge {
    padding-left: 4rem !important; } }

@media (min-width: 970px) {
  
  .cse-m-lg--base {
    margin: 1rem !important; }
  
  .cse-my-lg--base,
  .cse-mt-lg--base {
    margin-top: 1rem !important; }
  
  .cse-mx-lg--base,
  .cse-mr-lg--base {
    margin-right: 1rem !important; }
  
  .cse-my-lg--base,
  .cse-mb-lg--base {
    margin-bottom: 1rem !important; }
  
  .cse-mx-lg--base,
  .cse-ml-lg--base {
    margin-left: 1rem !important; }
  
  .cse-m-lg--tiny {
    margin: 0.5rem !important; }
  
  .cse-my-lg--tiny,
  .cse-mt-lg--tiny {
    margin-top: 0.5rem !important; }
  
  .cse-mx-lg--tiny,
  .cse-mr-lg--tiny {
    margin-right: 0.5rem !important; }
  
  .cse-my-lg--tiny,
  .cse-mb-lg--tiny {
    margin-bottom: 0.5rem !important; }
  
  .cse-mx-lg--tiny,
  .cse-ml-lg--tiny {
    margin-left: 0.5rem !important; }
  
  .cse-m-lg--medium {
    margin: 1.5rem !important; }
  
  .cse-my-lg--medium,
  .cse-mt-lg--medium {
    margin-top: 1.5rem !important; }
  
  .cse-mx-lg--medium,
  .cse-mr-lg--medium {
    margin-right: 1.5rem !important; }
  
  .cse-my-lg--medium,
  .cse-mb-lg--medium {
    margin-bottom: 1.5rem !important; }
  
  .cse-mx-lg--medium,
  .cse-ml-lg--medium {
    margin-left: 1.5rem !important; }
  
  .cse-m-lg--large {
    margin: 2rem !important; }
  
  .cse-my-lg--large,
  .cse-mt-lg--large {
    margin-top: 2rem !important; }
  
  .cse-mx-lg--large,
  .cse-mr-lg--large {
    margin-right: 2rem !important; }
  
  .cse-my-lg--large,
  .cse-mb-lg--large {
    margin-bottom: 2rem !important; }
  
  .cse-mx-lg--large,
  .cse-ml-lg--large {
    margin-left: 2rem !important; }
  
  .cse-m-lg--xlarge {
    margin: 3rem !important; }
  
  .cse-my-lg--xlarge,
  .cse-mt-lg--xlarge {
    margin-top: 3rem !important; }
  
  .cse-mx-lg--xlarge,
  .cse-mr-lg--xlarge {
    margin-right: 3rem !important; }
  
  .cse-my-lg--xlarge,
  .cse-mb-lg--xlarge {
    margin-bottom: 3rem !important; }
  
  .cse-mx-lg--xlarge,
  .cse-ml-lg--xlarge {
    margin-left: 3rem !important; }
  
  .cse-m-lg--huge {
    margin: 4rem !important; }
  
  .cse-my-lg--huge,
  .cse-mt-lg--huge {
    margin-top: 4rem !important; }
  
  .cse-mx-lg--huge,
  .cse-mr-lg--huge {
    margin-right: 4rem !important; }
  
  .cse-my-lg--huge,
  .cse-mb-lg--huge {
    margin-bottom: 4rem !important; }
  
  .cse-mx-lg--huge,
  .cse-ml-lg--huge {
    margin-left: 4rem !important; }
  
  .cse-p-lg--base {
    padding: 1rem !important; }
  
  .cse-py-lg--base,
  .cse-pt-lg--base {
    padding-top: 1rem !important; }
  
  .cse-px-lg--base,
  .cse-pr-lg--base {
    padding-right: 1rem !important; }
  
  .cse-py-lg--base,
  .cse-pb-lg--base {
    padding-bottom: 1rem !important; }
  
  .cse-px-lg--base,
  .cse-pl-lg--base {
    padding-left: 1rem !important; }
  
  .cse-p-lg--tiny {
    padding: 0.5rem !important; }
  
  .cse-py-lg--tiny,
  .cse-pt-lg--tiny {
    padding-top: 0.5rem !important; }
  
  .cse-px-lg--tiny,
  .cse-pr-lg--tiny {
    padding-right: 0.5rem !important; }
  
  .cse-py-lg--tiny,
  .cse-pb-lg--tiny {
    padding-bottom: 0.5rem !important; }
  
  .cse-px-lg--tiny,
  .cse-pl-lg--tiny {
    padding-left: 0.5rem !important; }
  
  .cse-p-lg--medium {
    padding: 1.5rem !important; }
  
  .cse-py-lg--medium,
  .cse-pt-lg--medium {
    padding-top: 1.5rem !important; }
  
  .cse-px-lg--medium,
  .cse-pr-lg--medium {
    padding-right: 1.5rem !important; }
  
  .cse-py-lg--medium,
  .cse-pb-lg--medium {
    padding-bottom: 1.5rem !important; }
  
  .cse-px-lg--medium,
  .cse-pl-lg--medium {
    padding-left: 1.5rem !important; }
  
  .cse-p-lg--large {
    padding: 2rem !important; }
  
  .cse-py-lg--large,
  .cse-pt-lg--large {
    padding-top: 2rem !important; }
  
  .cse-px-lg--large,
  .cse-pr-lg--large {
    padding-right: 2rem !important; }
  
  .cse-py-lg--large,
  .cse-pb-lg--large {
    padding-bottom: 2rem !important; }
  
  .cse-px-lg--large,
  .cse-pl-lg--large {
    padding-left: 2rem !important; }
  
  .cse-p-lg--xlarge {
    padding: 3rem !important; }
  
  .cse-py-lg--xlarge,
  .cse-pt-lg--xlarge {
    padding-top: 3rem !important; }
  
  .cse-px-lg--xlarge,
  .cse-pr-lg--xlarge {
    padding-right: 3rem !important; }
  
  .cse-py-lg--xlarge,
  .cse-pb-lg--xlarge {
    padding-bottom: 3rem !important; }
  
  .cse-px-lg--xlarge,
  .cse-pl-lg--xlarge {
    padding-left: 3rem !important; }
  
  .cse-p-lg--huge {
    padding: 4rem !important; }
  
  .cse-py-lg--huge,
  .cse-pt-lg--huge {
    padding-top: 4rem !important; }
  
  .cse-px-lg--huge,
  .cse-pr-lg--huge {
    padding-right: 4rem !important; }
  
  .cse-py-lg--huge,
  .cse-pb-lg--huge {
    padding-bottom: 4rem !important; }
  
  .cse-px-lg--huge,
  .cse-pl-lg--huge {
    padding-left: 4rem !important; } }

@media (min-width: 1200px) {
  
  .cse-m-xl--base {
    margin: 1rem !important; }
  
  .cse-my-xl--base,
  .cse-mt-xl--base {
    margin-top: 1rem !important; }
  
  .cse-mx-xl--base,
  .cse-mr-xl--base {
    margin-right: 1rem !important; }
  
  .cse-my-xl--base,
  .cse-mb-xl--base {
    margin-bottom: 1rem !important; }
  
  .cse-mx-xl--base,
  .cse-ml-xl--base {
    margin-left: 1rem !important; }
  
  .cse-m-xl--tiny {
    margin: 0.5rem !important; }
  
  .cse-my-xl--tiny,
  .cse-mt-xl--tiny {
    margin-top: 0.5rem !important; }
  
  .cse-mx-xl--tiny,
  .cse-mr-xl--tiny {
    margin-right: 0.5rem !important; }
  
  .cse-my-xl--tiny,
  .cse-mb-xl--tiny {
    margin-bottom: 0.5rem !important; }
  
  .cse-mx-xl--tiny,
  .cse-ml-xl--tiny {
    margin-left: 0.5rem !important; }
  
  .cse-m-xl--medium {
    margin: 1.5rem !important; }
  
  .cse-my-xl--medium,
  .cse-mt-xl--medium {
    margin-top: 1.5rem !important; }
  
  .cse-mx-xl--medium,
  .cse-mr-xl--medium {
    margin-right: 1.5rem !important; }
  
  .cse-my-xl--medium,
  .cse-mb-xl--medium {
    margin-bottom: 1.5rem !important; }
  
  .cse-mx-xl--medium,
  .cse-ml-xl--medium {
    margin-left: 1.5rem !important; }
  
  .cse-m-xl--large {
    margin: 2rem !important; }
  
  .cse-my-xl--large,
  .cse-mt-xl--large {
    margin-top: 2rem !important; }
  
  .cse-mx-xl--large,
  .cse-mr-xl--large {
    margin-right: 2rem !important; }
  
  .cse-my-xl--large,
  .cse-mb-xl--large {
    margin-bottom: 2rem !important; }
  
  .cse-mx-xl--large,
  .cse-ml-xl--large {
    margin-left: 2rem !important; }
  
  .cse-m-xl--xlarge {
    margin: 3rem !important; }
  
  .cse-my-xl--xlarge,
  .cse-mt-xl--xlarge {
    margin-top: 3rem !important; }
  
  .cse-mx-xl--xlarge,
  .cse-mr-xl--xlarge {
    margin-right: 3rem !important; }
  
  .cse-my-xl--xlarge,
  .cse-mb-xl--xlarge {
    margin-bottom: 3rem !important; }
  
  .cse-mx-xl--xlarge,
  .cse-ml-xl--xlarge {
    margin-left: 3rem !important; }
  
  .cse-m-xl--huge {
    margin: 4rem !important; }
  
  .cse-my-xl--huge,
  .cse-mt-xl--huge {
    margin-top: 4rem !important; }
  
  .cse-mx-xl--huge,
  .cse-mr-xl--huge {
    margin-right: 4rem !important; }
  
  .cse-my-xl--huge,
  .cse-mb-xl--huge {
    margin-bottom: 4rem !important; }
  
  .cse-mx-xl--huge,
  .cse-ml-xl--huge {
    margin-left: 4rem !important; }
  
  .cse-p-xl--base {
    padding: 1rem !important; }
  
  .cse-py-xl--base,
  .cse-pt-xl--base {
    padding-top: 1rem !important; }
  
  .cse-px-xl--base,
  .cse-pr-xl--base {
    padding-right: 1rem !important; }
  
  .cse-py-xl--base,
  .cse-pb-xl--base {
    padding-bottom: 1rem !important; }
  
  .cse-px-xl--base,
  .cse-pl-xl--base {
    padding-left: 1rem !important; }
  
  .cse-p-xl--tiny {
    padding: 0.5rem !important; }
  
  .cse-py-xl--tiny,
  .cse-pt-xl--tiny {
    padding-top: 0.5rem !important; }
  
  .cse-px-xl--tiny,
  .cse-pr-xl--tiny {
    padding-right: 0.5rem !important; }
  
  .cse-py-xl--tiny,
  .cse-pb-xl--tiny {
    padding-bottom: 0.5rem !important; }
  
  .cse-px-xl--tiny,
  .cse-pl-xl--tiny {
    padding-left: 0.5rem !important; }
  
  .cse-p-xl--medium {
    padding: 1.5rem !important; }
  
  .cse-py-xl--medium,
  .cse-pt-xl--medium {
    padding-top: 1.5rem !important; }
  
  .cse-px-xl--medium,
  .cse-pr-xl--medium {
    padding-right: 1.5rem !important; }
  
  .cse-py-xl--medium,
  .cse-pb-xl--medium {
    padding-bottom: 1.5rem !important; }
  
  .cse-px-xl--medium,
  .cse-pl-xl--medium {
    padding-left: 1.5rem !important; }
  
  .cse-p-xl--large {
    padding: 2rem !important; }
  
  .cse-py-xl--large,
  .cse-pt-xl--large {
    padding-top: 2rem !important; }
  
  .cse-px-xl--large,
  .cse-pr-xl--large {
    padding-right: 2rem !important; }
  
  .cse-py-xl--large,
  .cse-pb-xl--large {
    padding-bottom: 2rem !important; }
  
  .cse-px-xl--large,
  .cse-pl-xl--large {
    padding-left: 2rem !important; }
  
  .cse-p-xl--xlarge {
    padding: 3rem !important; }
  
  .cse-py-xl--xlarge,
  .cse-pt-xl--xlarge {
    padding-top: 3rem !important; }
  
  .cse-px-xl--xlarge,
  .cse-pr-xl--xlarge {
    padding-right: 3rem !important; }
  
  .cse-py-xl--xlarge,
  .cse-pb-xl--xlarge {
    padding-bottom: 3rem !important; }
  
  .cse-px-xl--xlarge,
  .cse-pl-xl--xlarge {
    padding-left: 3rem !important; }
  
  .cse-p-xl--huge {
    padding: 4rem !important; }
  
  .cse-py-xl--huge,
  .cse-pt-xl--huge {
    padding-top: 4rem !important; }
  
  .cse-px-xl--huge,
  .cse-pr-xl--huge {
    padding-right: 4rem !important; }
  
  .cse-py-xl--huge,
  .cse-pb-xl--huge {
    padding-bottom: 4rem !important; }
  
  .cse-px-xl--huge,
  .cse-pl-xl--huge {
    padding-left: 4rem !important; } }

.cse-ms0 {
  font-size: 1rem;
  line-height: 1.5; }

.cse-ms1 {
  font-size: 1.125rem;
  line-height: 1.5; }

.cse-ms2 {
  font-size: 1.266rem;
  line-height: 1.5; }

.cse-ms3 {
  font-size: 1.424rem;
  line-height: 1.5; }

.cse-ms4 {
  font-size: 1.602rem;
  line-height: 1.5; }

.cse-ms5 {
  font-size: 1.802rem;
  line-height: 1.5; }

.cse-ms6 {
  font-size: 2.027rem;
  line-height: 1.5; }

.cse-ms7 {
  font-size: 2.281rem;
  line-height: 1.5; }

.cse-ms8 {
  font-size: 2.566rem;
  line-height: 1.5; }

.cse-ms9 {
  font-size: 2.887rem;
  line-height: 1.5; }

.cse-ms-1 {
  font-size: 0.889rem;
  line-height: 1.5; }

.cse-ms-2 {
  font-size: 0.79rem;
  line-height: 1.5; }

.cse-ms-3 {
  font-size: 0.702rem;
  line-height: 1.5; }

.cse-visible {
  display: block; }

.cse-hidden {
  display: none; }

@media (min-width: 481px) {
  .cse-visible-sm {
    display: block; }
  .cse-hidden-sm {
    display: none; } }

@media (min-width: 768px) {
  .cse-visible-md {
    display: block; }
  .cse-hidden-md {
    display: none; } }

@media (min-width: 970px) {
  .cse-visible-lg {
    display: block; }
  .cse-hidden-lg {
    display: none; } }

@media (min-width: 1200px) {
  .cse-visible-xl {
    display: block; }
  .cse-hidden-xl {
    display: none; } }

.cse-btn {
  display: inline-block;
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  padding: 0.5rem 1rem;
  border-style: solid;
  border-width: 0.0625rem;
  font-size: 1rem;
  line-height: 1.125;
  border-radius: 2.125rem;
  color: #3a3a3a;
  background-color: #efefef;
  border-color: #ccc;
  transition: all 0.125s ease-in-out; }
  .cse-btn:hover {
    color: #3a3a3a;
    background-color: #ccc;
    border-color: #ccc; }
  .cse-btn:active, .cse-btn.cse-active,
  .cse-open > .cse-btn.cse-dropdown-toggle {
    color: #3a3a3a;
    background-color: #ccc;
    border-color: #ccc; }
  .cse-btn.cse-disabled, .cse-btn:disabled, .cse-btn[disabled] {
    pointer-events: none;
    cursor: default;
    opacity: .6; }
    .cse-btn.cse-disabled:focus, .cse-btn.cse-disabled:hover, .cse-btn:disabled:focus, .cse-btn:disabled:hover, .cse-btn[disabled]:focus, .cse-btn[disabled]:hover {
      color: #3a3a3a;
      background-color: #efefef;
      border-color: #ccc; }
  .cse-btn:focus, .cse-btn:hover {
    text-decoration: none; }
  .cse-btn:active, .cse-btn.cse-active {
    outline: 0; }
  .cse-btn.cse-focus, .cse-btn:focus {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
    border: 1px solid #52c0c4;
    outline: none; }
  .cse-btn[class*="icon-"] {
    display: inline-flex;
    align-items: center;
    justify-content: center; }
  .cse-btn[class*="icon-"]::before, .cse-btn[class*="icon-"]::after, .cse-btn[data-icon] {
    padding-right: 0.25rem;
    font-size: 1.5rem;
    line-height: 1;
    height: 1.5rem;
    margin-top: -1.5rem;
    transform: translateY(50%); }
  .cse-btn[data-icon] {
    vertical-align: super; }
  .cse-btn + .cse-btn {
    margin-left: 1rem; }
  .cse-btn--primary {
    color: #fff;
    background-color: #21850f;
    border-color: #21850f; }
    .cse-btn--primary:hover {
      color: #fff;
      background-color: #005700;
      border-color: #005700; }
    .cse-btn--primary:active, .cse-btn--primary.cse-active,
    .cse-open > .cse-btn--primary.cse-dropdown-toggle {
      color: #fff;
      background-color: #005700;
      border-color: #005700; }
    .cse-btn--primary.cse-disabled, .cse-btn--primary:disabled, .cse-btn--primary[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .cse-btn--primary.cse-disabled:focus, .cse-btn--primary.cse-disabled:hover, .cse-btn--primary:disabled:focus, .cse-btn--primary:disabled:hover, .cse-btn--primary[disabled]:focus, .cse-btn--primary[disabled]:hover {
        color: #fff;
        background-color: #21850f;
        border-color: #21850f; }
  .cse-btn--secondary {
    color: #21850f;
    background-color: #fff;
    border-color: #21850f; }
    .cse-btn--secondary:hover {
      color: #3a3a3a;
      background-color: #fff;
      border-color: #3a3a3a; }
    .cse-btn--secondary:active, .cse-btn--secondary.cse-active,
    .cse-open > .cse-btn--secondary.cse-dropdown-toggle {
      color: #3a3a3a;
      background-color: #fff;
      border-color: #3a3a3a; }
    .cse-btn--secondary.cse-disabled, .cse-btn--secondary:disabled, .cse-btn--secondary[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .cse-btn--secondary.cse-disabled:focus, .cse-btn--secondary.cse-disabled:hover, .cse-btn--secondary:disabled:focus, .cse-btn--secondary:disabled:hover, .cse-btn--secondary[disabled]:focus, .cse-btn--secondary[disabled]:hover {
        color: #21850f;
        background-color: #fff;
        border-color: #21850f; }
  .cse-btn--cta {
    color: #fff;
    background-color: #423fe1;
    border-color: #423fe1; }
    .cse-btn--cta:hover {
      color: #fff;
      background-color: #211ec2;
      border-color: #211ec2; }
    .cse-btn--cta:active, .cse-btn--cta.cse-active,
    .cse-open > .cse-btn--cta.cse-dropdown-toggle {
      color: #fff;
      background-color: #211ec2;
      border-color: #211ec2; }
    .cse-btn--cta.cse-disabled, .cse-btn--cta:disabled, .cse-btn--cta[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .cse-btn--cta.cse-disabled:focus, .cse-btn--cta.cse-disabled:hover, .cse-btn--cta:disabled:focus, .cse-btn--cta:disabled:hover, .cse-btn--cta[disabled]:focus, .cse-btn--cta[disabled]:hover {
        color: #fff;
        background-color: #423fe1;
        border-color: #423fe1; }
  .cse-btn--neutral {
    color: #3a3a3a;
    background-color: #fff;
    border-color: #3a3a3a; }
    .cse-btn--neutral:hover {
      color: #21850f;
      background-color: #fff;
      border-color: #21850f; }
    .cse-btn--neutral:active, .cse-btn--neutral.cse-active,
    .cse-open > .cse-btn--neutral.cse-dropdown-toggle {
      color: #21850f;
      background-color: #fff;
      border-color: #21850f; }
    .cse-btn--neutral.cse-disabled, .cse-btn--neutral:disabled, .cse-btn--neutral[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .cse-btn--neutral.cse-disabled:focus, .cse-btn--neutral.cse-disabled:hover, .cse-btn--neutral:disabled:focus, .cse-btn--neutral:disabled:hover, .cse-btn--neutral[disabled]:focus, .cse-btn--neutral[disabled]:hover {
        color: #3a3a3a;
        background-color: #fff;
        border-color: #3a3a3a; }
  .cse-btn--reverse {
    color: #fff;
    background-color: transparent;
    border-color: #fff; }
    .cse-btn--reverse:hover {
      color: #999;
      background-color: transparent;
      border-color: #999; }
    .cse-btn--reverse:active, .cse-btn--reverse.cse-active,
    .cse-open > .cse-btn--reverse.cse-dropdown-toggle {
      color: #999;
      background-color: transparent;
      border-color: #999; }
    .cse-btn--reverse.cse-disabled, .cse-btn--reverse:disabled, .cse-btn--reverse[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .cse-btn--reverse.cse-disabled:focus, .cse-btn--reverse.cse-disabled:hover, .cse-btn--reverse:disabled:focus, .cse-btn--reverse:disabled:hover, .cse-btn--reverse[disabled]:focus, .cse-btn--reverse[disabled]:hover {
        color: #fff;
        background-color: transparent;
        border-color: #fff; }
  .cse-btn--lg {
    padding: 0.6875rem 1rem;
    border-style: solid;
    border-width: 0.0625rem;
    font-size: 1rem;
    line-height: 1.125;
    border-radius: 2.5rem; }
  @media (min-width: 768px) {
    .cse-btn--sm {
      padding: 0.4375rem 1rem;
      border-style: solid;
      border-width: 0.0625rem;
      font-size: 0.889rem;
      line-height: 1.125;
      border-radius: 2rem; }
      .cse-btn--sm[class*="icon-"]::before,
      .cse-btn--sm [class*="icon-"]::before,
      .cse-btn--sm [data-icon] {
        font-size: 1.25rem;
        line-height: 1;
        height: 1.25rem;
        margin-top: -1.25rem;
        transform: translateY(51%); } }
  .cse-btn--block {
    display: block;
    width: 100%; }
    .cse-btn--block + .cse-btn--block {
      margin-top: 0.5rem;
      margin-left: 0; }

.cse-close {
  font-size: 1rem;
  line-height: 1;
  padding: 0;
  cursor: pointer;
  background-color: transparent;
  border: 0;
  opacity: .75;
  -webkit-appearance: none; }
  .cse-close:focus, .cse-close:hover {
    text-decoration: none;
    cursor: pointer;
    opacity: 1; }
  .cse-close::before {
    font-family: cs-global-icons, sans-serif;
    content: "\f115"; }

.cse-divider:empty {
  border-top-color: #ccc;
  border-top-style: solid;
  border-top-width: 1px;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }

.cse-divider:not(:empty) {
  display: flex;
  align-items: center;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }
  .cse-divider:not(:empty)::before, .cse-divider:not(:empty)::after {
    display: block;
    flex: 1;
    content: "";
    border-top-color: #ccc;
    border-top-style: solid;
    border-top-width: 1px; }
  .cse-divider:not(:empty)::before {
    margin-right: 1rem; }
  .cse-divider:not(:empty)::after {
    margin-left: 1rem; }

.cse-divider--heavy:empty {
  border-top-color: #21850f;
  border-top-width: 2px; }

.cse-divider--heavy:not(:empty)::before, .cse-divider--heavy:not(:empty)::after {
  border-top-color: #21850f;
  border-top-width: 2px; }

.cse-form-control {
  padding: 0.5rem 1rem;
  border-style: solid;
  border-width: 0.0625rem;
  font-size: 1rem;
  line-height: 1.125;
  border-radius: 0.25rem;
  display: block;
  width: 100%;
  color: #3a3a3a;
  background-color: #fff;
  background-image: none;
  background-clip: padding-box;
  border-color: #ccc; }
  .cse-form-control::placeholder {
    color: #757575;
    opacity: 1; }
  .cse-form-control:hover {
    border-color: #3a3a3a; }
  .cse-form-control:focus {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
    border: 1px solid #52c0c4;
    outline: none; }
  .cse-form-control[readonly] {
    background-color: #efefef;
    opacity: 1; }
  .cse-form-control:disabled {
    color: #ccc;
    cursor: not-allowed;
    background-color: #efefef;
    border-color: #ccc;
    opacity: 1; }
    .cse-form-control:disabled::placeholder {
      color: #ccc; }
  .cse-form-control.error {
    border-color: #f25555; }
    .cse-form-control.error ~ .cse-form-feedback--invalid {
      display: block; }
      .cse-form-control.error ~ .cse-form-feedback--invalid ~ .cse-form-help {
        display: none; }
  select.cse-form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  select.cse-form-control:focus::-ms-value {
    color: #3a3a3a;
    background-color: #fff; }
  select.cse-form-control:not([multiple]) {
    background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'>%3Cg fill='none'%3E%3Cg fill='%233A3A3A'%3E%3Cpolygon transform='translate(-832 -539)translate(723 525)translate(114 17)scale(1 -1)translate(-114 -17)' points='114 14 119 20 109 20' class='undefined'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat right 0.75rem center;
    background-size: 0.5rem 0.5rem;
    appearance: none; }
  .cse-form-control--sm {
    padding: 0.4375rem 1rem;
    border-style: solid;
    border-width: 0.0625rem;
    font-size: 0.875rem;
    line-height: 1.125;
    border-radius: 0.25rem; }
  .cse-form-control--lg {
    padding: 0.6875rem 1rem;
    border-style: solid;
    border-width: 0.0625rem;
    font-size: 1rem;
    line-height: 1.125;
    border-radius: 0.25rem; }
  .cse-form-control--disabled {
    color: #ccc;
    cursor: not-allowed;
    background-color: #efefef;
    border-color: #ccc;
    opacity: 1; }
    .cse-form-control--disabled::placeholder {
      color: #ccc; }

.cse-form-control-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0; }
  .cse-form-control-checkbox input[type="checkbox"]:focus + label[for]::before {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
    border: 1px solid #52c0c4;
    outline: none; }
  .cse-form-control-checkbox input[type="checkbox"]:disabled + label[for]::before {
    cursor: not-allowed;
    background-color: #efefef;
    border-color: #ccc;
    opacity: 1; }
  .cse-form-control-checkbox input[type="checkbox"]:disabled + label[for]::after {
    cursor: not-allowed; }
  .cse-form-control-checkbox input[type="checkbox"]:checked:not(:disabled) + label[for]::before {
    background-color: #21850f;
    border-width: 0; }
  .cse-form-control-checkbox input[type="checkbox"]:not(:checked) + label[for]:hover::before {
    background-color: #efefef; }
  .cse-form-control-checkbox input[type="checkbox"].error ~ .cse-form-feedback--invalid {
    display: block; }
    .cse-form-control-checkbox input[type="checkbox"].error ~ .cse-form-feedback--invalid ~ .cse-form-help {
      display: none; }
  .cse-form-control-checkbox input[type="checkbox"].error + label[for]::before {
    border-color: #f25555; }
  .cse-form-control-checkbox input[type="checkbox"] + label[for] {
    position: relative;
    margin-bottom: 0;
    line-height: 1; }
    .cse-form-control-checkbox input[type="checkbox"] + label[for]::before {
      display: inline-block;
      width: 1rem;
      height: 1rem;
      margin-right: 0.25rem;
      vertical-align: bottom;
      content: "";
      background-color: #fff;
      border: 0.0625rem solid #3a3a3a; }
    .cse-form-control-checkbox input[type="checkbox"] + label[for]::after {
      position: absolute;
      font-family: cs-global-icons, sans-serif;
      color: #fff; }
  .cse-form-control-checkbox input[type="checkbox"]:checked + label[for]::after {
    content: "\f111"; }
  .cse-form-control-checkbox input[type="checkbox"] + label[for]::before {
    border-radius: 0.125rem; }
  .cse-form-control-checkbox input[type="checkbox"] + label[for]::after {
    top: 0.1875rem;
    left: 0.125rem;
    font-size: 0.75rem; }

.cse-form-control-checkbox--lg input[type="checkbox"] + label[for] {
  line-height: 1.5; }
  .cse-form-control-checkbox--lg input[type="checkbox"] + label[for]::before {
    width: 1.5rem;
    height: 1.5rem; }

.cse-form-control-checkbox--lg input[type="checkbox"] + label[for]::after {
  top: 0.0625rem;
  left: 0.25rem;
  font-size: 1rem; }

.cse-form-control-radio input[type="radio"] {
  position: absolute;
  opacity: 0; }
  .cse-form-control-radio input[type="radio"]:focus + label[for]::before {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
    border: 1px solid #52c0c4;
    outline: none; }
  .cse-form-control-radio input[type="radio"]:disabled + label[for]::before {
    cursor: not-allowed;
    background-color: #efefef;
    border-color: #ccc;
    opacity: 1; }
  .cse-form-control-radio input[type="radio"]:disabled + label[for]::after {
    cursor: not-allowed; }
  .cse-form-control-radio input[type="radio"]:checked:not(:disabled) + label[for]::before {
    background-color: #21850f;
    border-width: 0; }
  .cse-form-control-radio input[type="radio"]:not(:checked) + label[for]:hover::before {
    background-color: #efefef; }
  .cse-form-control-radio input[type="radio"].error ~ .cse-form-feedback--invalid {
    display: block; }
    .cse-form-control-radio input[type="radio"].error ~ .cse-form-feedback--invalid ~ .cse-form-help {
      display: none; }
  .cse-form-control-radio input[type="radio"].error + label[for]::before {
    border-color: #f25555; }
  .cse-form-control-radio input[type="radio"] + label[for] {
    position: relative;
    margin-bottom: 0;
    line-height: 1; }
    .cse-form-control-radio input[type="radio"] + label[for]::before {
      display: inline-block;
      width: 1rem;
      height: 1rem;
      margin-right: 0.25rem;
      vertical-align: bottom;
      content: "";
      background-color: #fff;
      border: 0.0625rem solid #3a3a3a; }
    .cse-form-control-radio input[type="radio"] + label[for]::after {
      position: absolute;
      font-family: cs-global-icons, sans-serif;
      color: #fff; }
  .cse-form-control-radio input[type="radio"]:checked + label[for]::after {
    content: "\f113"; }
  .cse-form-control-radio input[type="radio"] + label[for]::before {
    border-radius: 50%; }
  .cse-form-control-radio input[type="radio"] + label[for]::after {
    top: 0.25rem;
    left: 0.25rem;
    font-size: 0.5rem; }

.cse-form-control-radio--lg input[type="radio"] + label[for] {
  line-height: 1.5; }
  .cse-form-control-radio--lg input[type="radio"] + label[for]::before {
    width: 1.5rem;
    height: 1.5rem; }

.cse-form-control-radio--lg input[type="radio"] + label[for]::after {
  top: 0.25rem;
  left: 0.375rem;
  font-size: 0.75rem; }

.cse-form-label {
  font-size: 0.875rem;
  line-height: normal;
  display: inline-block;
  margin-bottom: 0.5rem; }
  .cse-form-label--required::after {
    margin-left: 0.25rem;
    color: #f25555;
    content: "*"; }

.cse-form-help {
  font-size: 0.875rem;
  line-height: 1.125;
  display: block;
  margin-top: 0.375rem;
  color: #757575; }

.cse-form-feedback {
  font-size: 0.875rem;
  line-height: 1.125;
  display: none;
  width: 100%;
  margin-top: 0.375rem; }
  .cse-form-feedback--invalid {
    color: #f25555; }

h1 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.802rem;
  line-height: 1.25; }
  @media (min-width: 768px) {
    h1 {
      font-size: 2.027rem; } }

h2 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.424rem;
  line-height: 1.25; }
  @media (min-width: 768px) {
    h2 {
      font-size: 1.602rem; } }

h3 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.266rem;
  line-height: 1.25; }

h4 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.125rem;
  line-height: 1.25; }

h5 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 0.889rem;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.03125rem; }

.cse-heading-1 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.802rem;
  line-height: 1.25; }
  @media (min-width: 768px) {
    .cse-heading-1 {
      font-size: 2.027rem; } }

.cse-heading-2 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.424rem;
  line-height: 1.25; }
  @media (min-width: 768px) {
    .cse-heading-2 {
      font-size: 1.602rem; } }

.cse-heading-3 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.266rem;
  line-height: 1.25; }

.cse-heading-4 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.125rem;
  line-height: 1.25; }

.cse-heading-5 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 0.889rem;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.03125rem; }

.cse-heading--oswald {
  font-family: "Oswald", helvetica, arial, sans-serif; }

.cse-display-1 {
  margin-bottom: 1.5rem;
  color: inherit;
  font-size: 2.281rem;
  line-height: 1.25;
  font-weight: bold; }
  @media (min-width: 768px) {
    .cse-display-1 {
      font-size: 2.887rem; } }

.cse-display-2 {
  margin-bottom: 1.5rem;
  color: inherit;
  font-size: 2.027rem;
  line-height: 1.25;
  font-weight: bold; }
  @media (min-width: 768px) {
    .cse-display-2 {
      font-size: 2.566rem; } }

p {
  margin-top: 0;
  margin-bottom: 1.5rem; }

.cse-lead {
  font-size: 1.266rem;
  line-height: 1.5;
  font-weight: 400; }

.cse-small,
small {
  font-size: 0.889rem;
  line-height: 1.5; }

.cse-caption {
  font-size: 0.79rem;
  line-height: 1.5;
  text-align: left;
  letter-spacing: 0.00562rem;
  caption-side: bottom; }

.cse-legal {
  font-size: 0.702rem;
  line-height: 1.5;
  letter-spacing: 0.00562rem; }

.cse-mark,
mark {
  padding: 0.5rem;
  background-color: #fcf8e3; }

.cse-link {
  padding-bottom: 0.125rem;
  font-size: inherit;
  color: #3a3a3a;
  text-decoration: none;
  border-bottom: 1px dotted #535353; }
  .cse-link > [class^="cse-icon"]::before {
    line-height: .8;
    vertical-align: sub; }
  .cse-link:active, .cse-link:hover {
    color: #423fe1;
    text-decoration: none;
    cursor: pointer;
    border-bottom: 1px dotted #423fe1; }
  .cse-link:focus {
    border-color: transparent;
    outline: 1px dotted;
    outline-color: #423fe1;
    outline-offset: 0; }
  .cse-link--cta {
    font-weight: bold;
    color: #423fe1;
    border-bottom-color: transparent; }
    .cse-link--cta:active, .cse-link--cta:hover {
      color: #423fe1; }
  .cse-link--reverse {
    color: #fff;
    border-bottom-color: #fff; }
    .cse-link--reverse:active, .cse-link--reverse:hover {
      color: #999;
      border-bottom-color: #999; }
    .cse-link--reverse:focus {
      outline-color: #fff; }
  .cse-link--title {
    border-bottom-color: transparent; }

.cse-list-unstyled {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }


.cse-list-inline {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }


.cse-list-inline li,
.cse-list-inline__item {
  display: inline-block; }
  
  .cse-list-inline li:not(:last-child),
  .cse-list-inline__item:not(:last-child) {
    margin-right: 0.3125rem; }

.cse-list-inline--delimited > li + li::before,
.cse-list-inline--delimited > .cse-list-inline__item + .cse-list-inline__item::before {
  content: ", "; }

.cse-loader {
  width: 2rem;
  height: 2rem;
  position: relative;
  display: inline-block;
  color: #757575; }
  .cse-loader div {
    width: 2rem;
    height: 2rem;
    border-width: 5px; }
  .cse-loader div {
    position: absolute;
    border-color: currentColor transparent transparent transparent;
    border-style: solid;
    border-radius: 50%;
    animation: cs-loader 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite; }
    .cse-loader div:nth-child(1) {
      animation-delay: -.45s; }
    .cse-loader div:nth-child(2) {
      animation-delay: -.3s; }
    .cse-loader div:nth-child(3) {
      animation-delay: -.15s; }

@keyframes cs-loader {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
  .cse-loader--sm {
    width: 1rem;
    height: 1rem; }
    .cse-loader--sm div {
      width: 1rem;
      height: 1rem;
      border-width: 3px; }
  .cse-loader--lg {
    width: 3rem;
    height: 3rem; }
    .cse-loader--lg div {
      width: 3rem;
      height: 3rem;
      border-width: 6px; }
  .cse-loader--centered {
    top: calc(50% - 2rem / 2);
    left: calc(50% - 2rem / 2);
    position: absolute;
    z-index: 1000; }
    .cse-loader--centered.cse-loader--sm {
      top: calc(50% - 1rem / 2);
      left: calc(50% - 1rem / 2); }
    .cse-loader--centered.cse-loader--lg {
      top: calc(50% - 3rem / 2);
      left: calc(50% - 3rem / 2); }

.cse-avatar {
  border-radius: 100%;
  position: relative;
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  vertical-align: middle; }
  .cse-avatar img {
    border-radius: 100%;
    width: 100%;
    height: 100%; }
    .cse-avatar img:not([data-toggle="avatar"]) {
      padding: 0.0625rem;
      background-color: #fff;
      border: 0.125rem solid #049fa4; }
  .cse-avatar--certified {
    width: 4rem;
    height: 4rem; }
    .cse-avatar--certified::before {
      position: absolute;
      right: -0.375rem;
      bottom: -0.375rem;
      display: block;
      width: 1.5rem;
      height: 1.5rem;
      content: "";
      background-image: url("images/logo--checkmark--green--black--white.svg");
      background-repeat: no-repeat; }
  .cse-avatar--small {
    width: 1.5rem;
    height: 1.5rem; }
  .cse-avatar--large {
    width: 4rem;
    height: 4rem; }

.cse-tag {
  font-size: 0.8125rem;
  line-height: 1;
  border-radius: 0.25rem;
  display: inline-block;
  padding: 0.5rem 1rem;
  margin-right: 0.3125rem;
  margin-bottom: 0.5rem;
  color: #535353;
  background-color: #efefef;
  border: 1px solid transparent; }
  .cse-tag:hover {
    color: #535353;
    background-color: #ccc; }
  .cse-tag:focus {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
    border: 1px solid #52c0c4;
    outline: none; }
  .cse-tag--close, .cse-tag[data-dismiss="tag"] {
    padding-right: 0.5rem; }
    .cse-tag--close, .cse-tag[data-dismiss="tag"] {
      transition: opacity 150ms linear; }
      .cse-tag--close.cse-fade, .cse-tag[data-dismiss="tag"].cse-fade {
        opacity: 0; }
    .cse-tag--close::after, .cse-tag[data-dismiss="tag"]::after {
      font-size: 0.6875rem;
      line-height: 1;
      font-family: cs-global-icons, sans-serif;
      content: "\f115";
      margin-left: 0.375rem; }

.cse-accordion + .cse-accordion {
  margin-top: 1.5rem; }

.cse-accordion__group-title {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.266rem;
  line-height: 1.25;
  margin-bottom: 0;
  padding: 1.5rem 0.0625rem 1rem;
  border-bottom: 1px solid #ccc; }
  @media (min-width: 481px) {
    .cse-accordion__group-title {
      padding: 1.5rem 1rem 1rem; } }

.cse-accordion__item {
  padding: 0.0625rem 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #ccc; }
  @media (min-width: 481px) {
    .cse-accordion__item {
      padding: 0.0625rem 2rem; } }
  .cse-accordion__item + .cse-accordion__item {
    margin-top: 1.5rem; }

.cse-accordion__header {
  padding-top: 1rem;
  padding-bottom: 1rem;
  position: relative;
  display: flex;
  flex-wrap: wrap; }
  .cse-accordion__header > * {
    flex: 1;
    align-self: center; }
  .cse-accordion__header h1,
  .cse-accordion__header h2,
  .cse-accordion__header h3,
  .cse-accordion__header h4,
  .cse-accordion__header h5 {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 0;
    line-height: inherit; }
    .cse-accordion__header h1.icon::before,
    .cse-accordion__header h2.icon::before,
    .cse-accordion__header h3.icon::before,
    .cse-accordion__header h4.icon::before,
    .cse-accordion__header h5.icon::before {
      font-size: 2rem; }
    .cse-accordion__header h1 > img,
    .cse-accordion__header h2 > img,
    .cse-accordion__header h3 > img,
    .cse-accordion__header h4 > img,
    .cse-accordion__header h5 > img {
      height: 2rem !important; }
    .cse-accordion__header h1.icon::before,
    .cse-accordion__header h1 > img,
    .cse-accordion__header h2.icon::before,
    .cse-accordion__header h2 > img,
    .cse-accordion__header h3.icon::before,
    .cse-accordion__header h3 > img,
    .cse-accordion__header h4.icon::before,
    .cse-accordion__header h4 > img,
    .cse-accordion__header h5.icon::before,
    .cse-accordion__header h5 > img {
      margin-right: 1rem; }
  .cse-accordion__header-info {
    flex: 0;
    margin-right: calc(1rem + 20px);
    white-space: nowrap; }
  .cse-accordion__header-arrow {
    position: absolute;
    top: 50%;
    right: 0;
    display: inline-block;
    flex: 0;
    color: #5ab643;
    transform: translate(0%, -50%); }
    .cse-accordion__header-arrow::before {
      display: inline-block;
      font-family: "cs-global-icons";
      font-size: 1.25rem;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      line-height: 1;
      text-decoration: inherit;
      text-transform: none;
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      vertical-align: inherit;
      font-smoothing: antialiased;
      content: "\f105"; }
    .cse-accordion__header-arrow::before {
      transition: transform 0.2s ease;
      transition-delay: .08s; }
      .cse-collapsed .cse-accordion__header-arrow::before {
        transform: rotate(-90deg); }
  .cse-accordion__header-description {
    flex-basis: 100%;
    margin-bottom: 0; }

.cse-accordion__body > *:last-child {
  padding-bottom: 1.5rem; }

.cse-accordion__body.cse-collapse:not(.cse-show) {
  display: none; }

.cse-accordion__body.cse-collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.5s ease; }

.cse-accordion__body p:last-child {
  margin-bottom: 0; }

.cse-accordion--group {
  padding-right: 1rem;
  padding-left: 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #ccc; }
  .cse-accordion--group .cse-accordion__item {
    padding: 0.0625rem;
    border: none; }
    @media (min-width: 481px) {
      .cse-accordion--group .cse-accordion__item {
        padding: 0.0625rem 1rem; } }
    .cse-accordion--group .cse-accordion__item + .cse-accordion__item {
      margin-top: 0;
      border-top: 1px solid #ccc; }
    .cse-accordion--group .cse-accordion__item, .cse-accordion--group .cse-accordion__item:hover {
      box-shadow: none;
      transition: none; }
  .cse-accordion--group .cse-accordion__header h3, .cse-accordion--group .cse-accordion__header:not(.cse-close) {
    font-weight: normal; }

.cse-dropdown {
  position: relative;
  display: inline-block;
  max-width: 100%; }
  .cse-dropdown--block {
    display: block; }
    .cse-dropdown--block .cse-dropdown__toggle, .cse-dropdown--block .cse-dropdown__menu {
      width: 100%;
      max-width: 100%; }
  .cse-dropdown__toggle {
    position: relative;
    max-width: 16.25rem;
    padding-right: 2.625rem;
    overflow: hidden;
    text-overflow: ellipsis; }
    .cse-dropdown__toggle::after {
      display: inline-block;
      font-family: "cs-global-icons";
      font-size: 0.625rem;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      line-height: 1;
      text-decoration: inherit;
      text-transform: none;
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      vertical-align: inherit;
      font-smoothing: antialiased;
      content: "\f10e";
      position: absolute;
      top: calc(50% - 0.3125rem);
      right: 1rem; }
    .cse-dropdown.show .cse-dropdown__toggle {
      z-index: 1002; }
  .cse-dropdown__overlay {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1001;
    background-color: #000;
    opacity: .5; }
    .cse-dropdown.show .cse-dropdown__overlay {
      position: fixed; }
  .cse-dropdown__menu {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s;
    border-radius: 0.25rem;
    position: absolute;
    display: none;
    min-width: 11.375rem;
    max-width: 16.25rem;
    max-height: 15rem;
    padding: 0.5rem 0;
    margin: 0.5rem 0;
    overflow-y: auto;
    color: #000;
    white-space: nowrap;
    background-color: #fff;
    border: 1px solid #efefef; }
    .cse-dropdown__menu:hover {
      box-shadow: 0 2px 32px rgba(0, 0, 0, 0.1); }
    .cse-dropdown__menu.show {
      z-index: 1002;
      display: block; }
  .cse-dropdown__item,
  .cse-dropdown__item > a {
    display: block;
    padding: 0.5rem 1rem;
    overflow: hidden;
    line-height: 1;
    color: #000;
    text-overflow: ellipsis;
    word-wrap: break-word;
    white-space: normal;
    cursor: pointer; }
    .cse-dropdown__item:focus, .cse-dropdown__item:hover,
    .cse-dropdown__item > a:focus,
    .cse-dropdown__item > a:hover {
      color: #000;
      background-color: #efefef;
      outline: none; }
    .cse-dropdown__item.disabled,
    .cse-dropdown__item > a.disabled {
      color: #999;
      cursor: default; }
      .cse-dropdown__item.disabled:hover,
      .cse-dropdown__item > a.disabled:hover {
        background-color: transparent; }
    .cse-dropdown__item.active,
    .cse-dropdown__item > a.active {
      color: #21850f; }
    .cse-dropdown__item label[for],
    .cse-dropdown__item > a label[for] {
      margin-bottom: 0;
      margin-left: 0.5rem; }
  .cse-dropdown__item > a {
    margin-top: -0.5rem;
    margin-right: -1rem;
    margin-bottom: -0.5rem;
    margin-left: -1rem; }
  .cse-dropdown__divider {
    margin: 0.5rem 0;
    border-top: 1px solid #ccc; }
  .cse-dropdown__header {
    font-size: 0.875rem;
    line-height: 1;
    padding: 0.5rem 1rem;
    margin-bottom: 0; }

.cse-form-validated .cse-form-control:invalid {
  border-color: #f25555; }
  .cse-form-validated .cse-form-control:invalid ~ .cse-form-feedback--invalid {
    display: block; }
    .cse-form-validated .cse-form-control:invalid ~ .cse-form-feedback--invalid ~ .cse-form-help {
      display: none; }

.cse-form-validated input[type="checkbox"]:invalid ~ .cse-form-feedback--invalid,
.cse-form-validated input[type="radio"]:invalid ~ .cse-form-feedback--invalid {
  display: block; }
  .cse-form-validated input[type="checkbox"]:invalid ~ .cse-form-feedback--invalid ~ .cse-form-help,
  .cse-form-validated input[type="radio"]:invalid ~ .cse-form-feedback--invalid ~ .cse-form-help {
    display: none; }

.cse-form-validated input[type="checkbox"]:invalid + label[for]::before,
.cse-form-validated input[type="radio"]:invalid + label[for]::before {
  border-color: #f25555; }

.cse-form-group {
  margin-bottom: 1rem; }

.cse-hero {
  padding: 2rem;
  position: relative;
  right: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 40vh;
  min-height: 18.75rem;
  margin-right: -50vw;
  margin-left: -50vw;
  overflow: hidden;
  transition: width .03s ease, margin-left .03s ease, height .03s ease; }
  .cse-hero::before {
    position: absolute;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.5)); }
  .cse-hero__art {
    position: absolute;
    z-index: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    vertical-align: middle;
    border-style: none; }
  .cse-hero__content {
    z-index: 1;
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    margin-top: calc(2.281rem - 1.5rem); }
    @media (min-width: 768px) {
      .cse-hero__content {
        max-width: 65%; } }
    @media (min-width: 768px) {
      .cse-hero__content {
        margin-top: calc(2.887rem - 1.5rem); } }
  .cse-hero__anchor {
    margin-top: 1.5rem;
    z-index: 1;
    flex: 0 0 auto; }
    .cse-hero__anchor a.cse-link {
      color: #fff;
      border-color: #fff; }
  .cse-hero__actions .cse-btn + .cse-btn {
    margin-left: 1.5rem; }
  .cse-hero--slim {
    height: 30vh;
    min-height: 15.625rem; }
  .cse-hero--top .cse-hero__art {
    object-position: top; }
  .cse-hero--bottom .cse-hero__art {
    object-position: bottom; }

.cse-modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0; }
  .cse-modal-open {
    overflow: hidden; }
  .cse-modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    content: "";
    background-color: #000; }
    .cse-modal-backdrop.cse-fade {
      opacity: 0; }
    .cse-modal-backdrop.cse-show {
      opacity: 0.5; }
  .cse-modal__dialog {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin: 0;
    background-color: #fff;
    background-clip: padding-box;
    outline: 0; }
    .cse-fade .cse-modal__dialog {
      transition: transform 0.3s ease-out;
      transform: translate(0, -50px); }
    .cse-show .cse-modal__dialog {
      transform: none; }
    @media (min-width: 481px) {
      .cse-modal__dialog {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        width: 36rem;
        height: auto;
        margin: 8.75rem auto 0;
        border: 1px solid #ccc;
        border-radius: 0.25rem; } }
    .cse-modal__dialog .cse-close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      z-index: 1050;
      color: inherit; }
  .cse-modal__header {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 2rem 1.5rem 1rem;
    color: #3a3a3a; }
    @media (min-width: 768px) {
      .cse-modal__header {
        border-top-left-radius: 0.25rem;
        border-top-right-radius: 0.25rem; } }
  .cse-modal__title {
    padding-right: 1.5rem;
    margin: 0 auto 0 0;
    color: inherit; }
  .cse-modal__sub-title {
    font-size: 0.8125rem;
    line-height: 1.5;
    flex-basis: 100%;
    margin-bottom: 0.5rem;
    color: inherit; }
  .cse-modal__share {
    position: absolute;
    right: 1.5rem;
    bottom: 1rem;
    padding: 0;
    font-size: 0;
    color: inherit;
    background-color: transparent;
    border: 0; }
    @media (min-width: 481px) {
      .cse-modal__share {
        font-size: 1rem; }
        .cse-modal__share::before {
          margin-right: 0.5rem; } }
  .cse-modal__body {
    position: relative;
    flex: 1;
    padding: 1.5rem;
    overflow-y: auto; }
  .cse-modal__actions {
    padding: 1.5rem;
    font-size: 0; }
    @media (min-width: 481px) {
      .cse-modal__actions {
        text-align: right; } }
  .cse-modal__footer {
    font-size: 0.8125rem;
    line-height: 1.5;
    padding: 1.5rem;
    color: #757575;
    border-top: 1px solid #ccc; }
  .cse-modal--media .cse-modal__dialog {
    color: #fff;
    background-color: #000;
    border: 0; }
    @media (min-width: 481px) {
      .cse-modal--media .cse-modal__dialog {
        width: 50%; } }
    @media (orientation: landscape) and (max-width: 969px) {
      .cse-modal--media .cse-modal__dialog {
        justify-content: center;
        width: 100%;
        height: 100%;
        margin: 0; } }
    @media (min-width: 970px) {
      .cse-modal--media .cse-modal__dialog {
        width: 83%;
        max-width: 1042px; } }
  .cse-modal--media .cse-modal__header {
    color: #fff; }
    @media (orientation: landscape) and (max-width: 969px) {
      .cse-modal--media .cse-modal__header {
        display: none; } }
  .cse-modal--media .cse-modal__sub-title {
    font-size: 0.8125rem;
    line-height: 1.5;
    flex-basis: 100%;
    margin-bottom: 0.5rem;
    color: inherit; }
  .cse-modal--media .cse-modal__body {
    display: flex;
    flex-flow: column;
    align-content: flex-start;
    justify-content: center;
    padding: 0;
    overflow-x: hidden; }
    @media (min-width: 481px) {
      .cse-modal--media .cse-modal__body {
        flex: unset;
        flex-flow: row wrap;
        margin-bottom: 1.5rem; } }
    @media (orientation: landscape) and (max-width: 969px) {
      .cse-modal--media .cse-modal__body {
        margin-top: 1.5rem; } }
    @media (min-width: 970px), (orientation: landscape) and (max-width: 969px) {
      .cse-modal--media .cse-modal__body {
        flex-wrap: nowrap; } }
  .cse-modal--media .cse-modal__media {
    flex: 1; }
    @media (min-width: 481px) {
      .cse-modal--media .cse-modal__media {
        flex: 0 0 100%;
        max-width: 100%; } }
    @media (min-width: 970px), (orientation: landscape) and (max-width: 969px) {
      .cse-modal--media .cse-modal__media {
        flex: 0 0 70%;
        max-width: 70%;
        height: 100%; } }
  .cse-modal--media .cse-modal__media-info {
    position: relative;
    display: flex;
    flex: 3;
    flex-wrap: wrap;
    align-content: space-between;
    padding: 2rem 0 1.5rem;
    font-size: 14px;
    color: #3a3a3a;
    background-color: #fff; }
    @media (min-width: 481px) {
      .cse-modal--media .cse-modal__media-info {
        flex: 0 0 100%; } }
    @media (orientation: landscape) and (max-width: 969px) {
      .cse-modal--media .cse-modal__media-info {
        display: none; } }
    @media (min-width: 970px), (orientation: landscape) and (max-width: 969px) {
      .cse-modal--media .cse-modal__media-info {
        flex: 0 0 30%; } }
    .cse-modal--media .cse-modal__media-info.scroll-box .cse-modal__media-info-text {
      overflow-y: scroll; }
    .cse-modal--media .cse-modal__media-info.scroll-box .cse-modal__media-info-action {
      position: relative;
      border-top: 1px solid #ccc; }
      .cse-modal--media .cse-modal__media-info.scroll-box .cse-modal__media-info-action::before {
        position: absolute;
        top: -25px;
        right: 1.5rem;
        left: 1.5rem;
        height: 24px;
        content: "";
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), #fff); }
  .cse-modal--media .cse-modal__media-info-text {
    padding: 0 1.5rem 1.5rem;
    line-height: 1.4; }
  .cse-modal--media .cse-modal__media-info-action {
    flex: 1;
    padding: 1.5rem 1.5rem 0; }
    @media (min-width: 768px) {
      .cse-modal--media .cse-modal__media-info-action > .btn {
        max-width: 300px;
        margin: 0 auto; } }
    @media (min-width: 970px) {
      .cse-modal--media .cse-modal__media-info-action > .btn {
        max-width: unset; } }
  .cse-modal--dark .cse-modal__header {
    color: #fff;
    background-color: #3a3a3a; }
  @media (min-width: 768px) {
    .cse-modal--full .cse-modal__dialog {
      box-shadow: none;
      width: 100%;
      height: 100%;
      margin: 0;
      border: none;
      border-radius: 0; } }
  @media (min-width: 768px) {
    .cse-modal--full .cse-modal__header {
      border-radius: 0; } }

.cse-notification {
  font-size: 0.875rem;
  line-height: 1;
  position: relative;
  display: flex;
  align-items: center;
  padding: 1rem;
  border: 1px solid;
  border-radius: 0.25rem; }
  .cse-notification {
    transition: opacity 150ms linear; }
    .cse-notification.cse-fade {
      opacity: 0; }
  .cse-notification::before {
    margin-right: 0.5rem;
    font-family: cs-global-icons, sans-serif;
    font-size: 1.25rem; }
  .cse-notification .cse-link {
    margin-bottom: -0.125rem; }
  .cse-notification__close {
    position: absolute;
    right: 1rem;
    color: inherit; }
  .cse-notification--success {
    color: #005700;
    background-color: #f8fff0;
    border-color: #5ab643; }
    .cse-notification--success::before {
      content: "\f123"; }
  .cse-notification--error {
    color: #8c0b0b;
    background-color: #fef5f1;
    border-color: #f25555; }
    .cse-notification--error::before {
      content: "\f121"; }
  .cse-notification--alert {
    color: #633e00;
    background-color: #fffde6;
    border-color: #f5ab23; }
    .cse-notification--alert::before {
      content: "\f103"; }
  .cse-notification--info {
    color: #3a3a3a;
    background-color: #efefef;
    border-color: #999; }
    .cse-notification--info::before {
      content: "\f132"; }
  .cse-notification--no-icon::before {
    content: unset; }

.cse-pagination {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none; }
  .cse-pagination--centered {
    justify-content: center; }
  .cse-pagination__item {
    display: flex;
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
    cursor: default; }
    .cse-pagination__item.small-hidden {
      display: none; }
    .cse-pagination__item > [class^="pagination__"] {
      display: flex;
      flex: auto;
      align-items: center;
      justify-content: center; }
    @media (min-width: 768px) {
      .cse-pagination__item.small-hidden {
        display: flex; }
      .cse-pagination__item.large-hidden {
        display: none; } }
  @media (min-width: 768px) {
    .cse-pagination__link {
      border-radius: 50%; }
      .cse-pagination__link.active {
        background-color: #ccc; }
      .cse-pagination__link:not(.active):focus, .cse-pagination__link:not(.active):active, .cse-pagination__link:not(.active):hover {
        color: #fff;
        background-color: #21850f; } }
  .cse-pagination__previous:focus, .cse-pagination__previous:active, .cse-pagination__previous:hover {
    color: #21850f; }
  .cse-pagination__previous::after {
    font-family: "cs-global-icons";
    content: "\f107"; }
  .cse-pagination__next:focus, .cse-pagination__next:active, .cse-pagination__next:hover {
    color: #21850f; }
  .cse-pagination__next::after {
    font-family: "cs-global-icons";
    content: "\f109"; }
  .cse-pagination__ellipsis::after {
    content: "of"; }
  @media (min-width: 768px) {
    .cse-pagination__ellipsis::after {
      content: "..."; } }

.slider {
  position: relative;
  width: 100%;
  box-sizing: border-box; }
  .slider * {
    box-sizing: inherit; }
  .slider__track {
    overflow: hidden; }
  .slider__slides {
    position: relative;
    width: 100%;
    list-style: none;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    touch-action: pan-Y;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap;
    will-change: transform; }
    .slider__slides--dragging {
      user-select: none; }
  .slider__slide {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    white-space: normal;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent; }
    .slider__slide a {
      user-select: none;
      -webkit-user-drag: none;
      -moz-user-select: none;
      -ms-user-select: none; }
  .slider__arrows {
    -webkit-touch-callout: none;
    user-select: none; }
  .slider__bullets {
    -webkit-touch-callout: none;
    user-select: none; }
  .slider--rtl {
    direction: rtl; }

.cse-slider--peeking {
  width: 90%; }
  .cse-slider--peeking .cse-slider__track, .cse-slider--peeking .cse-slider__arrows, .cse-slider--peeking .cse-slider__bullets {
    width: 111%; }
  .cse-slider--peeking .cse-slider__track::after {
    position: absolute;
    top: -1.5rem;
    right: -11%;
    bottom: -1.5rem;
    width: 5px;
    content: "";
    background-image: radial-gradient(at 100% 50%, rgba(0, 0, 0, 0.5) 0%, transparent 75%);
    border-right: 1px solid rgba(255, 255, 255, 0.2); }

.cse-slider--lazy:not(.glide--carousel):not(.glide--slider) .cse-slider__track {
  position: relative; }

.cse-slider--lazy:not(.glide--carousel):not(.glide--slider) .cse-slider__slides {
  display: none; }

.cse-slider__slides {
  margin: 0; }

.cse-slider__arrows {
  position: absolute;
  top: 50%;
  width: 100%;
  margin-top: -12px; }

.cse-slider__arrow {
  cursor: pointer;
  background-color: transparent;
  border: 0; }
  .cse-slider__arrow--left {
    position: absolute;
    left: -28px; }
  .cse-slider__arrow--right {
    position: absolute;
    right: -28px; }

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

.cse-slider__bullet {
  width: 11px;
  height: 11px;
  padding: 0;
  cursor: pointer;
  background-color: #ccc;
  border: 0;
  border-radius: 50%; }
  .cse-slider__bullet:hover, .cse-slider__bullet--active {
    background-color: #3a3a3a; }
  .cse-slider__bullet + .cse-slider__bullet {
    margin-left: 1rem; }

.cse-social-share {
  display: inline-block;
  padding: 1rem; }
  .cse-social-share__label {
    display: inline-block;
    margin: 0;
    text-transform: uppercase; }
  .cse-social-share__icon-link {
    margin-left: 2rem;
    cursor: pointer; }
    .cse-social-share__icon-link.icon-facebook {
      color: #435daa; }
    .cse-social-share__icon-link.icon-twitter {
      color: #1da1f2; }
    .cse-social-share__icon-link.icon-pinterest {
      color: #bd081c; }
    .cse-social-share__icon-link.icon-email {
      color: #52c0c4; }
    .cse-social-share__icon-link.icon-printer-solid {
      color: #757575; }
    .cse-social-share__icon-link.icon-more-outline {
      color: #3a3a3a; }
    .cse-social-share__icon-link:hover {
      color: #3a3a3a; }
  .cse-social-share__box {
    line-height: 1;
    text-align: left; }
    .cse-social-share__box-divider {
      padding-bottom: 0.5rem;
      margin-bottom: 0.5rem;
      border-bottom: 1px solid #ccc; }
    .cse-social-share__box .cse-social-share__icon-link {
      margin: 0 1rem 0 0; }

.cse-sticky-share {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: box-shadow 0.2s;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  background-color: #fff; }
  .cse-sticky-share:hover {
    box-shadow: 0 2px 32px rgba(0, 0, 0, 0.1); }
  .cse-sticky-share--loaded {
    display: block; }
  .cse-sticky-share--center {
    text-align: center; }

.cse-tab {
  border: 1px solid #ccc;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
  .cse-tab__nav {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    list-style: none;
    border-bottom: 1px solid #ccc; }
  .cse-tab__item:not(.cse-dropdown__item):not(.dropper__item) {
    flex: 1 0 auto;
    border-left: 1px solid #ccc; }
    .cse-tab__item:not(.cse-dropdown__item):not(.dropper__item):first-child {
      margin-left: -1px; }
    .cse-tab__item:not(.cse-dropdown__item):not(.dropper__item) > a {
      display: block;
      padding: 1rem;
      font-size: 0.889rem;
      line-height: 1.5;
      font-weight: bold;
      text-align: center;
      text-transform: uppercase; }
      .cse-tab__item:not(.cse-dropdown__item):not(.dropper__item) > a:focus, .cse-tab__item:not(.cse-dropdown__item):not(.dropper__item) > a:hover {
        color: #21850f; }
      .cse-tab__item:not(.cse-dropdown__item):not(.dropper__item) > a.active {
        position: relative; }
        .cse-tab__item:not(.cse-dropdown__item):not(.dropper__item) > a.active::after {
          position: absolute;
          right: 0;
          bottom: 0;
          left: 0;
          display: block;
          height: 4px;
          content: "";
          background-color: #5ab643; }
      .cse-tab__item:not(.cse-dropdown__item):not(.dropper__item) > a.disabled {
        color: #757575; }
  .cse-tab__item.cse-dropdown > [data-toggle="dropdown"]::after,
  .cse-tab__item.cse-dropdown > a::after, .cse-tab__item.dropper > [data-toggle="dropdown"]::after,
  .cse-tab__item.dropper > a::after {
    display: inline-block;
    font-family: "cs-global-icons";
    font-size: 0.625rem;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-decoration: inherit;
    text-transform: none;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    vertical-align: inherit;
    font-smoothing: antialiased;
    content: "\f10e";
    padding-left: 0.5rem; }
  .cse-tab__item.cse-dropdown .cse-dropdown__menu a,
  .cse-tab__item.cse-dropdown .dropper__menu a, .cse-tab__item.dropper .cse-dropdown__menu a,
  .cse-tab__item.dropper .dropper__menu a {
    font-size: 0.889rem;
    line-height: 1.5;
    font-weight: bold;
    text-transform: uppercase; }
  .cse-tab__content {
    position: relative;
    z-index: 0;
    padding: 1.5rem 1rem; }
    @media (min-width: 481px) {
      .cse-tab__content {
        padding: 1.5rem 2rem; } }
  .cse-tab__pane {
    transition: opacity 150ms linear; }
    .cse-tab__pane.cse-fade {
      opacity: 0; }
  .cse-tab__pane:not(cse-.active) {
    display: none; }
  .cse-tab__pane p:last-child {
    margin-bottom: 0; }
  .cse-tab--floating {
    border: none; }
    .cse-tab--floating, .cse-tab--floating:hover {
      box-shadow: none; }
    .cse-tab--floating .cse-tab__nav {
      border-bottom: none; }
    .cse-tab--floating .cse-tab__item:not(.cse-dropdown__item):not(.dropper__item) {
      flex: 0 0 auto;
      border-left: none; }
      .cse-tab--floating .cse-tab__item:not(.cse-dropdown__item):not(.dropper__item):first-child {
        margin-left: 0; }
    .cse-tab--floating .cse-tab__content::after {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: -1;
      display: block;
      content: "";
      background-color: #fff;
      border: 1px solid #ccc;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
  .cse-tab--raised .cse-tab__content {
    margin-bottom: 6.25rem; }
    .cse-tab--raised .cse-tab__content::before {
      position: absolute;
      top: 0;
      bottom: -6.25rem;
      left: 50%;
      z-index: -1;
      display: block;
      width: 100vw;
      margin-left: -50vw;
      content: "";
      background-color: #efefef; }

.cse-tooltip {
  transition: opacity 150ms linear;
  border-radius: 0.2rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1070;
  display: block;
  max-width: 18rem;
  padding: 1rem;
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  opacity: 0;
  /* Tooltip text */
  /* Modifiers */ }
  .cse-tooltip[aria-hidden="false"] {
    opacity: 1; }
  .cse-tooltip[x-placement^="top"] {
    margin-bottom: 6px; }
  .cse-tooltip[x-placement^="right"] {
    margin-left: 6px; }
  .cse-tooltip[x-placement^="bottom"] {
    margin-top: 6px; }
  .cse-tooltip[x-placement^="left"] {
    margin-right: 6px; }
  .cse-tooltip__inner {
    font-size: 0.889rem;
    line-height: 1.5;
    color: #000;
    text-align: center;
    word-wrap: break-word; }
  .cse-tooltip__arrow {
    margin: 6px;
    border-color: #ccc; }
    .cse-tooltip__arrow, .cse-tooltip__arrow::after {
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid; }
    .cse-tooltip__arrow::after {
      content: "";
      border-color: #fff; }
    .tooltip[x-placement^="top"] .cse-tooltip__arrow {
      bottom: -6px;
      left: calc(50% - 6px);
      margin-top: 0;
      margin-bottom: 0;
      border-width: 6px 6px 0 6px; }
      .tooltip[x-placement^="top"] .cse-tooltip__arrow, .tooltip[x-placement^="top"] .cse-tooltip__arrow::after {
        border-right-color: transparent;
        border-bottom-color: transparent;
        border-left-color: transparent; }
      .tooltip[x-placement^="top"] .cse-tooltip__arrow::after {
        top: -6px;
        left: -5px;
        border-width: 5px 5px 0 5px; }
    .tooltip[x-placement^="right"] .cse-tooltip__arrow {
      top: calc(50% - 6px);
      left: -6px;
      margin-right: 0;
      margin-left: 0;
      border-width: 6px 6px 6px 0; }
      .tooltip[x-placement^="right"] .cse-tooltip__arrow, .tooltip[x-placement^="right"] .cse-tooltip__arrow::after {
        border-top-color: transparent;
        border-bottom-color: transparent;
        border-left-color: transparent; }
      .tooltip[x-placement^="right"] .cse-tooltip__arrow::after {
        top: -5px;
        left: 1px;
        border-width: 5px 5px 5px 0; }
    .tooltip[x-placement^="bottom"] .cse-tooltip__arrow {
      top: -6px;
      left: calc(50% - 6px);
      margin-top: 0;
      margin-bottom: 0;
      border-width: 0 6px 6px 6px; }
      .tooltip[x-placement^="bottom"] .cse-tooltip__arrow, .tooltip[x-placement^="bottom"] .cse-tooltip__arrow::after {
        border-top-color: transparent;
        border-right-color: transparent;
        border-left-color: transparent; }
      .tooltip[x-placement^="bottom"] .cse-tooltip__arrow::after {
        top: 1px;
        left: -5px;
        border-width: 0 5px 5px 5px; }
    .tooltip[x-placement^="left"] .cse-tooltip__arrow {
      top: calc(50% - 6px);
      right: -6px;
      margin-right: 0;
      margin-left: 0;
      border-width: 6px 0 6px 6px; }
      .tooltip[x-placement^="left"] .cse-tooltip__arrow, .tooltip[x-placement^="left"] .cse-tooltip__arrow::after {
        border-top-color: transparent;
        border-right-color: transparent;
        border-bottom-color: transparent; }
      .tooltip[x-placement^="left"] .cse-tooltip__arrow::after {
        top: -5px;
        left: -6px;
        border-width: 5px 0 5px 5px; }
  .cse-tooltip--dark {
    background-color: #000;
    border: 1px solid #000; }
    .cse-tooltip--dark .cse-tooltip__inner {
      color: #fff; }
    .cse-tooltip--dark .cse-tooltip__arrow {
      border-color: #000; }
      .cse-tooltip--dark .cse-tooltip__arrow::after {
        border-color: #000; }

.cse-user-summary {
  display: flex;
  flex-flow: row wrap; }
  .cse-user-summary + .cse-user-summary {
    margin-top: 1rem; }
  .cse-user-summary__avatar {
    flex: 0 1 auto;
    margin-right: 0.5rem; }
  .cse-user-summary__body {
    font-size: 0.8125rem;
    line-height: 1.35;
    flex: 1 1 0;
    max-width: 15rem; }
  .cse-user-summary__name {
    font-size: 0.875rem;
    line-height: 1.5;
    display: block;
    font-weight: bold; }
    .cse-user-summary__name a {
      padding-bottom: 0.125rem;
      font-size: inherit;
      color: #3a3a3a;
      text-decoration: none;
      border-bottom: 1px dotted #535353;
      border-bottom-color: transparent; }
      .cse-user-summary__name a:active, .cse-user-summary__name a:hover {
        color: #423fe1;
        text-decoration: none;
        cursor: pointer;
        border-bottom: 1px dotted #423fe1; }
      .cse-user-summary__name a:focus {
        border-color: transparent;
        outline: 1px dotted;
        outline-color: #423fe1;
        outline-offset: 0; }
  .cse-user-summary__title {
    display: block;
    font-weight: bold;
    color: #999; }
  .cse-user-summary__info {
    display: inline;
    color: #999; }
  .cse-user-summary--full .cse-user-summary__avatar {
    width: 4rem;
    height: 4rem;
    margin-right: 1rem; }

.cse-row {
  display: flex;
  flex-flow: row wrap; }

.cse-row--margin {
  margin-right: 0.5rem;
  margin-left: 0.5rem; }
  @media (min-width: 481px) {
    .cse-row--margin {
      margin-right: 0.75rem;
      margin-left: 0.75rem; } }
  @media (min-width: 970px) {
    .cse-row--margin {
      margin-right: 1rem;
      margin-left: 1rem; } }

.cse-row--no-gutters > .cse-col {
  padding-right: 0;
  padding-left: 0; }

.cse-row--align-left {
  justify-content: flex-start; }

.cse-row--align-center {
  justify-content: center; }

.cse-row--align-right {
  justify-content: flex-end; }

.cse-col {
  padding-right: 0.5rem;
  padding-left: 0.5rem; }

.cse-col {
  flex: 1 1 0; }

.cse-col-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.cse-col-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.cse-col-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.cse-col-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.cse-col-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.cse-col-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.cse-col-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.cse-col-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.cse-col-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.cse-col-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.cse-col-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.cse-col-12 {
  flex: 0 0 100%;
  max-width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 481px) {
  .cse-col-sm {
    flex: 1 1 0; }
  .cse-col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .cse-col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .cse-col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .cse-col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .cse-col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .cse-col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .cse-col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .cse-col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .cse-col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .cse-col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .cse-col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .cse-col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .cse-col-offset-sm-1 {
    margin-left: 8.33333%; }
  .cse-col-offset-sm-2 {
    margin-left: 16.66667%; }
  .cse-col-offset-sm-3 {
    margin-left: 25%; }
  .cse-col-offset-sm-4 {
    margin-left: 33.33333%; }
  .cse-col-offset-sm-5 {
    margin-left: 41.66667%; }
  .cse-col-offset-sm-6 {
    margin-left: 50%; }
  .cse-col-offset-sm-7 {
    margin-left: 58.33333%; }
  .cse-col-offset-sm-8 {
    margin-left: 66.66667%; }
  .cse-col-offset-sm-9 {
    margin-left: 75%; }
  .cse-col-offset-sm-10 {
    margin-left: 83.33333%; }
  .cse-col-offset-sm-11 {
    margin-left: 91.66667%; } }

@media (min-width: 768px) {
  .cse-col {
    padding-right: 0.75rem;
    padding-left: 0.75rem; }
  .cse-col-md {
    flex: 1 1 0; }
  .cse-col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .cse-col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .cse-col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .cse-col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .cse-col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .cse-col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .cse-col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .cse-col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .cse-col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .cse-col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .cse-col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .cse-col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .cse-col-offset-md-1 {
    margin-left: 8.33333%; }
  .cse-col-offset-md-2 {
    margin-left: 16.66667%; }
  .cse-col-offset-md-3 {
    margin-left: 25%; }
  .cse-col-offset-md-4 {
    margin-left: 33.33333%; }
  .cse-col-offset-md-5 {
    margin-left: 41.66667%; }
  .cse-col-offset-md-6 {
    margin-left: 50%; }
  .cse-col-offset-md-7 {
    margin-left: 58.33333%; }
  .cse-col-offset-md-8 {
    margin-left: 66.66667%; }
  .cse-col-offset-md-9 {
    margin-left: 75%; }
  .cse-col-offset-md-10 {
    margin-left: 83.33333%; }
  .cse-col-offset-md-11 {
    margin-left: 91.66667%; } }

@media (min-width: 970px) {
  .cse-col-lg {
    flex: 1 1 0; }
  .cse-col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .cse-col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .cse-col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .cse-col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .cse-col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .cse-col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .cse-col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .cse-col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .cse-col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .cse-col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .cse-col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .cse-col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .cse-col-offset-lg-1 {
    margin-left: 8.33333%; }
  .cse-col-offset-lg-2 {
    margin-left: 16.66667%; }
  .cse-col-offset-lg-3 {
    margin-left: 25%; }
  .cse-col-offset-lg-4 {
    margin-left: 33.33333%; }
  .cse-col-offset-lg-5 {
    margin-left: 41.66667%; }
  .cse-col-offset-lg-6 {
    margin-left: 50%; }
  .cse-col-offset-lg-7 {
    margin-left: 58.33333%; }
  .cse-col-offset-lg-8 {
    margin-left: 66.66667%; }
  .cse-col-offset-lg-9 {
    margin-left: 75%; }
  .cse-col-offset-lg-10 {
    margin-left: 83.33333%; }
  .cse-col-offset-lg-11 {
    margin-left: 91.66667%; } }

@media (min-width: 1200px) {
  .cse-col-xl {
    flex: 1 1 0; }
  .cse-col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .cse-col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .cse-col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .cse-col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .cse-col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .cse-col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .cse-col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .cse-col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .cse-col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .cse-col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .cse-col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .cse-col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .cse-col-offset-xl-1 {
    margin-left: 8.33333%; }
  .cse-col-offset-xl-2 {
    margin-left: 16.66667%; }
  .cse-col-offset-xl-3 {
    margin-left: 25%; }
  .cse-col-offset-xl-4 {
    margin-left: 33.33333%; }
  .cse-col-offset-xl-5 {
    margin-left: 41.66667%; }
  .cse-col-offset-xl-6 {
    margin-left: 50%; }
  .cse-col-offset-xl-7 {
    margin-left: 58.33333%; }
  .cse-col-offset-xl-8 {
    margin-left: 66.66667%; }
  .cse-col-offset-xl-9 {
    margin-left: 75%; }
  .cse-col-offset-xl-10 {
    margin-left: 83.33333%; }
  .cse-col-offset-xl-11 {
    margin-left: 91.66667%; } }

.cse-stylekit-base-fonts {
  font-family: "Lato", helvetica, arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #3a3a3a;
  text-rendering: optimizeLegibility;
  letter-spacing: normal; }

.cse-container {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  width: 100%;
  max-width: 100%; }
  .cse-container::after {
    display: table;
    clear: both;
    content: ""; }
  @media (min-width: 768px) {
    .cse-container {
      padding-right: 0.75rem;
      padding-left: 0.75rem; } }
  @media (min-width: 481px) {
    .cse-container {
      width: 100%;
      max-width: 100%; } }
  @media (min-width: 768px) {
    .cse-container {
      width: 100%;
      max-width: 100%; } }
  @media (min-width: 970px) {
    .cse-container {
      width: 100%;
      max-width: 100%; } }
  @media (min-width: 1200px) {
    .cse-container {
      width: 75rem;
      max-width: 100%; } }
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxla2l0X2NzZS5jc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvdXRpbGl0aWVzL19ub3JtYWxpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9mdW5jdGlvbnMvX3VuaXRfdG8uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy91dGlsaXRpZXMvX3JlYm9vdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3NldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3NldHRpbmdzL19jb2xvcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9zZXR0aW5ncy9fbGlua3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbWl4aW5zL19mb250U2l6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3V0aWxpdGllcy9fZm9udHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy91dGlsaXRpZXMvYmFja2dyb3VuZHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX2JhY2tncm91bmRWYXJpYW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbWl4aW5zL19ncmFkaWVudFRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1pY29ucy9zcmMvc2Nzcy9fbWl4aW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3MtaWNvbnMvc3JjL3Njc3MvZ2xvYmFsL19nbG9iYWwubWl4aW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1pY29ucy9zcmMvc2Nzcy9nbG9iYWwvZ2xvYmFsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3MtaWNvbnMvc3JjL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3V0aWxpdGllcy9zaGFkb3dzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbWl4aW5zL19ib3hTaGFkb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9zZXR0aW5ncy9fc2hhZG93cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3NldHRpbmdzL19mb2N1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21peGlucy9fc3BhY2luZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3V0aWxpdGllcy90eXBvZ3JhcGh5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvZnVuY3Rpb25zL19tb2R1bGFyc2NhbGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9zZXR0aW5ncy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3Mvc2V0dGluZ3MvX2dsb2JhbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX2JvcmRlclJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3N0eWxla2l0X2NzZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21peGlucy9fdGFiRm9jdXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3Mvc2V0dGluZ3MvX2ljb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvYXRvbXMvbWl4aW5zL19kaXZpZGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL2F0b21zL21peGlucy9fZm9ybUNvbnRyb2wubWl4aW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9mdW5jdGlvbnMvX3NlbGVjdG9ycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL2F0b21zL21peGlucy9fZm9ybUNvbnRyb2xDaGVja2JveC5taXhpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL2F0b21zL21peGlucy9fZm9ybUNvbnRyb2xSYWRpby5taXhpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL2F0b21zL21peGlucy9fZm9ybUhlbHBlci5taXhpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL2F0b21zL21peGlucy9faGVhZGluZ3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2lubGluZVRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2xpbmtzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvYXRvbXMvbGlzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2xvYWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3NldHRpbmdzL196aW5kZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2F2YXRhcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX3RhZ3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9tb2xlY3VsZXMvbWl4aW5zL19hY2NvcmRpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbW9sZWN1bGVzL21peGlucy9fZHJvcGRvd25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbW9sZWN1bGVzL21peGlucy9fZm9ybS5taXhpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21vbGVjdWxlcy9taXhpbnMvX2hlcm9lcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21vbGVjdWxlcy9taXhpbnMvX21vZGFscy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21vbGVjdWxlcy9taXhpbnMvX25vdGlmaWNhdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9tb2xlY3VsZXMvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGdsaWRlanMvZ2xpZGUvc3JjL2Fzc2V0cy9zYXNzL2dsaWRlLmNvcmUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9tb2xlY3VsZXMvbWl4aW5zL19zbGlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9tb2xlY3VsZXMvbWl4aW5zL19zb2NpYWxTaGFyZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21vbGVjdWxlcy9taXhpbnMvX3N0aWNreVNoYXJlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbW9sZWN1bGVzL21peGlucy9fdGFicy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21vbGVjdWxlcy9taXhpbnMvX3Rvb2x0aXBzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3Mvc2V0dGluZ3MvX3Rvb2x0aXBzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbW9sZWN1bGVzL21peGlucy9fdXNlclN1bW1hcmllcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL2xheW91dHMvX2ZsZXhHcmlkLm1peGluLnNjc3MiLCIuLi9zYXNzL3N0eWxla2l0X2NzZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0LW9sZC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0LW9sZC9zY3NzL3NldHRpbmdzL19ncmlkcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyJdLCJu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QixpQkFBZ0I7RUFDaEIsd0VBQTBEO0VBQzFELG9YQUErVCxFQUFBOztBQ3JEalU7RUFDRSxZTFFnQjtFS1BoQiwwQkxTeUIsRUtSMUI7O0FBR0Q7RUFDRSxZTEVnQjtFS0RoQiwwQkxIc0IsRUtJdkI7O0FBR0Q7RUFDRSwwQkxOa0IsRUtPbkI7O0FBR0Q7RUFDRSx1QkxUZ0IsRUtVakI7O0FBR0Q7RUFDRSx1QkwxQmlCLEVLMkJsQjs7O0FBRUQ7RUM3QkUsWU5JaUI7RU1IakIsMEJObUJvQixFS1lyQjs7O0FBbUNDO0VDdkRGLGVORTJCLEVLd0R4Qjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOYXlCLEVLNkR4Qjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOSndCLEVLOERyQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOT3NCLEVLbUVyQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVORm9CLEVLNERqQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOU2tCLEVLaUVqQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLFlOQWtCLEVLMERmOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQix1Qk5XZ0IsRUsrRGY7O0FIcEREO0VHd0RJLHVCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixZTlptQixFS3NFaEI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLHVCTkRpQixFSzJFaEI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTlZtQixFS29FaEI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTkNpQixFS3lFaEI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTmdEcUIsRUtVbEI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTjJEbUIsRUtlbEI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTnNCcUIsRUtvQ2xCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk5pQ21CLEVLeUNsQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOa0IwQixFS3dDdkI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTjZCd0IsRUs2Q3ZCOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU5nQnFCLEVLMENsQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOMkJtQixFSytDbEI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTlV1QixFS2dEcEI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTnFCcUIsRUtxRHBCOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU5ZcUIsRUs4Q2xCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk51Qm1CLEVLbURsQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOb0ZtQyxFSzFCaEM7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTitGaUMsRUtyQmhDOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU5xRjBCLEVLM0J2Qjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOZ0d3QixFS3RCdkI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTjBCb0IsRUtnQ2pCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk5xQ2tCLEVLcUNqQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOd0JzQixFS2tDbkI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTm1Db0IsRUt1Q25COztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU4wQm9CLEVLZ0NqQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOcUNrQixFS3FDakI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTjRCdUIsRUs4QnBCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk51Q3FCLEVLbUNwQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOa0NzQixFS3dCbkI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTjZDb0IsRUs2Qm5COztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU5vQ3NCLEVLc0JuQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOK0NvQixFSzJCbkI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTnNDdUIsRUtvQnBCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk5pRHFCLEVLeUJwQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOY3FCLEVLNENsQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOeUJtQixFS2lEbEI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixZTlJtQixFS2tFaEI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLHVCTkdpQixFS3VFaEI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR29FRDtFQzNGQSw2RE5tRmlFLEVLV2hFOztBRS9GZ0M7O0VGaUdqQztJRWhHQSxtQkFBa0I7SUFDbEIsc0JBQXFCO0lBQ3JCLGtCQUFpQjtJQWVmLFlQSmU7SU9LZixpQlBqQmU7SU9rQmYseUJBQXdCLEVGZ0Z6Qjs7SUUvRkQ7TUFDRSxtQkFBa0I7TUFDbEIsT0FBTTtNQUNOLFNBQVE7TUFDUixVQUFTO01BQ1QsUUFBTztNQUNQLGVBQWM7TUFDZCxxQkFBb0I7TUFDcEIsWUFBVztNQUNYLDZEQUE4QixFQUMvQjs7SUFWRDtNQWtCSSx1QkFBc0IsRUFDdkIsRUFBQTs7O0FGb0VIO0VDM0ZBLDZETnNGK0QsRUtROUQ7O0FFL0ZnQzs7RUZpR2pDO0lFaEdBLG1CQUFrQjtJQUNsQixzQkFBcUI7SUFDckIsa0JBQWlCO0lBZWYsWVBKZTtJT0tmLGlCUGpCZTtJT2tCZix5QkFBd0IsRUZnRnpCOztJRS9GRDtNQUNFLG1CQUFrQjtNQUNsQixPQUFNO01BQ04sU0FBUTtNQUNSLFVBQVM7TUFDVCxRQUFPO01BQ1AsZUFBYztNQUNkLHFCQUFvQjtNQUNwQixZQUFXO01BQ1gsNkRBQThCLEVBQy9COztJQVZEO01Ba0JJLHVCQUFzQixFQUN2QixFQUFBOztBQzhDTDtFQUNFLCtCQytDcUM7RUQ5Q3JDLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIsNkZBQXNDO0VBQ3RDLHVqQkFBbVMsRUFBQTs7QUFHclM7RUFDRTtJQUNFLCtCQ3NDbUM7SURyQ25DLDJIQUErRCxFQUFBLEVBQUE7O0FBaEZuRTtFQUNFLHNCQUFxQjtFQUNyQiwrQkFBeUI7RUFDekIsbUJBQTJDO0VBQzNDLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIscUJBQW9CO0VBQ3BCLGVBQWM7RUFDZCx5QkFBd0I7RUFDeEIscUJBQW9CO0VBQ3BCLG1DQUFrQztFQUNsQyxvQ0FBbUM7RUFDbkMsbUNBQWtDO0VBQ2xDLHdCQUF1QjtFQUN2Qiw0QkFBMkIsRUFHNUI7O0FBK0VDO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQUhIO0VBRUksaUJBQXFDLEVBQ3RDOztBQW5HTDtFQUNFLHNCQUFxQjtFQUNyQiwrQkFBeUI7RUFDekIsbUJBQTJDO0VBQzNDLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIscUJBQW9CO0VBQ3BCLGVBQWM7RUFDZCx5QkFBd0I7RUFDeEIscUJBQW9CO0VBQ3BCLG1DQUFrQztFQUNsQyxvQ0FBbUM7RUFDbkMsbUNBQWtDO0VBQ2xDLHdCQUF1QjtFQUN2Qiw0QkFBMkI7RUFvR3ZCLGNBQWEsRUFqR2xCOztBQXlHRztFQUVJLHdHQUFtRixFQUNwRjs7QUFISDtFQUVJLDJHQUFtRixFQUNwRjs7QUFISDtFQUVJLHdHQUFtRixFQUNwRjs7QUFISDtFQUVJLGtIQUFtRixFQUNwRjs7QUFISDtFQUVJLDBHQUFtRixFQUNwRjs7QUFISDtFQUVJLDhHQUFtRixFQUNwRjs7QUFISDtFQUVJLDBGQUFtRixFQUNwRjs7QUFISDtFQUVJLGdHQUFtRixFQUNwRjs7QUFISDtFQUVJLG9HQUFtRixFQUNwRjs7QUUvSFQ7RUFVSSxnQkNtQndFO0VEbEJ4RSxpQkNrQndFLEVEakJ6RTs7QUVsQkQ7RUNHQSx5Q0NDcUM7RURFbkMsNEJDdUJvQixFRnJCckI7RUNBQztJQUNFLDBDQ0ppQyxFREtsQztFRE5DO0lDREosdUNDUXFDO0lETG5DLDRCQ3VCb0IsRUZ2QmpCO0lDRUg7TUFDRSx5Q0NHa0MsRURGbkM7RUROQztJQ0RKLHlDQ1l1QztJRFRyQyw0QkN1Qm9CLEVGdkJqQjtJQ0VIO01BQ0UsMENDT21DLEVETnBDO0VETkM7SUNESiwwQ0NnQndDLEVGYm5DO0VBRkQ7SUNESixpRUVEMEYsRUhJckY7OztBSUNMO0VBRUUsd0JBQW9DLEVBQ3JDOzs7QUFHRDs7RUFFRSw0QkFBNEMsRUFDN0M7OztBQUdEOztFQUVFLDhCQUFnRCxFQUNqRDs7O0FBR0Q7O0VBRUUsK0JBQWtELEVBQ25EOzs7QUFHRDs7RUFFRSw2QkFBOEMsRUFDL0M7OztBQTNCRDtFQUVFLDBCQUFvQyxFQUNyQzs7O0FBR0Q7O0VBRUUsOEJBQTRDLEVBQzdDOzs7QUFHRDs7RUFFRSxnQ0FBZ0QsRUFDakQ7OztBQUdEOztFQUVFLGlDQUFrRCxFQUNuRDs7O0FBR0Q7O0VBRUUsK0JBQThDLEVBQy9DOzs7QUEzQkQ7RUFFRSwwQkFBb0MsRUFDckM7OztBQUdEOztFQUVFLDhCQUE0QyxFQUM3Qzs7O0FBR0Q7O0VBRUUsZ0NBQWdELEVBQ2pEOzs7QUFHRDs7RUFFRSxpQ0FBa0QsRUFDbkQ7OztBQUdEOztFQUVFLCtCQUE4QyxFQUMvQzs7O0FBM0JEO0VBRUUsd0JBQW9DLEVBQ3JDOzs7QUFHRDs7RUFFRSw0QkFBNEMsRUFDN0M7OztBQUdEOztFQUVFLDhCQUFnRCxFQUNqRDs7O0FBR0Q7O0VBRUUsK0JBQWtELEVBQ25EOzs7QUFHRDs7RUFFRSw2QkFBOEMsRUFDL0M7OztBQTNCRDtFQUVFLHdCQUFvQyxFQUNyQzs7O0FBR0Q7O0VBRUUsNEJBQTRDLEVBQzdDOzs7QUFHRDs7RUFFRSw4QkFBZ0QsRUFDakQ7OztBQUdEOztFQUVFLCtCQUFrRCxFQUNuRDs7O0FBR0Q7O0VBRUUsNkJBQThDLEVBQy9DOzs7QUEzQkQ7RUFFRSx3QkFBb0MsRUFDckM7OztBQUdEOztFQUVFLDRCQUE0QyxFQUM3Qzs7O0FBR0Q7O0VBRUUsOEJBQWdELEVBQ2pEOzs7QUFHRDs7RUFFRSwrQkFBa0QsRUFDbkQ7OztBQUdEOztFQUVFLDZCQUE4QyxFQUMvQzs7O0FBM0JEO0VBRUUseUJBQW9DLEVBQ3JDOzs7QUFHRDs7RUFFRSw2QkFBNEMsRUFDN0M7OztBQUdEOztFQUVFLCtCQUFnRCxFQUNqRDs7O0FBR0Q7O0VBRUUsZ0NBQWtELEVBQ25EOzs7QUFHRDs7RUFFRSw4QkFBOEMsRUFDL0M7OztBQTNCRDtFQUVFLDJCQUFvQyxFQUNyQzs7O0FBR0Q7O0VBRUUsK0JBQTRDLEVBQzdDOzs7QUFHRDs7RUFFRSxpQ0FBZ0QsRUFDakQ7OztBQUdEOztFQUVFLGtDQUFrRCxFQUNuRDs7O0FBR0Q7O0VBRUUsZ0NBQThDLEVBQy9DOzs7QUEzQkQ7RUFFRSwyQkFBb0MsRUFDckM7OztBQUdEOztFQUVFLCtCQUE0QyxFQUM3Qzs7O0FBR0Q7O0VBRUUsaUNBQWdELEVBQ2pEOzs7QUFHRDs7RUFFRSxrQ0FBa0QsRUFDbkQ7OztBQUdEOztFQUVFLGdDQUE4QyxFQUMvQzs7O0FBM0JEO0VBRUUseUJBQW9DLEVBQ3JDOzs7QUFHRDs7RUFFRSw2QkFBNEMsRUFDN0M7OztBQUdEOztFQUVFLCtCQUFnRCxFQUNqRDs7O0FBR0Q7O0VBRUUsZ0NBQWtELEVBQ25EOzs7QUFHRDs7RUFFRSw4QkFBOEMsRUFDL0M7OztBQTNCRDtFQUVFLHlCQUFvQyxFQUNyQzs7O0FBR0Q7O0VBRUUsNkJBQTRDLEVBQzdDOzs7QUFHRDs7RUFFRSwrQkFBZ0QsRUFDakQ7OztBQUdEOztFQUVFLGdDQUFrRCxFQUNuRDs7O0FBR0Q7O0VBRUUsOEJBQThDLEVBQy9DOzs7QUEzQkQ7RUFFRSx5QkFBb0MsRUFDckM7OztBQUdEOztFQUVFLDZCQUE0QyxFQUM3Qzs7O0FBR0Q7O0VBRUUsK0JBQWdELEVBQ2pEOzs7QUFHRDs7RUFFRSxnQ0FBa0QsRUFDbkQ7OztBQUdEOztFQUVFLDhCQUE4QyxFQUMvQzs7O0FBM0JEO0VBd0RVLHdCQUFvQyxFQUNyQzs7O0FBbkRUOztFQXdEVSw0QkFBNEMsRUFDN0M7OztBQW5EVDs7RUF3RFUsOEJBQWdELEVBQ2pEOzs7QUFuRFQ7O0VBd0RVLCtCQUFrRCxFQUNuRDs7O0FBbkRUOztFQXdEVSw2QkFBOEMsRUFDL0M7OztBQWpGVDtFQXdEVSwwQkFBb0MsRUFDckM7OztBQW5EVDs7RUF3RFUsOEJBQTRDLEVBQzdDOzs7QUFuRFQ7O0VBd0RVLGdDQUFnRCxFQUNqRDs7O0FBbkRUOztFQXdEVSxpQ0FBa0QsRUFDbkQ7OztBQW5EVDs7RUF3RFUsK0JBQThDLEVBQy9DOzs7QUFqRlQ7RUF3RFUsMEJBQW9DLEVBQ3JDOzs7QUFuRFQ7O0VBd0RVLDhCQUE0QyxFQUM3Qzs7O0FBbkRUOztFQXdEVSxnQ0FBZ0QsRUFDakQ7OztBQW5EVDs7RUF3RFUsaUNBQWtELEVBQ25EOzs7QUFuRFQ7O0VBd0RVLCtCQUE4QyxFQUMvQzs7O0FBakZUO0VBd0RVLHdCQUFvQyxFQUNyQzs7O0FBbkRUOztFQXdEVSw0QkFBNEMsRUFDN0M7OztBQW5EVDs7RUF3RFUsOEJBQWdELEVBQ2pEOzs7QUFuRFQ7O0VBd0RVLCtCQUFrRCxFQUNuRDs7O0FBbkRUOztFQXdEVSw2QkFBOEMsRUFDL0M7OztBQWpGVDtFQXdEVSx3QkFBb0MsRUFDckM7OztBQW5EVDs7RUF3RFUsNEJBQTRDLEVBQzdDOzs7QUFuRFQ7O0VBd0RVLDhCQUFnRCxFQUNqRDs7O0FBbkRUOztFQXdEVSwrQkFBa0QsRUFDbkQ7OztBQW5EVDs7RUF3RFUsNkJBQThDLEVBQy9DOzs7QUFqRlQ7RUF3RFUsd0JBQW9DLEVBQ3JDOzs7QUFuRFQ7O0VBd0RVLDRCQUE0QyxFQUM3Qzs7O0FBbkRUOztFQXdEVSw4QkFBZ0QsRUFDakQ7OztBQW5EVDs7RUF3RFUsK0JBQWtELEVBQ25EOzs7QUFuRFQ7O0VBd0RVLDZCQUE4QyxFQUMvQzs7O0FBakZUO0VBd0RVLHlCQUFvQyxFQUNyQzs7O0FBbkRUOztFQXdEVSw2QkFBNEMsRUFDN0M7OztBQW5EVDs7RUF3RFUsK0JBQWdELEVBQ2pEOzs7QUFuRFQ7O0VBd0RVLGdDQUFrRCxFQUNuRDs7O0FBbkRUOztFQXdEVSw4QkFBOEMsRUFDL0M7OztBQWpGVDtFQXdEVSwyQkFBb0MsRUFDckM7OztBQW5EVDs7RUF3RFUsK0JBQTRDLEVBQzdDOzs7QUFuRFQ7O0VBd0RVLGlDQUFnRCxFQUNqRDs7O0FBbkRUOztFQXdEVSxrQ0FBa0QsRUFDbkQ7OztBQW5EVDs7RUF3RFUsZ0NBQThDLEVBQy9DOzs7QUFqRlQ7RUF3RFUsMkJBQW9DLEVBQ3JDOzs7QUFuRFQ7O0VBd0RVLCtCQUE0QyxFQUM3Qzs7O0FBbkRUOztFQXdEVSxpQ0FBZ0QsRUFDakQ7OztBQW5EVDs7RUF3RFUsa0NBQWtELEVBQ25EOzs7QUFuRFQ7O0VBd0RVLGdDQUE4QyxFQUMvQzs7O0FBakZUO0VBd0RVLHlCQUFvQyxFQUNyQzs7O0FBbkRUOztFQXdEVSw2QkFBNEMsRUFDN0M7OztBQW5EVDs7RUF3RFUsK0JBQWdELEVBQ2pEOzs7QUFuRFQ7O0VBd0RVLGdDQUFrRCxFQUNuRDs7O0FBbkRUOztFQXdEVSw4QkFBOEMsRUFDL0M7OztBQWpGVDtFQXdEVSx5QkFBb0MsRUFDckM7OztBQW5EVDs7RUF3RFUsNkJBQTRDLEVBQzdDOzs7QUFuRFQ7O0VBd0RVLCtCQUFnRCxFQUNqRDs7O0FBbkRUOztFQXdEVSxnQ0FBa0QsRUFDbkQ7OztBQW5EVDs7RUF3RFUsOEJBQThDLEVBQy9DOzs7QUFqRlQ7RUF3RFUseUJBQW9DLEVBQ3JDOzs7QUFuRFQ7O0VBd0RVLDZCQUE0QyxFQUM3Qzs7O0FBbkRUOztFQXdEVSwrQkFBZ0QsRUFDakQ7OztBQW5EVDs7RUF3RFUsZ0NBQWtELEVBQ25EOzs7QUFuRFQ7O0VBd0RVLDhCQUE4QyxFQUMvQzs7QWpCN0JQOztFaUJFTTtJQUVFLHdCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw0QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsOEJBQWdELEVBQ2pEOztFQUdEOztJQUVFLCtCQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw2QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUsMEJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDhCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSxnQ0FBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsaUNBQWtELEVBQ25EOztFQUdEOztJQUVFLCtCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSwwQkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsOEJBQTRDLEVBQzdDOztFQUdEOztJQUVFLGdDQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxpQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsK0JBQThDLEVBQy9DOztFQTNCRDtJQUVFLHdCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw0QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsOEJBQWdELEVBQ2pEOztFQUdEOztJQUVFLCtCQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw2QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUsd0JBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDRCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSw4QkFBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsK0JBQWtELEVBQ25EOztFQUdEOztJQUVFLDZCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSx3QkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsNEJBQTRDLEVBQzdDOztFQUdEOztJQUVFLDhCQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSwrQkFBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsNkJBQThDLEVBQy9DOztFQTNCRDtJQUVFLHlCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw2QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsK0JBQWdELEVBQ2pEOztFQUdEOztJQUVFLGdDQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw4QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUsMkJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLCtCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSxpQ0FBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsa0NBQWtELEVBQ25EOztFQUdEOztJQUVFLGdDQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSwyQkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsK0JBQTRDLEVBQzdDOztFQUdEOztJQUVFLGlDQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxrQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsZ0NBQThDLEVBQy9DOztFQTNCRDtJQUVFLHlCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw2QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsK0JBQWdELEVBQ2pEOztFQUdEOztJQUVFLGdDQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw4QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUseUJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDZCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSwrQkFBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsZ0NBQWtELEVBQ25EOztFQUdEOztJQUVFLDhCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSx5QkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsNkJBQTRDLEVBQzdDOztFQUdEOztJQUVFLCtCQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxnQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsOEJBQThDLEVBQy9DLEVBQUE7O0FqQjdCUDs7RWlCRU07SUFFRSx3QkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsNEJBQTRDLEVBQzdDOztFQUdEOztJQUVFLDhCQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSwrQkFBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsNkJBQThDLEVBQy9DOztFQTNCRDtJQUVFLDBCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw4QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsZ0NBQWdELEVBQ2pEOztFQUdEOztJQUVFLGlDQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSwrQkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUsMEJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDhCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSxnQ0FBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsaUNBQWtELEVBQ25EOztFQUdEOztJQUVFLCtCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSx3QkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsNEJBQTRDLEVBQzdDOztFQUdEOztJQUVFLDhCQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSwrQkFBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsNkJBQThDLEVBQy9DOztFQTNCRDtJQUVFLHdCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw0QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsOEJBQWdELEVBQ2pEOztFQUdEOztJQUVFLCtCQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw2QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUsd0JBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDRCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSw4QkFBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsK0JBQWtELEVBQ25EOztFQUdEOztJQUVFLDZCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSx5QkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsNkJBQTRDLEVBQzdDOztFQUdEOztJQUVFLCtCQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxnQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsOEJBQThDLEVBQy9DOztFQTNCRDtJQUVFLDJCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSwrQkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsaUNBQWdELEVBQ2pEOztFQUdEOztJQUVFLGtDQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSxnQ0FBOEMsRUFDL0M7O0VBM0JEO0lBRUUsMkJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLCtCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSxpQ0FBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsa0NBQWtELEVBQ25EOztFQUdEOztJQUVFLGdDQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSx5QkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsNkJBQTRDLEVBQzdDOztFQUdEOztJQUVFLCtCQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxnQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsOEJBQThDLEVBQy9DOztFQTNCRDtJQUVFLHlCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw2QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsK0JBQWdELEVBQ2pEOztFQUdEOztJQUVFLGdDQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw4QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUseUJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDZCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSwrQkFBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsZ0NBQWtELEVBQ25EOztFQUdEOztJQUVFLDhCQUE4QyxFQUMvQyxFQUFBOztBakI3QlA7O0VpQkVNO0lBRUUsd0JBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDRCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSw4QkFBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsK0JBQWtELEVBQ25EOztFQUdEOztJQUVFLDZCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSwwQkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsOEJBQTRDLEVBQzdDOztFQUdEOztJQUVFLGdDQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxpQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsK0JBQThDLEVBQy9DOztFQTNCRDtJQUVFLDBCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw4QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsZ0NBQWdELEVBQ2pEOztFQUdEOztJQUVFLGlDQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSwrQkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUsd0JBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDRCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSw4QkFBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsK0JBQWtELEVBQ25EOztFQUdEOztJQUVFLDZCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSx3QkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsNEJBQTRDLEVBQzdDOztFQUdEOztJQUVFLDhCQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSwrQkFBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsNkJBQThDLEVBQy9DOztFQTNCRDtJQUVFLHdCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw0QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsOEJBQWdELEVBQ2pEOztFQUdEOztJQUVFLCtCQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw2QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUseUJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDZCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSwrQkFBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsZ0NBQWtELEVBQ25EOztFQUdEOztJQUVFLDhCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSwyQkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsK0JBQTRDLEVBQzdDOztFQUdEOztJQUVFLGlDQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxrQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsZ0NBQThDLEVBQy9DOztFQTNCRDtJQUVFLDJCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSwrQkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsaUNBQWdELEVBQ2pEOztFQUdEOztJQUVFLGtDQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSxnQ0FBOEMsRUFDL0M7O0VBM0JEO0lBRUUseUJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDZCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSwrQkFBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsZ0NBQWtELEVBQ25EOztFQUdEOztJQUVFLDhCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSx5QkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsNkJBQTRDLEVBQzdDOztFQUdEOztJQUVFLCtCQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxnQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsOEJBQThDLEVBQy9DOztFQTNCRDtJQUVFLHlCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw2QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsK0JBQWdELEVBQ2pEOztFQUdEOztJQUVFLGdDQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw4QkFBOEMsRUFDL0MsRUFBQTs7QWpCN0JQOztFaUJFTTtJQUVFLHdCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw0QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsOEJBQWdELEVBQ2pEOztFQUdEOztJQUVFLCtCQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw2QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUsMEJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDhCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSxnQ0FBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsaUNBQWtELEVBQ25EOztFQUdEOztJQUVFLCtCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSwwQkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsOEJBQTRDLEVBQzdDOztFQUdEOztJQUVFLGdDQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxpQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsK0JBQThDLEVBQy9DOztFQTNCRDtJQUVFLHdCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw0QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsOEJBQWdELEVBQ2pEOztFQUdEOztJQUVFLCtCQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw2QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUsd0JBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDRCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSw4QkFBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsK0JBQWtELEVBQ25EOztFQUdEOztJQUVFLDZCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSx3QkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsNEJBQTRDLEVBQzdDOztFQUdEOztJQUVFLDhCQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSwrQkFBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsNkJBQThDLEVBQy9DOztFQTNCRDtJQUVFLHlCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw2QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsK0JBQWdELEVBQ2pEOztFQUdEOztJQUVFLGdDQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw4QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUsMkJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLCtCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSxpQ0FBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsa0NBQWtELEVBQ25EOztFQUdEOztJQUVFLGdDQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSwyQkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsK0JBQTRDLEVBQzdDOztFQUdEOztJQUVFLGlDQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxrQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsZ0NBQThDLEVBQy9DOztFQTNCRDtJQUVFLHlCQUFvQyxFQUNyQzs7RUFHRDs7SUFFRSw2QkFBNEMsRUFDN0M7O0VBR0Q7O0lBRUUsK0JBQWdELEVBQ2pEOztFQUdEOztJQUVFLGdDQUFrRCxFQUNuRDs7RUFHRDs7SUFFRSw4QkFBOEMsRUFDL0M7O0VBM0JEO0lBRUUseUJBQW9DLEVBQ3JDOztFQUdEOztJQUVFLDZCQUE0QyxFQUM3Qzs7RUFHRDs7SUFFRSwrQkFBZ0QsRUFDakQ7O0VBR0Q7O0lBRUUsZ0NBQWtELEVBQ25EOztFQUdEOztJQUVFLDhCQUE4QyxFQUMvQzs7RUEzQkQ7SUFFRSx5QkFBb0MsRUFDckM7O0VBR0Q7O0lBRUUsNkJBQTRDLEVBQzdDOztFQUdEOztJQUVFLCtCQUFnRCxFQUNqRDs7RUFHRDs7SUFFRSxnQ0FBa0QsRUFDbkQ7O0VBR0Q7O0lBRUUsOEJBQThDLEVBQy9DLEVBQUE7O0FDcEZQO0VkT0EsZ0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CN0JmOztBQUZEO0VkT0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CN0JmOztBQUZEO0VkT0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CN0JmOztBQUZEO0VkT0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CN0JmOztBQUZEO0VkT0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CN0JmOztBQUZEO0VkT0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CN0JmOztBQUZEO0VkT0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CN0JmOztBQUZEO0VkT0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CN0JmOztBQUZEO0VkT0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CN0JmOztBQUZEO0VkT0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CN0JmOztBQUlEO0VkQ0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CdkJmOztBQUZEO0VkQ0EsbUJlUndEO0VmWXhELGlCTG9CZ0IsRW1CdkJmOztBQUZEO0VkQ0Esb0JlUndEO0VmWXhELGlCTG9CZ0IsRW1CdkJmOztBRUpDO0VBQ0UsZUFBYyxFQUNmOztBQUVEO0VBQ0UsY0FBYSxFQUNkOztBcEI2Q0g7RW9CbkRFO0lBQ0UsZUFBYyxFQUNmO0VBRUQ7SUFDRSxjQUFhLEVBQ2QsRUFBQTs7QXBCNkNIO0VvQm5ERTtJQUNFLGVBQWMsRUFDZjtFQUVEO0lBQ0UsY0FBYSxFQUNkLEVBQUE7O0FwQjZDSDtFb0JuREU7SUFDRSxlQUFjLEVBQ2Y7RUFFRDtJQUNFLGNBQWEsRUFDZCxFQUFBOztBcEI2Q0g7RW9CbkRFO0lBQ0UsZUFBYyxFQUNmO0VBRUQ7SUFDRSxjQUFhLEVBQ2QsRUFBQTs7QUMwTEw7RUEvS0Usc0JBQXFCO0VBQ3JCLGtCQ2dFcUI7RUQvRHJCLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIsdUJBQXNCO0VBQ3RCLGdCQUFlO0VBQ2Ysa0JBQWlCO0VFMUJuQixxQkRvS3FCO0VDbktyQixvQkFBbUI7RUFDbkIsd0JDU3dCO0VwQkx0QixnQkxrQm9CO0VLZHBCLG1Ca0JOd0I7RUdKeEIsd0JDSzJGO0VMd0o3RixlcEIvSTJCO0VvQmdKM0IsMEJwQjVKbUI7RW9CNkpuQixtQnBCL0ptQjtFMEJMakIsbUNOa0Q0QyxFQXVMN0M7RWxCN05DO0lrQjJKQSxlcEJwSnlCO0lvQnFKekIsdUJwQm5LaUI7SW9Cb0tqQixtQnBCcEtpQixFRVNoQjtFa0I4Skg7O0lBR0UsZXBCNUp5QjtJb0I2SnpCLHVCcEIzS2lCO0lvQjRLakIsbUJwQjVLaUIsRW9CNktsQjtFQUVEO0lBR0UscUJBQW9CO0lBQ3BCLGdCQUFlO0lBQ2YsWUFBVyxFQU9aO0lsQnBLQztNa0JnS0UsZXBCekt1QjtNb0IwS3ZCLDBCcEJ0TGU7TW9CdUxmLG1CcEJ6TGUsRUUwQmhCO0VBSEQ7SWtCeUJFLHNCQUFxQixFbEJ0QnRCO0VrQnlCRDtJQUVFLFdBQVUsRUFDWDtFQUVEO0lQMURGLGlFRUQwRjtJWU0xRiwwQjNCMkIwQjtJMkIxQjFCLGNBQWEsRVB1RFY7RUFHRDtJQUNFLHFCQUFvQjtJQUNwQixvQkFBbUI7SUFDbkIsd0JBQXVCLEVBQ3hCO0VBRUQ7SUowRUEsdUJwQnpId0U7SU9meEUsa0JQZXdFO0lPWHhFLGVpQjhEK0I7SUFDN0IsZXhCcERzRTtJd0JxRHRFLG9CeEJyRHNFO0l3QnNEdEUsMkJBQTBCLEVBQzNCO0VBRUQ7SUFDRSxzQkFBcUIsRUFDdEI7RUFHRDtJSjJEQSxrQk96SGlCLEVIZ0VoQjtFQW9IRztJQTVDTixZcEJ6Sm1CO0lvQjBKbkIsMEJwQjFJc0I7SW9CMkl0QixzQnBCM0lzQixFb0J1TGY7SWxCcE1MO01rQjJKQSxZcEI5SmlCO01vQitKakIsMEJwQjdJcUI7TW9COElyQixzQnBCOUlxQixFRWJwQjtJa0I4Skg7O01BR0UsWXBCdEtpQjtNb0J1S2pCLDBCcEJySnFCO01vQnNKckIsc0JwQnRKcUIsRW9CdUp0QjtJQUVEO01BR0UscUJBQW9CO01BQ3BCLGdCQUFlO01BQ2YsWUFBVyxFQU9aO01sQnBLQztRa0JnS0UsWXBCbkxlO1FvQm9MZiwwQnBCcEtrQjtRb0JxS2xCLHNCcEJyS2tCLEVFTW5CO0VrQitLRztJQTVDTixlcEJ6SXNCO0lvQjBJdEIsdUJwQjFKbUI7SW9CMkpuQixzQnBCM0lzQixFb0J1TGY7SWxCcE1MO01rQjJKQSxlcEJwSnlCO01vQnFKekIsdUJwQi9KaUI7TW9CZ0tqQixzQnBCdEp5QixFRUx4QjtJa0I4Skg7O01BR0UsZXBCNUp5QjtNb0I2SnpCLHVCcEJ2S2lCO01vQndLakIsc0JwQjlKeUIsRW9CK0oxQjtJQUVEO01BR0UscUJBQW9CO01BQ3BCLGdCQUFlO01BQ2YsWUFBVyxFQU9aO01sQnBLQztRa0JnS0UsZXBCbktrQjtRb0JvS2xCLHVCcEJwTGU7UW9CcUxmLHNCcEJyS2tCLEVFTW5CO0VrQitLRztJQTVDTixZcEJ6Sm1CO0lvQjBKbkIsMEJwQmxHcUI7SW9CbUdyQixzQnBCbkdxQixFb0IrSWQ7SWxCcE1MO01rQjJKQSxZcEI5SmlCO01vQitKakIsMEJwQnpHMkI7TW9CMEczQixzQnBCMUcyQixFRWpEMUI7SWtCOEpIOztNQUdFLFlwQnRLaUI7TW9CdUtqQiwwQnBCakgyQjtNb0JrSDNCLHNCcEJsSDJCLEVvQm1INUI7SUFFRDtNQUdFLHFCQUFvQjtNQUNwQixnQkFBZTtNQUNmLFlBQVcsRUFPWjtNbEJwS0M7UWtCZ0tFLFlwQm5MZTtRb0JvTGYsMEJwQjVIaUI7UW9CNkhqQixzQnBCN0hpQixFRWxDbEI7RWtCK0tHO0lBNUNOLGVwQi9JMkI7SW9CZ0ozQix1QnBCMUptQjtJb0IySm5CLHNCcEJqSjJCLEVvQjZMcEI7SWxCcE1MO01rQjJKQSxlcEI5SW9CO01vQitJcEIsdUJwQi9KaUI7TW9CZ0tqQixzQnBCaEpvQixFRVhuQjtJa0I4Skg7O01BR0UsZXBCdEpvQjtNb0J1SnBCLHVCcEJ2S2lCO01vQndLakIsc0JwQnhKb0IsRW9CeUpyQjtJQUVEO01BR0UscUJBQW9CO01BQ3BCLGdCQUFlO01BQ2YsWUFBVyxFQU9aO01sQnBLQztRa0JnS0UsZXBCekt1QjtRb0IwS3ZCLHVCcEJwTGU7UW9CcUxmLHNCcEIzS3VCLEVFWXhCO0VrQitLRztJQTVDTixZcEJ6Sm1CO0lvQjBKbkIsOEJDZHFCO0lEZXJCLG1CcEIzSm1CLEVvQnVNWjtJbEJwTUw7TWtCMkpBLFlwQnRKZ0I7TW9CdUpoQiw4QkNoQnlCO01EaUJ6QixtQnBCeEpnQixFRUhmO0lrQjhKSDs7TUFHRSxZcEI5SmdCO01vQitKaEIsOEJDeEJ5QjtNRHlCekIsbUJwQmhLZ0IsRW9CaUtqQjtJQUVEO01BR0UscUJBQW9CO01BQ3BCLGdCQUFlO01BQ2YsWUFBVyxFQU9aO01sQnBLQztRa0JnS0UsWXBCbkxlO1FvQm9MZiw4QkN4Q2lCO1FEeUNqQixtQnBCckxlLEVFc0JoQjtFa0J1TEM7SUVqTkosd0JEMEt3QjtJQ3pLeEIsb0JBQW1CO0lBQ25CLHdCQ1N3QjtJcEJMdEIsZ0JMa0JvQjtJS2RwQixtQmtCTndCO0lHSnhCLHNCQ01pRyxFTDZNOUY7RXJCN0pIO0lxQmlLRTtNRXZOSix3QkR1S3dCO01DdEt4QixvQkFBbUI7TUFDbkIsd0JDU3dCO01wQkx0QixvQmVSd0Q7TWZZeEQsbUJrQk53QjtNR0p4QixvQkNPaUcsRUxrTjlGO01BOUZEOzs7UWpCckhGLG1CUGV3RTtRT1h4RSxlaUJvSGlDO1FBQzdCLGdCeEIxR29FO1F3QjJHcEUscUJ4QjNHb0U7UXdCNEdwRSwyQkFBMEIsRUFDM0IsRUFBQTtFQTRGRDtJQXBJRixlQUFjO0lBQ2QsWUFBVyxFQXFJUjtJQWxJSDtNQUNFLG1CQzhFd0I7TUQ3RXhCLGVBQWMsRUFDZjs7QVF0REg7RXpCckNFLGdCUGV3RTtFT1h4RSxleUJGMkI7RUFDN0IsV0FBVTtFQUNWLGdCQUFlO0VBQ2YsOEJBQTZCO0VBQzdCLFVBQVM7RUFDVCxhQUFZO0VBQ1oseUJBQXdCLEVBaUN2QjtFMUJ4QkM7STBCTkEsc0JBQXFCO0lBQ3JCLGdCQUFlO0lBQ2YsV0FBVSxFMUJPVDtFMEJKSDtJQVlBLHlDQUF3QztJQUN4QyxpQkNLMkYsRURoQjFGOztBRWhCQztFQUNFLHVCOUJUZTtFOEJVZix3QkFBdUI7RUFDdkIsc0JBQXFCO0VkbUl2QixtQk9qSHNDO0VQaUh0QyxzQk9qSHNDLEVPZnJDOztBQUVEO0VBQ0UsY0FBYTtFQUNiLG9CQUFtQjtFZDRIckIsbUJPakhzQztFUGlIdEMsc0JPakhzQyxFT1VyQztFQWpCQztJQUVFLGVBQWM7SUFDZCxRQUFPO0lBQ1AsWUFBVztJQUNYLHVCOUIzQmE7SThCNEJiLHdCQUF1QjtJQUN2QixzQkFBcUIsRUFDdEI7RUFFRDtJZDhHRixtQk96SGlCLEVPYWQ7RUFFRDtJZDBHRixrQk96SGlCLEVPaUJkOztBQUtIO0VBQ0UsMEI5QnhCa0I7RThCeUJsQixzQkFBcUIsRUFDdEI7O0FBR0M7RUFFRSwwQjlCL0JnQjtFOEJnQ2hCLHNCQUFxQixFQUN0Qjs7QUM4SUw7RVRuTUEscUJETXVCO0VDTHZCLG9CQUFtQjtFQUNuQix3QkNTd0I7RXBCTHRCLGdCTGtCb0I7RUtkcEIsbUJrQk53QjtFR0p4Qix1QkRLcUI7RVFxQnJCLGVBQWM7RUFDZCxZQUFXO0VBQ1gsZS9CZHlCO0UrQmV6Qix1Qi9CekJpQjtFK0I0QmpCLHVCQUFzQjtFQUN0Qiw2QkFBNEI7RUFDNUIsbUIvQmxDaUIsRStCeU5sQjtFQXJMQztJQUNFLGUvQjNCZ0I7SStCNEJoQixXQUFVLEVBQ1g7RUFHRDtJQUNFLHNCL0I3QnVCLEUrQjhCeEI7RUFHRDtJbEJqREYsaUVFRDBGO0lZTTFGLDBCM0IyQjBCO0kyQjFCMUIsY0FBYSxFSTZDVjtFQUdEO0lBQ0UsMEIvQm5EZTtJK0JxRGYsV0FBVSxFQUNYO0VBT0Q7SUFnR0YsWS9CL0ptQjtJK0JnS25CLG9CVjFGOEI7SVUyRjlCLDBCL0IvSm1CO0krQmtLbkIsbUIvQnBLbUI7SStCcUtuQixXQUFVLEVBcEdQO0lBc0dIO01BQ0UsWS9CeEtpQixFK0J5S2xCO0VBbkdDO0lBNEdGLHNCL0I1SW9CLEUrQmtDakI7SUE2R0g7TUFDRSxlQUFjLEVBTWY7TUFIQztRQUNFLGNBQWEsRUFDZDtFQ3JITTtJRDhESCw4QkFBNkI7SUFDN0IsVUFBUyxFQUNWO0VDaEVJO0lEd0VILGUvQmhJcUI7SStCaUlyQix1Qi9CM0lhLEUrQjRJZDtFQzFFSTtJRDZFSCwwWFZsSXdZO0lVbUl4WSwrQlIzSCtCO0lRNEgvQixpQkFBZ0IsRUFDakI7RUFpREQ7SVR2TUosd0JEUzBCO0lDUjFCLG9CQUFtQjtJQUNuQix3QkNTd0I7SXBCTHRCLG9Ca0JKMkI7SWxCUTNCLG1Ca0JOd0I7SUdKeEIsdUJES3FCLEVRb01sQjtFQUlEO0lUN01KLHdCRFkwQjtJQ1gxQixvQkFBbUI7SUFDbkIsd0JDU3dCO0lwQkx0QixnQkxrQm9CO0lLZHBCLG1Ca0JOd0I7SUdKeEIsdUJES3FCLEVRME1sQjtFQUlEO0lBcERKLFkvQi9KbUI7SStCZ0tuQixvQlYxRjhCO0lVMkY5QiwwQi9CL0ptQjtJK0JrS25CLG1CL0JwS21CO0krQnFLbkIsV0FBVSxFQWdETDtJQTlDTDtNQUNFLFkvQnhLaUIsRStCeUtsQjs7QUU3SkM7RUF1REEsbUJBQWtCO0VBQ2xCLFdBQVUsRUFuQ1Q7RUF3Q0c7SXBCM0VOLGlFRUQwRjtJWU0xRiwwQjNCMkIwQjtJMkIxQjFCLGNBQWEsRU11RU47RUFPRDtJQUNFLG9CWmJzQjtJWWN0QiwwQmpDbEZXO0lpQ3FGWCxtQmpDdkZXO0lpQ3dGWCxXQUFVLEVBQ1g7RUFFRDtJQUNFLG9CWnRCc0IsRVl1QnZCO0VBT0Q7SUFDRSwwQmpDakZjO0lpQ2tGZCxnQkFBZSxFQUNoQjtFQU9EO0lBQ0UsMEJqQzdHVyxFaUM4R1o7RUF3RFA7SUFDRSxlQUFjLEVBTWY7SUFIQztNQUNFLGNBQWEsRUFDZDtFQUlEO0lBQ0Usc0JqQzdJZ0IsRWlDOElqQjtFQXpERDtJQUNFLG1CQUFrQjtJQUNsQixpQkFBZ0I7SUFDaEIsZUFBYyxFQWtCZjtJQWhCQztNQUNFLHNCQUFxQjtNQUNyQixZVjdHYTtNVThHYixhVjlHYTtNVStHYixzQlozRndDO01ZNEZ4Qyx1QkFBc0I7TUFDdEIsWUFBVztNQUNYLHVCakNuSWE7TWlDb0liLGdDakMxSHFCLEVpQzJIdEI7SUFFRDtNQUNFLG1CQUFrQjtNQUNsQix5Q0FBd0M7TUFDeEMsWWpDMUlhLEVpQzJJZDtFQTdIRztJQUNFLGlCSnFCaUYsRUlwQmxGO0VBNEdMO0lBdEdJLHdCWm1CMkMsRVlsQjVDO0VBZ0hIO0lBaURKLGVyQ3ZLMEU7SXFDd0sxRSxlckN4SzBFO0lxQ3lLMUUsbUJyQ3pLMEUsRXFDVW5FOztBQW9ITDtFQUNFLGlCQUFnQixFQU1qQjtFQUpDO0lBQ0UsY1YxSGtDO0lVMkhsQyxlVjNIa0MsRVU0SG5DOztBQWpIQztFQW9KTixlckN2SzBFO0VxQ3dLMUUsY3JDeEswRTtFcUN5SzFFLGdCckN6SzBFLEVxQ3FCbkU7O0FDMUJMO0VEbURBLG1CQUFrQjtFQUNsQixXQUFVLEVDL0JUO0VEb0NHO0lwQjNFTixpRUVEMEY7SVlNMUYsMEIzQjJCMEI7STJCMUIxQixjQUFhLEVNdUVOO0VBT0Q7SUFDRSxvQlpic0I7SVljdEIsMEJqQ2xGVztJaUNxRlgsbUJqQ3ZGVztJaUN3RlgsV0FBVSxFQUNYO0VBRUQ7SUFDRSxvQlp0QnNCLEVZdUJ2QjtFQU9EO0lBQ0UsMEJqQ2pGYztJaUNrRmQsZ0JBQWUsRUFDaEI7RUFPRDtJQUNFLDBCakM3R1csRWlDOEdaO0VBd0RQO0lBQ0UsZUFBYyxFQU1mO0lBSEM7TUFDRSxjQUFhLEVBQ2Q7RUFJRDtJQUNFLHNCakM3SWdCLEVpQzhJakI7RUF6REQ7SUFDRSxtQkFBa0I7SUFDbEIsaUJBQWdCO0lBQ2hCLGVBQWMsRUFrQmY7SUFoQkM7TUFDRSxzQkFBcUI7TUFDckIsWVY3R2E7TVU4R2IsYVY5R2E7TVUrR2Isc0JaM0Z3QztNWTRGeEMsdUJBQXNCO01BQ3RCLFlBQVc7TUFDWCx1QmpDbklhO01pQ29JYixnQ2pDMUhxQixFaUMySHRCO0lBRUQ7TUFDRSxtQkFBa0I7TUFDbEIseUNBQXdDO01BQ3hDLFlqQzFJYSxFaUMySWQ7RUN6SEc7SUFDRSxpQkxpQmlGLEVLaEJsRjtFRHdHTDtJQ2xHSSxtQmI0QndCLEVhM0J6QjtFRDRHSDtJQWlESixhckN2SzBFO0lxQ3dLMUUsY3JDeEswRTtJcUN5SzFFLGtCckN6SzBFLEVzQ2NuRTs7QURnSEw7RUFDRSxpQkFBZ0IsRUFNakI7RUFKQztJQUNFLGNWMUhrQztJVTJIbEMsZVYzSGtDLEVVNEhuQzs7QUM3R0M7RURnSk4sYXJDdkswRTtFcUN3SzFFLGVyQ3hLMEU7RXFDeUsxRSxtQnJDekswRSxFc0N5Qm5FOztBQ3VDUDtFaEMvRUUsb0JMcUJxQjtFS2pCckIsb0JnQ21Cc0Q7RUFDdEQsc0JBQXFCO0VBRXJCLHNCWlBtQyxFWXNFcEM7RUE1REM7SUFDRSxxQkFoQzZDO0lBaUM3QyxlbkNDZ0I7SW1DQWhCLGFBQVksRUFDYjs7QUE0REg7RWhDN0ZFLG9CTHFCcUI7RUtqQnJCLG1CZ0NBNEI7RUEyQzlCLGVBQWM7RUFDZCxxQkE5QytCO0VBK0MvQixlbkM3Q29CLEVtQzZGbkI7O0FBSUQ7RWhDckdFLG9CTHFCcUI7RUtqQnJCLG1CZ0NLZ0M7RUFtRGhDLGNBQWE7RUFDYixZQUFXO0VBQ1gscUJBdERpQyxFQXVHbEM7RUFORztJQXhDRixlbkNqQ2tCLEVtQzJFZjs7QXhDN0VQO0V5QzNCSSxzQmJvQnNDO0VhbkJ0QyxvQnRDUHdCO0VzQ1F4QixrQnRDNkMwQjtFc0M1QzFCLGV0QzhDdUI7RUt4RG5CLG9CZUpvRDtFZll4RCxrQkwrQzBCLEVzQ1d2QjtFckNkSDtJSmxCSjtNUWxDUSxvQmVKb0QsRWtCc0VyRCxFQUFBOztBQUZEO0VBekRGLHNCYm9Cc0M7RWFuQnRDLG9CdENQd0I7RXNDUXhCLGtCdEM2QzBCO0VzQzVDMUIsZXRDOEN1QjtFS3hEbkIsb0JlSm9EO0VmWXhELGtCTCtDMEIsRXNDV3ZCO0VyQ2RIO0lxQ1lFO01qQ2hFRSxvQmVKb0QsRWtCc0VyRCxFQUFBOztBQUZEO0VBekRGLHNCYm9Cc0M7RWFuQnRDLG9CdENQd0I7RXNDUXhCLGtCdEM2QzBCO0VzQzVDMUIsZXRDOEN1QjtFS3BEdkIsb0JlUndEO0VmWXhELGtCTCtDMEIsRXNDV3ZCOztBQUZEO0VBekRGLHNCYm9Cc0M7RWFuQnRDLG9CdENQd0I7RXNDUXhCLGtCdEM2QzBCO0VzQzVDMUIsZXRDOEN1QjtFS3BEdkIsb0JlUndEO0VmWXhELGtCTCtDMEIsRXNDV3ZCOztBQUZEO0VBekRGLHNCYm9Cc0M7RWFuQnRDLG9CdENQd0I7RXNDUXhCLGtCdEM2QzBCO0VzQzVDMUIsZXRDOEN1QjtFS3BEdkIsb0JlUndEO0VmWXhELGtCTCtDMEI7RXNDckN4QiwwQkFBeUI7RUFDekIsMkJ4Q0FzRSxFd0MrQ3JFOztBQVlEO0VBdkVGLHNCYm9Cc0M7RWFuQnRDLG9CdENQd0I7RXNDUXhCLGtCdEM2QzBCO0VzQzVDMUIsZXRDOEN1QjtFS3hEbkIsb0JlSm9EO0VmWXhELGtCTCtDMEIsRXNDeUJ2QjtFckM1Qkg7SXFDMEJFO01qQzlFRSxvQmVKb0QsRWtCb0ZyRCxFQUFBOztBQUZEO0VBdkVGLHNCYm9Cc0M7RWFuQnRDLG9CdENQd0I7RXNDUXhCLGtCdEM2QzBCO0VzQzVDMUIsZXRDOEN1QjtFS3hEbkIsb0JlSm9EO0VmWXhELGtCTCtDMEIsRXNDeUJ2QjtFckM1Qkg7SXFDMEJFO01qQzlFRSxvQmVKb0QsRWtCb0ZyRCxFQUFBOztBQUZEO0VBdkVGLHNCYm9Cc0M7RWFuQnRDLG9CdENQd0I7RXNDUXhCLGtCdEM2QzBCO0VzQzVDMUIsZXRDOEN1QjtFS3BEdkIsb0JlUndEO0VmWXhELGtCTCtDMEIsRXNDeUJ2Qjs7QUFGRDtFQXZFRixzQmJvQnNDO0VhbkJ0QyxvQnRDUHdCO0VzQ1F4QixrQnRDNkMwQjtFc0M1QzFCLGV0QzhDdUI7RUtwRHZCLG9CZVJ3RDtFZll4RCxrQkwrQzBCLEVzQ3lCdkI7O0FBRkQ7RUF2RUYsc0Jib0JzQztFYW5CdEMsb0J0Q1B3QjtFc0NReEIsa0J0QzZDMEI7RXNDNUMxQixldEM4Q3VCO0VLcER2QixvQmVSd0Q7RWZZeEQsa0JMK0MwQjtFc0NyQ3hCLDBCQUF5QjtFQUN6QiwyQnhDQXNFLEV3QzZEckU7O0FBSUw7RUF2Q0Usb0R0QzNDbUQsRXNDb0ZwRDs7QUFLRztFQWxFRixzQmJFc0M7RWFEdEMsZXRDOEJ1QjtFS3hEbkIsb0JlSm9EO0VmWXhELGtCTCtDMEI7RXNDdEJ4QixrQnRDYW9CLEVzQytDbkI7RXJDekNIO0lxQ3VDRTtNakMzRkUsb0JlSm9ELEVrQmlHckQsRUFBQTs7QUFGRDtFQWxFRixzQmJFc0M7RWFEdEMsZXRDOEJ1QjtFS3hEbkIsb0JlSm9EO0VmWXhELGtCTCtDMEI7RXNDZnhCLGtCdENTb0IsRXNDNENuQjtFckN6Q0g7SXFDdUNFO01qQzNGRSxvQmVKb0QsRWtCaUdyRCxFQUFBOztBQ2pESDtFQTNDQSxjQUFhO0VBQ2Isc0JkeUJzQyxFY21CckM7O0FBSUQ7RWxDOUNBLG9CZVJ3RDtFZll4RCxpQkxvQmdCO0V1Q3JCaEIsaUJ2QytCcUIsRXVDY3BCOztBQUlEOztFbENwREEsb0JlUndEO0VmWXhELGlCTG9CZ0IsRXVDK0JmOztBQUlEO0VsQzNEQSxtQmVSd0Q7RWZZeEQsaUJMb0JnQjtFdUNaaEIsaUJBQWdCO0VBQ2hCLDJCekNFd0U7RXlDRHhFLHFCQUFvQixFQStDbkI7O0FBSUQ7RWxDakVBLG9CZVJ3RDtFZll4RCxpQkxvQmdCO0V1Q0xoQiwyQnpDSndFLEV5Q29EdkU7O0FBSUQ7O0VyQmlFQSxnQk9ySG1DO0VjS25DLDBCckNzQjBCLEVxQzRCekI7O0FDU0g7RUFuRUUseUIxQ0R3RTtFMENFeEUsbUJBQWtCO0VBQ2xCLGV0Q1Z5QjtFc0NXekIs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RW9CZ0JyQixzQkFBcUI7RUFDckIscUJwQkRpQjtFb0JFakIsd0IvQ0Z3RTtFK0NHeEUsc0JwQkNtQztFb0JBbkMsZTNDakJzQjtFMkNrQnRCLDBCM0N4QmlCO0UyQ3lCakIsOEJBQTZCLEVBNEM5QjtFekNoRUM7SXlDdUJFLGUzQ3RCb0I7STJDdUJwQix1QjNDL0JlLEVFU2hCO0V5Q3lCRDtJOUJwQ0YsaUVFRDBGO0lZTTFGLDBCM0IyQjBCO0kyQjFCMUIsY0FBYSxFZ0JnQ1Y7RUE0QkM7SUF4QkYsc0JwQmZtQyxFb0IwQ2hDO0lBSEQ7TWpCckVGLGlDQU82QyxFQUs1QztNQUhDO1FBQ0UsV0FBVSxFQUNYO0lpQm9DSDtNeENwQ0EscUJQZXdFO01PWHhFLGV3Q2lDa0Q7TWZUcEQseUNBQXdDO01BQ3hDLGlCQ0syRjtNY0t2RixzQi9DeEJzRSxFK0N5QnZFOztBQzNCRDtFNUIySEEsbUJPakhzQyxFcUJSckM7O0FBNE1EO0VSeE5BLHNCYm9Cc0M7RWFuQnRDLG9CdENQd0I7RXNDUXhCLGtCdEM2QzBCO0VzQzVDMUIsZXRDOEN1QjtFS3BEdkIsb0JlUndEO0VmWXhELGtCTCtDMEI7RThDVjFCLGlCQUFnQjtFNUI2RVosK0JPdkdhO0VxQjRCakIsOEI1Q2pEaUIsRTRDbU9oQjtFN0M3S0Q7STZDMktBO001QnJHSSwwQk92R2EsRXFCOE1oQixFQUFBOztBQUVEO0U1QnpHSSx3Qk92R2E7RVZ2Qm5CLHlDQ0NxQztFOEJrRW5DLHVCNUNqRWlCLEU0Q3VPaEI7RTdDakxEO0k2QytLQTtNNUJ6R0ksd0JPM0YrQixFcUJzTWxDLEVBQUE7RUFwS0Q7STVCMkVBLG1CT2pIc0MsRXFCd0NyQzs7QUFvS0Q7RTVCM0ZBLGtCT3pIaUI7RVB5SGpCLHFCT3pIaUI7RXFCaUZqQixtQkFBa0I7RUFDbEIsY0FBYTtFQUNiLGdCQUFlLEVBbUlkO0VBaklEO0lBQ0UsUUFBTztJQUNQLG1CQUFrQixFQUNuQjtFQUlDOzs7OztJQUtFLGNBQWE7SUFDYixvQkFBbUI7SUFDbkIsb0JBQW1CO0lBQ25CLGlCQUFnQjtJQUNoQixxQkFB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TURNSixnQkFBZSxFREpwQixFQUFBO0U3RGlDRztJNkRwQ0o7TUNNTSxhakVIc0U7TWlFSXRFLGdCQUFlLEVESnBCLEVBQUEiLCJmaWxlIjoic3R5bGVraXRfY3NlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMC4xMjVyZW07XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyxcbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBSZWJvb3QgKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyB9XG5cbkAtbW96LXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5ALW1zLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5ALW8tdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG5cbkAtd2Via2l0LXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5Admlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG5cbmh0bWwge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgaHRtbCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBodG1sIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5NzBweCkge1xuICAgIGh0bWwge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGh0bWwge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzNhM2EzYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoNywgaDgge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM3NTc1NzU7IH1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZHQge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5hIHtcbiAgY29sb3I6ICMzYTNhM2E7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmZvY3VzLCBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzQyM2ZlMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxucHJlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYSxcbmFyZWEsXG5idXR0b24sXG5bcm9sZT1cImJ1dHRvblwiXSxcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEge1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yOyB9XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuYm9keSB7XG4gIGNvbnRlbnQ6IFwieHNcIjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgYm9keSB7XG4gICAgY29udGVudDogXCJzbVwiOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkge1xuICAgIGNvbnRlbnQ6IFwibWRcIjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5NzBweCkge1xuICBib2R5IHtcbiAgICBjb250ZW50OiBcImxnXCI7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGJvZHkge1xuICAgIGNvbnRlbnQ6IFwieGxcIjsgfSB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1yZWd1bGFyLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1yZWd1bGFyLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1yZWd1bGFyLXdlYmZvbnQuc3ZnI2xhdG9fcmVndWxhclwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWxpZ2h0LXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWxpZ2h0LXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tbGlnaHQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWxpZ2h0LXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1saWdodC13ZWJmb250LnN2ZyNsYXRvX2xpZ2h0XCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8taGFpcmxpbmUtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8taGFpcmxpbmUtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1oYWlybGluZS13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8taGFpcmxpbmUtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWhhaXJsaW5lLXdlYmZvbnQuc3ZnI2xhdG9faGFpcmxpbmVcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tYm9sZC13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tYm9sZC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tYm9sZC13ZWJmb250LnN2ZyNsYXRvX2JvbGRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1pdGFsaWMtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8taXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8taXRhbGljLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1pdGFsaWMtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWl0YWxpYy13ZWJmb250LnN2ZyNsYXRvX2l0YWxpY1wiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9vc3dhbGQvb3N3YWxkLXJlZ3VsYXItd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9vc3dhbGQvb3N3YWxkLXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL29zd2FsZC9vc3dhbGQtcmVndWxhci13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9vc3dhbGQvb3N3YWxkLXJlZ3VsYXItd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1yZWd1bGFyLXdlYmZvbnQuc3ZnI29zd2FsZF9yZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgc3JjOiB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL29zd2FsZC9vc3dhbGQtbGlnaHQtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9vc3dhbGQvb3N3YWxkLWxpZ2h0LXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9vc3dhbGQvb3N3YWxkLWxpZ2h0LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL29zd2FsZC9vc3dhbGQtbGlnaHQtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1saWdodC13ZWJmb250LnN2ZyNvc3dhbGRfbGlnaHRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJPc3dhbGRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1ib2xkLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9vc3dhbGQvb3N3YWxkLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1ib2xkLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL29zd2FsZC9vc3dhbGQtYm9sZC13ZWJmb250LnN2ZyNvc3dhbGRfYm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuLmNzZS1iZy1kYXJrZXIge1xuICBjb2xvcjogIzk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2EzYTsgfVxuXG4uY3NlLWJnLWRhcmsge1xuICBjb2xvcjogIzk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUzNTM1MzsgfVxuXG4uY3NlLWJnLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc1NzU3NTsgfVxuXG4uY3NlLWJnLWxpZ2h0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OyB9XG5cbi5jc2UtYmctbGlnaHRlc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG5cblxuLmNzZS1iZy1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1MGY7IH1cblxuXG4uY3NlLWNvbG9yLWJsYWNrIHtcbiAgY29sb3I6ICMzYTNhM2E7IH1cblxuXG4uY3NlLWJnLWJsYWNrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYTNhM2E7IH1cblxuYS5jc2UtYmctYmxhY2s6Zm9jdXMsIGEuY3NlLWJnLWJsYWNrOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTsgfVxuXG5cbi5jc2UtY29sb3ItZ3JheS1jaGFyY29hbCB7XG4gIGNvbG9yOiAjNTM1MzUzOyB9XG5cblxuLmNzZS1iZy1ncmF5LWNoYXJjb2FsIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7IH1cblxuYS5jc2UtYmctZ3JheS1jaGFyY29hbDpmb2N1cywgYS5jc2UtYmctZ3JheS1jaGFyY29hbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYTNhM2E7IH1cblxuXG4uY3NlLWNvbG9yLWdyYXktaXJvbiB7XG4gIGNvbG9yOiAjNzU3NTc1OyB9XG5cblxuLmNzZS1iZy1ncmF5LWlyb24ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc1NzU3NTsgfVxuXG5hLmNzZS1iZy1ncmF5LWlyb246Zm9jdXMsIGEuY3NlLWJnLWdyYXktaXJvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YzVjNWM7IH1cblxuXG4uY3NlLWNvbG9yLWdyYXktc3RlZWwge1xuICBjb2xvcjogIzk5OTsgfVxuXG5cbi5jc2UtYmctZ3JheS1zdGVlbCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OyB9XG5cbmEuY3NlLWJnLWdyYXktc3RlZWw6Zm9jdXMsIGEuY3NlLWJnLWdyYXktc3RlZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5OyB9XG5cblxuLmNzZS1jb2xvci1ncmF5LXNpbHZlciB7XG4gIGNvbG9yOiAjY2NjOyB9XG5cblxuLmNzZS1iZy1ncmF5LXNpbHZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG5cbmEuY3NlLWJnLWdyYXktc2lsdmVyOmZvY3VzLCBhLmNzZS1iZy1ncmF5LXNpbHZlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2IzYjM7IH1cblxuXG4uY3NlLWNvbG9yLWdyYXktZm9nIHtcbiAgY29sb3I6ICNlZmVmZWY7IH1cblxuXG4uY3NlLWJnLWdyYXktZm9nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cblxuYS5jc2UtYmctZ3JheS1mb2c6Zm9jdXMsIGEuY3NlLWJnLWdyYXktZm9nOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDZkNjsgfVxuXG5cbi5jc2UtY29sb3ItYmx1ZSB7XG4gIGNvbG9yOiAjNDIzZmUxOyB9XG5cblxuLmNzZS1iZy1ibHVlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjNmZTE7IH1cblxuYS5jc2UtYmctYmx1ZTpmb2N1cywgYS5jc2UtYmctYmx1ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMzIwY2Q7IH1cblxuXG4uY3NlLWNvbG9yLXBpbmsge1xuICBjb2xvcjogI2YyM2U3YjsgfVxuXG5cbi5jc2UtYmctcGluayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjIzZTdiOyB9XG5cbmEuY3NlLWJnLXBpbms6Zm9jdXMsIGEuY3NlLWJnLXBpbms6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxMDViOyB9XG5cblxuLmNzZS1jb2xvci10dXJxdW9pc2Uge1xuICBjb2xvcjogIzUyYzBjNDsgfVxuXG5cbi5jc2UtYmctdHVycXVvaXNlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MmMwYzQ7IH1cblxuYS5jc2UtYmctdHVycXVvaXNlOmZvY3VzLCBhLmNzZS1iZy10dXJxdW9pc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FhNWE5OyB9XG5cblxuLmNzZS1jb2xvci10ZWFsIHtcbiAgY29sb3I6ICMwNDlmYTQ7IH1cblxuXG4uY3NlLWJnLXRlYWwge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA0OWZhNDsgfVxuXG5hLmNzZS1iZy10ZWFsOmZvY3VzLCBhLmNzZS1iZy10ZWFsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNmY3MjsgfVxuXG5cbi5jc2UtY29sb3ItZm9yZXN0IHtcbiAgY29sb3I6ICMwMDU3MDA7IH1cblxuXG4uY3NlLWJnLWZvcmVzdCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NzAwOyB9XG5cbmEuY3NlLWJnLWZvcmVzdDpmb2N1cywgYS5jc2UtYmctZm9yZXN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMjQwMDsgfVxuXG5cbi5jc2UtY29sb3ItbGltZSB7XG4gIGNvbG9yOiAjNWFiNjQzOyB9XG5cblxuLmNzZS1iZy1saW1lIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YWI2NDM7IH1cblxuYS5jc2UtYmctbGltZTpmb2N1cywgYS5jc2UtYmctbGltZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ODkxMzU7IH1cblxuXG4uY3NlLWNvbG9yLXByaXZhY3ktdXNlLXJlc3BvbnNpYmlseSB7XG4gIGNvbG9yOiAjMjNiNWU4OyB9XG5cblxuLmNzZS1iZy1wcml2YWN5LXVzZS1yZXNwb25zaWJpbHkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzYjVlODsgfVxuXG5hLmNzZS1iZy1wcml2YWN5LXVzZS1yZXNwb25zaWJpbHk6Zm9jdXMsIGEuY3NlLWJnLXByaXZhY3ktdXNlLXJlc3BvbnNpYmlseTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNDk2YzQ7IH1cblxuXG4uY3NlLWNvbG9yLXByaXZhY3ktY2F1dGlvbiB7XG4gIGNvbG9yOiAjZmZhNTAwOyB9XG5cblxuLmNzZS1iZy1wcml2YWN5LWNhdXRpb24ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYTUwMDsgfVxuXG5hLmNzZS1iZy1wcml2YWN5LWNhdXRpb246Zm9jdXMsIGEuY3NlLWJnLXByaXZhY3ktY2F1dGlvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzg0MDA7IH1cblxuXG4uY3NlLWNvbG9yLXByaXZhY3ktbm90LXJlY29tbWVuZGVkIHtcbiAgY29sb3I6ICNmMjU1NTU7IH1cblxuXG4uY3NlLWJnLXByaXZhY3ktbm90LXJlY29tbWVuZGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjU1NTU7IH1cblxuYS5jc2UtYmctcHJpdmFjeS1ub3QtcmVjb21tZW5kZWQ6Zm9jdXMsIGEuY3NlLWJnLXByaXZhY3ktbm90LXJlY29tbWVuZGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlMjYyNjsgfVxuXG5cbi5jc2UtY29sb3ItYmx1c2gge1xuICBjb2xvcjogI2ZlZjVmMTsgfVxuXG5cbi5jc2UtYmctYmx1c2gge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZjVmMTsgfVxuXG5hLmNzZS1iZy1ibHVzaDpmb2N1cywgYS5jc2UtYmctYmx1c2g6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJkM2MxOyB9XG5cblxuLmNzZS1jb2xvci1yZWQge1xuICBjb2xvcjogI2YyNTU1NTsgfVxuXG5cbi5jc2UtYmctcmVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjU1NTU7IH1cblxuYS5jc2UtYmctcmVkOmZvY3VzLCBhLmNzZS1iZy1yZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUyNjI2OyB9XG5cblxuLmNzZS1jb2xvci1tYXJvb24ge1xuICBjb2xvcjogIzhjMGIwYjsgfVxuXG5cbi5jc2UtYmctbWFyb29uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YzBiMGI7IH1cblxuYS5jc2UtYmctbWFyb29uOmZvY3VzLCBhLmNzZS1iZy1tYXJvb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWQwNzA3OyB9XG5cblxuLmNzZS1jb2xvci1jcmVhbSB7XG4gIGNvbG9yOiAjZmZmZGU2OyB9XG5cblxuLmNzZS1iZy1jcmVhbSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZGU2OyB9XG5cbmEuY3NlLWJnLWNyZWFtOmZvY3VzLCBhLmNzZS1iZy1jcmVhbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY5YjM7IH1cblxuXG4uY3NlLWNvbG9yLWFtYmVyIHtcbiAgY29sb3I6ICNmNWFiMjM7IH1cblxuXG4uY3NlLWJnLWFtYmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWFiMjM7IH1cblxuYS5jc2UtYmctYW1iZXI6Zm9jdXMsIGEuY3NlLWJnLWFtYmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiOTEwYTsgfVxuXG5cbi5jc2UtY29sb3Itd2FsbnV0IHtcbiAgY29sb3I6ICM2MzNlMDA7IH1cblxuXG4uY3NlLWJnLXdhbG51dCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjMzZTAwOyB9XG5cbmEuY3NlLWJnLXdhbG51dDpmb2N1cywgYS5jc2UtYmctd2FsbnV0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwMWUwMDsgfVxuXG5cbi5jc2UtY29sb3ItbWludCB7XG4gIGNvbG9yOiAjZjhmZmYwOyB9XG5cblxuLmNzZS1iZy1taW50IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGZmZjA7IH1cblxuYS5jc2UtYmctbWludDpmb2N1cywgYS5jc2UtYmctbWludDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGZmYmQ7IH1cblxuXG4uY3NlLWNvbG9yLXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuXG4uY3NlLWJnLXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuYS5jc2UtYmctd2hpdGU6Zm9jdXMsIGEuY3NlLWJnLXdoaXRlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuXG5cbi5jc2UtYmctZ3JhZGllbnQtcHVycGxlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDI5YzhlIDAlLCAjN2E2NmE5IDEwMCUpOyB9XG5cbkBzdXBwb3J0cyAobWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW4pIHtcbiAgXG4gIC5jc2UtY29sb3ItZ3JhZGllbnQtcHVycGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4gICAgXG4gICAgLmNzZS1jb2xvci1ncmFkaWVudC1wdXJwbGU6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAyOWM4ZSAwJSwgIzdhNjZhOSAxMDAlKTsgfVxuICAgIFxuICAgIC5jc2UtY29sb3ItZ3JhZGllbnQtcHVycGxlOjpiZWZvcmUge1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsgfSB9XG5cblxuLmNzZS1iZy1ncmFkaWVudC1ibHVlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMTBjYzcxIDAlLCAjMDA5MWFkIDEwMCUpOyB9XG5cbkBzdXBwb3J0cyAobWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW4pIHtcbiAgXG4gIC5jc2UtY29sb3ItZ3JhZGllbnQtYmx1ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuICAgIFxuICAgIC5jc2UtY29sb3ItZ3JhZGllbnQtYmx1ZTo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMTBjYzcxIDAlLCAjMDA5MWFkIDEwMCUpOyB9XG4gICAgXG4gICAgLmNzZS1jb2xvci1ncmFkaWVudC1ibHVlOjpiZWZvcmUge1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsgfSB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJjcy1nbG9iYWwtaWNvbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L2ZvbnRzL2dsb2JhbC9jcy1nbG9iYWwtaWNvbnMuZW90XCIpO1xuICBzcmM6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L2ZvbnRzL2dsb2JhbC9jcy1nbG9iYWwtaWNvbnMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9kMmhyYWxzd3U5bGo4dS5jbG91ZGZyb250Lm5ldC9jcy1pY29ucy8wLjAuNDQvZm9udHMvZ2xvYmFsL2NzLWdsb2JhbC1pY29ucy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLy9kMmhyYWxzd3U5bGo4dS5jbG91ZGZyb250Lm5ldC9jcy1pY29ucy8wLjAuNDQvZm9udHMvZ2xvYmFsL2NzLWdsb2JhbC1pY29ucy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L2ZvbnRzL2dsb2JhbC9jcy1nbG9iYWwtaWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL2QyaHJhbHN3dTlsajh1LmNsb3VkZnJvbnQubmV0L2NzLWljb25zLzAuMC40NC9mb250cy9nbG9iYWwvY3MtZ2xvYmFsLWljb25zLnN2ZyNjcy1nbG9iYWwtaWNvbnNcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiY3MtZ2xvYmFsLWljb25zXCI7XG4gICAgc3JjOiB1cmwoXCIvL2QyaHJhbHN3dTlsajh1LmNsb3VkZnJvbnQubmV0L2NzLWljb25zLzAuMC40NC9mb250cy9nbG9iYWwvY3MtZ2xvYmFsLWljb25zLnN2ZyNjcy1nbG9iYWwtaWNvbnNcIikgZm9ybWF0KFwic3ZnXCIpOyB9IH1cblxuLmljb24tYWRkOjpiZWZvcmUsIC5pY29uLWFkZC1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLWFkZC1yYXRpbmctb3V0bGluZTo6YmVmb3JlLCAuaWNvbi1hbGVydDo6YmVmb3JlLCAuaWNvbi1hbm5vdW5jZW1lbnQ6OmJlZm9yZSwgLmljb24tYXJyb3ctZG93bjo6YmVmb3JlLCAuaWNvbi1hcnJvdy1kb3duLW91dGxpbmU6OmJlZm9yZSwgLmljb24tYXJyb3ctbGVmdDo6YmVmb3JlLCAuaWNvbi1hcnJvdy1sZWZ0LWRvdWJsZTo6YmVmb3JlLCAuaWNvbi1hcnJvdy1yaWdodDo6YmVmb3JlLCAuaWNvbi1hcnJvdy1yaWdodC1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLWFycm93LXVwOjpiZWZvcmUsIC5pY29uLWJvb2tzOjpiZWZvcmUsIC5pY29uLWNhbGVuZGFyOjpiZWZvcmUsIC5pY29uLWNhcmV0LWRvd246OmJlZm9yZSwgLmljb24tY2FyZXQtcmlnaHQ6OmJlZm9yZSwgLmljb24tY2M6OmJlZm9yZSwgLmljb24tY2hlY2tib3gtY2hlY2s6OmJlZm9yZSwgLmljb24tY2hlY2ttYXJrOjpiZWZvcmUsIC5pY29uLWNpcmNsZS1zb2xpZDo6YmVmb3JlLCAuaWNvbi1jbG9jazo6YmVmb3JlLCAuaWNvbi1jbG9zZTo6YmVmb3JlLCAuaWNvbi1jbG9zZS1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLWNvbWluZy1zb29uOjpiZWZvcmUsIC5pY29uLWNvbW11bmljYXRlOjpiZWZvcmUsIC5pY29uLWNyZWF0aXZlLWNvbW1vbnM6OmJlZm9yZSwgLmljb24tZGZkOjpiZWZvcmUsIC5pY29uLWRpbm5lcjo6YmVmb3JlLCAuaWNvbi1kb3dubG9hZDo6YmVmb3JlLCAuaWNvbi1kb3dubG9hZC1zb2xpZDo6YmVmb3JlLCAuaWNvbi1kcmFnLWRyb3A6OmJlZm9yZSwgLmljb24tZWRpdDo6YmVmb3JlLCAuaWNvbi1lbWFpbDo6YmVmb3JlLCAuaWNvbi1lbW9qaS1lcnJvcjo6YmVmb3JlLCAuaWNvbi1lbW9qaS1uZXV0cmFsOjpiZWZvcmUsIC5pY29uLWVtb2ppLXN1Y2Nlc3M6OmJlZm9yZSwgLmljb24tZmFjZWJvb2s6OmJlZm9yZSwgLmljb24tZmFjZWJvb2stb3V0bGluZTo6YmVmb3JlLCAuaWNvbi1mYWNlYm9vay1zb2xpZDo6YmVmb3JlLCAuaWNvbi1mYW1pbHk6OmJlZm9yZSwgLmljb24tZmFtaWx5LWhvbWU6OmJlZm9yZSwgLmljb24tZmlsdGVyOjpiZWZvcmUsIC5pY29uLWZsYWctb3V0bGluZTo6YmVmb3JlLCAuaWNvbi1mbGFnLXNvbGlkOjpiZWZvcmUsIC5pY29uLWdhbWVzOjpiZWZvcmUsIC5pY29uLWdpZnQ6OmJlZm9yZSwgLmljb24tZ29vZ2xlLW91dGxpbmU6OmJlZm9yZSwgLmljb24tZ29vZ2xlLXNvbGlkOjpiZWZvcmUsIC5pY29uLWhlYXJ0LW91dGxpbmU6OmJlZm9yZSwgLmljb24taGVhcnQtc29saWQ6OmJlZm9yZSwgLmljb24taW5mby1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLWluZm8tc29saWQ6OmJlZm9yZSwgLmljb24taW5zdGFncmFtLW91dGxpbmU6OmJlZm9yZSwgLmljb24taW5zdGFncmFtLXNvbGlkOjpiZWZvcmUsIC5pY29uLWxhcHRvcDo6YmVmb3JlLCAuaWNvbi1sYXVuY2g6OmJlZm9yZSwgLmljb24tbGF1bmNoLXNvbGlkOjpiZWZvcmUsIC5pY29uLWxpbms6OmJlZm9yZSwgLmljb24tbGluay1zb2xpZDo6YmVmb3JlLCAuaWNvbi1saW5rZWRpbjo6YmVmb3JlLCAuaWNvbi1saW5rZWRpbi1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLWxpbmtlZGluLXNvbGlkOjpiZWZvcmUsIC5pY29uLWxvY2tlZDo6YmVmb3JlLCAuaWNvbi1sb2dvLWNoZWNrbWFyazo6YmVmb3JlLCAuaWNvbi1tYWtlLWEtY29weTo6YmVmb3JlLCAuaWNvbi1tZWRpYTo6YmVmb3JlLCAuaWNvbi1tZW1iZXI6OmJlZm9yZSwgLmljb24tbWVudTo6YmVmb3JlLCAuaWNvbi1taW51czo6YmVmb3JlLCAuaWNvbi1taW51cy1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLW1vcmU6OmJlZm9yZSwgLmljb24tbW9yZS1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLW11c2ljOjpiZWZvcmUsIC5pY29uLXBlbmNpbDo6YmVmb3JlLCAuaWNvbi1waW50ZXJlc3Q6OmJlZm9yZSwgLmljb24tcGludGVyZXN0LW91dGxpbmU6OmJlZm9yZSwgLmljb24tcGludGVyZXN0LXNvbGlkOjpiZWZvcmUsIC5pY29uLXBsYXk6OmJlZm9yZSwgLmljb24tcGxheS1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLXBsYXktc29saWQ6OmJlZm9yZSwgLmljb24tcHJpbnRlci1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLXByaW50ZXItc29saWQ6OmJlZm9yZSwgLmljb24tcHJvZmlsZTo6YmVmb3JlLCAuaWNvbi1zYXZlOjpiZWZvcmUsIC5pY29uLXNlYXJjaDo6YmVmb3JlLCAuaWNvbi1zZWxlY3Q6OmJlZm9yZSwgLmljb24tc2V0dGluZ3M6OmJlZm9yZSwgLmljb24tc2V0dGluZ3Mtb3V0bGluZTo6YmVmb3JlLCAuaWNvbi1zaGFyZTo6YmVmb3JlLCAuaWNvbi1zaWduLW91dDo6YmVmb3JlLCAuaWNvbi1zbWFydHBob25lOjpiZWZvcmUsIC5pY29uLXN0YXItcmF0aW5nOjpiZWZvcmUsIC5pY29uLXN1YnNjcmliZS1oZWFydDo6YmVmb3JlLCAuaWNvbi1zdXBwb3J0OjpiZWZvcmUsIC5pY29uLXRpcHM6OmJlZm9yZSwgLmljb24tdHdpdHRlcjo6YmVmb3JlLCAuaWNvbi10d2l0dGVyLW91dGxpbmU6OmJlZm9yZSwgLmljb24tdHdpdHRlci1zb2xpZDo6YmVmb3JlLCAuaWNvbi13YXRjaC12aWRlbzo6YmVmb3JlLCAuaWNvbi13aGF0c2FwcC1zb2xpZDo6YmVmb3JlLCAuaWNvbi15b3V0dWJlOjpiZWZvcmUsIC5pY29uLXlvdXR1YmUtb3V0bGluZTo6YmVmb3JlLCAuaWNvbi15b3V0dWJlLXNvbGlkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcImNzLWdsb2JhbC1pY29uc1wiO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuXG4uaWNvbi1hZGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7IH1cblxuLmljb24tYWRkLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7IH1cblxuLmljb24tYWRkLXJhdGluZy1vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMlwiOyB9XG5cbi5pY29uLWFsZXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwM1wiOyB9XG5cbi5pY29uLWFubm91bmNlbWVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjsgfVxuXG4uaWNvbi1hcnJvdy1kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiOyB9XG5cbi5pY29uLWFycm93LWRvd24tb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDZcIjsgfVxuXG4uaWNvbi1hcnJvdy1sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiOyB9XG5cbi5pY29uLWFycm93LWxlZnQtZG91YmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOFwiOyB9XG5cbi5pY29uLWFycm93LXJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOVwiOyB9XG5cbi5pY29uLWFycm93LXJpZ2h0LW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBhXCI7IH1cblxuLmljb24tYXJyb3ctdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBiXCI7IH1cblxuLmljb24tYm9va3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7IH1cblxuLmljb24tY2FsZW5kYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBkXCI7IH1cblxuLmljb24tY2FyZXQtZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGVcIjsgfVxuXG4uaWNvbi1jYXJldC1yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGZcIjsgfVxuXG4uaWNvbi1jYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTBcIjsgfVxuXG4uaWNvbi1jaGVja2JveC1jaGVjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuXG4uaWNvbi1jaGVja21hcms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEyXCI7IH1cblxuLmljb24tY2lyY2xlLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiOyB9XG5cbi5pY29uLWNsb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNFwiOyB9XG5cbi5pY29uLWNsb3NlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNVwiOyB9XG5cbi5pY29uLWNsb3NlLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE2XCI7IH1cblxuLmljb24tY29taW5nLXNvb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE3XCI7IH1cblxuLmljb24tY29tbXVuaWNhdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE4XCI7IH1cblxuLmljb24tY3JlYXRpdmUtY29tbW9uczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTlcIjsgfVxuXG4uaWNvbi1kZmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7IH1cblxuLmljb24tZGlubmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYlwiOyB9XG5cbi5pY29uLWRvd25sb2FkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExY1wiOyB9XG5cbi5pY29uLWRvd25sb2FkLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZFwiOyB9XG5cbi5pY29uLWRyYWctZHJvcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWVcIjsgfVxuXG4uaWNvbi1lZGl0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZlwiOyB9XG5cbi5pY29uLWVtYWlsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMFwiOyB9XG5cbi5pY29uLWVtb2ppLWVycm9yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMVwiOyB9XG5cbi5pY29uLWVtb2ppLW5ldXRyYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIyXCI7IH1cblxuLmljb24tZW1vamktc3VjY2Vzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjNcIjsgfVxuXG4uaWNvbi1mYWNlYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjRcIjsgfVxuXG4uaWNvbi1mYWNlYm9vay1vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNVwiOyB9XG5cbi5pY29uLWZhY2Vib29rLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNlwiOyB9XG5cbi5pY29uLWZhbWlseTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjsgfVxuXG4uaWNvbi1mYW1pbHktaG9tZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjhcIjsgfVxuXG4uaWNvbi1maWx0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI5XCI7IH1cblxuLmljb24tZmxhZy1vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYVwiOyB9XG5cbi5pY29uLWZsYWctc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJiXCI7IH1cblxuLmljb24tZ2FtZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJjXCI7IH1cblxuLmljb24tZ2lmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmRcIjsgfVxuXG4uaWNvbi1nb29nbGUtb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmVcIjsgfVxuXG4uaWNvbi1nb29nbGUtc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJmXCI7IH1cblxuLmljb24taGVhcnQtb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjsgfVxuXG4uaWNvbi1oZWFydC1zb2xpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzFcIjsgfVxuXG4uaWNvbi1pbmZvLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMyXCI7IH1cblxuLmljb24taW5mby1zb2xpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzNcIjsgfVxuXG4uaWNvbi1pbnN0YWdyYW0tb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzRcIjsgfVxuXG4uaWNvbi1pbnN0YWdyYW0tc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM1XCI7IH1cblxuLmljb24tbGFwdG9wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNlwiOyB9XG5cbi5pY29uLWxhdW5jaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzdcIjsgfVxuXG4uaWNvbi1sYXVuY2gtc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM4XCI7IH1cblxuLmljb24tbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzlcIjsgfVxuXG4uaWNvbi1saW5rLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYVwiOyB9XG5cbi5pY29uLWxpbmtlZGluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiOyB9XG5cbi5pY29uLWxpbmtlZGluLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNjXCI7IH1cblxuLmljb24tbGlua2VkaW4tc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNkXCI7IH1cblxuLmljb24tbG9ja2VkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZVwiOyB9XG5cbi5pY29uLWxvZ28tY2hlY2ttYXJrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZlwiOyB9XG5cbi5pY29uLW1ha2UtYS1jb3B5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MFwiOyB9XG5cbi5pY29uLW1lZGlhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MVwiOyB9XG5cbi5pY29uLW1lbWJlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDJcIjsgfVxuXG4uaWNvbi1tZW51OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0M1wiOyB9XG5cbi5pY29uLW1pbnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiOyB9XG5cbi5pY29uLW1pbnVzLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ1XCI7IH1cblxuLmljb24tbW9yZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDZcIjsgfVxuXG4uaWNvbi1tb3JlLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ3XCI7IH1cblxuLmljb24tbXVzaWM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ4XCI7IH1cblxuLmljb24tcGVuY2lsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0OVwiOyB9XG5cbi5pY29uLXBpbnRlcmVzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGFcIjsgfVxuXG4uaWNvbi1waW50ZXJlc3Qtb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGJcIjsgfVxuXG4uaWNvbi1waW50ZXJlc3Qtc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRjXCI7IH1cblxuLmljb24tcGxheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGRcIjsgfVxuXG4uaWNvbi1wbGF5LW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRlXCI7IH1cblxuLmljb24tcGxheS1zb2xpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGZcIjsgfVxuXG4uaWNvbi1wcmludGVyLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7IH1cblxuLmljb24tcHJpbnRlci1zb2xpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTFcIjsgfVxuXG4uaWNvbi1wcm9maWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MlwiOyB9XG5cbi5pY29uLXNhdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7IH1cblxuLmljb24tc2VhcmNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NFwiOyB9XG5cbi5pY29uLXNlbGVjdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjsgfVxuXG4uaWNvbi1zZXR0aW5nczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjsgfVxuXG4uaWNvbi1zZXR0aW5ncy1vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiOyB9XG5cbi5pY29uLXNoYXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiOyB9XG5cbi5pY29uLXNpZ24tb3V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiOyB9XG5cbi5pY29uLXNtYXJ0cGhvbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVhXCI7IH1cblxuLmljb24tc3Rhci1yYXRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7IH1cblxuLmljb24tc3Vic2NyaWJlLWhlYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1Y1wiOyB9XG5cbi5pY29uLXN1cHBvcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVkXCI7IH1cblxuLmljb24tdGlwczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWVcIjsgfVxuXG4uaWNvbi10d2l0dGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZlwiOyB9XG5cbi5pY29uLXR3aXR0ZXItb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjsgfVxuXG4uaWNvbi10d2l0dGVyLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MVwiOyB9XG5cbi5pY29uLXdhdGNoLXZpZGVvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MlwiOyB9XG5cbi5pY29uLXdoYXRzYXBwLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2M1wiOyB9XG5cbi5pY29uLXlvdXR1YmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY0XCI7IH1cblxuLmljb24teW91dHViZS1vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiOyB9XG5cbi5pY29uLXlvdXR1YmUtc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY2XCI7IH1cblxuLmljb24tY3Mtc2VsZWN0aW9uLWJsYW5rOjpiZWZvcmUsIC5pY29uLWNzLXNlbGVjdGlvbi1mYW1pbGllczo6YmVmb3JlLCAuaWNvbi1jcy1zZWxlY3Rpb24tdGVlbnM6OmJlZm9yZSwgLmljb24tbG9nby1jaGVja21hcmstZ3JlZW4tLWF2YXRhcjo6YmVmb3JlLCAuaWNvbi1sb2dvLWNoZWNrbWFyay1ncmVlbjo6YmVmb3JlLCAuaWNvbi1sb2dvLWNoZWNrbWFyay1zZWxlY3Rpb246OmJlZm9yZSwgLmljb24tc2VhbDo6YmVmb3JlLCAuaWNvbi1zZWFsLXRlZW5zOjpiZWZvcmUsIC5pY29uLXN0YXItZXhjbHVzaXZlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcImNzLWdsb2JhbC1pY29uc1wiO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgd2lkdGg6IDEuNXJlbTsgfVxuXG4uaWNvbi1jcy1zZWxlY3Rpb24tYmxhbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3IvY3Mtc2VsZWN0aW9uLWJsYW5rLnN2Z1wiKTsgfVxuXG4uaWNvbi1jcy1zZWxlY3Rpb24tZmFtaWxpZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3IvY3Mtc2VsZWN0aW9uLWZhbWlsaWVzLnN2Z1wiKTsgfVxuXG4uaWNvbi1jcy1zZWxlY3Rpb24tdGVlbnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3IvY3Mtc2VsZWN0aW9uLXRlZW5zLnN2Z1wiKTsgfVxuXG4uaWNvbi1sb2dvLWNoZWNrbWFyay1ncmVlbi0tYXZhdGFyOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCIvL2QyaHJhbHN3dTlsajh1LmNsb3VkZnJvbnQubmV0L2NzLWljb25zLzAuMC40NC9zdmcvZ2xvYmFsL2NvbG9yL2xvZ28tY2hlY2ttYXJrLWdyZWVuLS1hdmF0YXIuc3ZnXCIpOyB9XG5cbi5pY29uLWxvZ28tY2hlY2ttYXJrLWdyZWVuOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCIvL2QyaHJhbHN3dTlsajh1LmNsb3VkZnJvbnQubmV0L2NzLWljb25zLzAuMC40NC9zdmcvZ2xvYmFsL2NvbG9yL2xvZ28tY2hlY2ttYXJrLWdyZWVuLnN2Z1wiKTsgfVxuXG4uaWNvbi1sb2dvLWNoZWNrbWFyay1zZWxlY3Rpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3IvbG9nby1jaGVja21hcmstc2VsZWN0aW9uLnN2Z1wiKTsgfVxuXG4uaWNvbi1zZWFsOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCIvL2QyaHJhbHN3dTlsajh1LmNsb3VkZnJvbnQubmV0L2NzLWljb25zLzAuMC40NC9zdmcvZ2xvYmFsL2NvbG9yL3NlYWwuc3ZnXCIpOyB9XG5cbi5pY29uLXNlYWwtdGVlbnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3Ivc2VhbC10ZWVucy5zdmdcIik7IH1cblxuLmljb24tc3Rhci1leGNsdXNpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3Ivc3Rhci1leGNsdXNpdmUuc3ZnXCIpOyB9XG5cbmltZ1tkYXRhLWljb249XCJnbG9iYWwvY29sb3IvY3Mtc2VsZWN0aW9uLWJsYW5rLnN2Z1wiXSwgaW1nW2RhdGEtaWNvbj1cImdsb2JhbC9jb2xvci9jcy1zZWxlY3Rpb24tZmFtaWxpZXMuc3ZnXCJdLCBpbWdbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL2NzLXNlbGVjdGlvbi10ZWVucy5zdmdcIl0sIGltZ1tkYXRhLWljb249XCJnbG9iYWwvY29sb3IvbG9nby1jaGVja21hcmstZ3JlZW4uc3ZnXCJdLCBpbWdbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL2xvZ28tY2hlY2ttYXJrLXNlbGVjdGlvbi5zdmdcIl0sIGltZ1tkYXRhLWljb249XCJnbG9iYWwvY29sb3Ivc2VhbC10ZWVucy5zdmdcIl0sIGltZ1tkYXRhLWljb249XCJnbG9iYWwvY29sb3Ivc2VhbC5zdmdcIl0sIGltZ1tkYXRhLWljb249XCJnbG9iYWwvY29sb3Ivc3Rhci1leGNsdXNpdmUuc3ZnXCJdIHtcbiAgd2lkdGg6IDQuMzc1cmVtO1xuICBoZWlnaHQ6IDQuMzc1cmVtOyB9XG5cbi5jc2Utc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzOyB9XG4gIC5jc2Utc2hhZG93OmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAuY3NlLXNoYWRvdy1zdWJ0bGUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4yczsgfVxuICAgIC5jc2Utc2hhZG93LXN1YnRsZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5jc2Utc2hhZG93LWRhcmsge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzOyB9XG4gICAgLmNzZS1zaGFkb3ctZGFyazpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAuY3NlLXNoYWRvdy1mbG9hdCB7XG4gICAgYm94LXNoYWRvdzogMCAycHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLmNzZS1zaGFkb3ctZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTJjMGM0LCAwIDAgMCA0cHggcmdiYSg4MiwgMTkyLCAxOTYsIDAuMyk7IH1cblxuXG4uY3NlLW0tLWJhc2Uge1xuICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXktLWJhc2UsXG4uY3NlLW10LS1iYXNlIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teC0tYmFzZSxcbi5jc2UtbXItLWJhc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXktLWJhc2UsXG4uY3NlLW1iLS1iYXNlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teC0tYmFzZSxcbi5jc2UtbWwtLWJhc2Uge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1tLS10aW55IHtcbiAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXktLXRpbnksXG4uY3NlLW10LS10aW55IHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW14LS10aW55LFxuLmNzZS1tci0tdGlueSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS10aW55LFxuLmNzZS1tYi0tdGlueSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teC0tdGlueSxcbi5jc2UtbWwtLXRpbnkge1xuICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW0tLW1lZGl1bSB7XG4gIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS1tZWRpdW0sXG4uY3NlLW10LS1tZWRpdW0ge1xuICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXgtLW1lZGl1bSxcbi5jc2UtbXItLW1lZGl1bSB7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS1tZWRpdW0sXG4uY3NlLW1iLS1tZWRpdW0ge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXgtLW1lZGl1bSxcbi5jc2UtbWwtLW1lZGl1bSB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbS0tbGFyZ2Uge1xuICBtYXJnaW46IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXktLWxhcmdlLFxuLmNzZS1tdC0tbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW14LS1sYXJnZSxcbi5jc2UtbXItLWxhcmdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS1sYXJnZSxcbi5jc2UtbWItLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teC0tbGFyZ2UsXG4uY3NlLW1sLS1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW0tLXhsYXJnZSB7XG4gIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teS0teGxhcmdlLFxuLmNzZS1tdC0teGxhcmdlIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teC0teGxhcmdlLFxuLmNzZS1tci0teGxhcmdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS14bGFyZ2UsXG4uY3NlLW1iLS14bGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW14LS14bGFyZ2UsXG4uY3NlLW1sLS14bGFyZ2Uge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1tLS1odWdlIHtcbiAgbWFyZ2luOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS1odWdlLFxuLmNzZS1tdC0taHVnZSB7XG4gIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXgtLWh1Z2UsXG4uY3NlLW1yLS1odWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS1odWdlLFxuLmNzZS1tYi0taHVnZSB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXgtLWh1Z2UsXG4uY3NlLW1sLS1odWdlIHtcbiAgbWFyZ2luLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcC0tYmFzZSB7XG4gIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHktLWJhc2UsXG4uY3NlLXB0LS1iYXNlIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHgtLWJhc2UsXG4uY3NlLXByLS1iYXNlIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weS0tYmFzZSxcbi5jc2UtcGItLWJhc2Uge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weC0tYmFzZSxcbi5jc2UtcGwtLWJhc2Uge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcC0tdGlueSB7XG4gIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weS0tdGlueSxcbi5jc2UtcHQtLXRpbnkge1xuICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB4LS10aW55LFxuLmNzZS1wci0tdGlueSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weS0tdGlueSxcbi5jc2UtcGItLXRpbnkge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB4LS10aW55LFxuLmNzZS1wbC0tdGlueSB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXAtLW1lZGl1bSB7XG4gIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weS0tbWVkaXVtLFxuLmNzZS1wdC0tbWVkaXVtIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weC0tbWVkaXVtLFxuLmNzZS1wci0tbWVkaXVtIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB5LS1tZWRpdW0sXG4uY3NlLXBiLS1tZWRpdW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB4LS1tZWRpdW0sXG4uY3NlLXBsLS1tZWRpdW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1wLS1sYXJnZSB7XG4gIHBhZGRpbmc6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHktLWxhcmdlLFxuLmNzZS1wdC0tbGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weC0tbGFyZ2UsXG4uY3NlLXByLS1sYXJnZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHktLWxhcmdlLFxuLmNzZS1wYi0tbGFyZ2Uge1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weC0tbGFyZ2UsXG4uY3NlLXBsLS1sYXJnZSB7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1wLS14bGFyZ2Uge1xuICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB5LS14bGFyZ2UsXG4uY3NlLXB0LS14bGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weC0teGxhcmdlLFxuLmNzZS1wci0teGxhcmdlIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weS0teGxhcmdlLFxuLmNzZS1wYi0teGxhcmdlIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHgtLXhsYXJnZSxcbi5jc2UtcGwtLXhsYXJnZSB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1wLS1odWdlIHtcbiAgcGFkZGluZzogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weS0taHVnZSxcbi5jc2UtcHQtLWh1Z2Uge1xuICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weC0taHVnZSxcbi5jc2UtcHItLWh1Z2Uge1xuICBwYWRkaW5nLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB5LS1odWdlLFxuLmNzZS1wYi0taHVnZSB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB4LS1odWdlLFxuLmNzZS1wbC0taHVnZSB7XG4gIHBhZGRpbmctbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1tLS1iYXNlIHtcbiAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS1iYXNlLFxuLmNzZS1tdC0tYmFzZSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXgtLWJhc2UsXG4uY3NlLW1yLS1iYXNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS1iYXNlLFxuLmNzZS1tYi0tYmFzZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXgtLWJhc2UsXG4uY3NlLW1sLS1iYXNlIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbS0tdGlueSB7XG4gIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS10aW55LFxuLmNzZS1tdC0tdGlueSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teC0tdGlueSxcbi5jc2UtbXItLXRpbnkge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teS0tdGlueSxcbi5jc2UtbWItLXRpbnkge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXgtLXRpbnksXG4uY3NlLW1sLS10aW55IHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1tLS1tZWRpdW0ge1xuICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teS0tbWVkaXVtLFxuLmNzZS1tdC0tbWVkaXVtIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW14LS1tZWRpdW0sXG4uY3NlLW1yLS1tZWRpdW0ge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teS0tbWVkaXVtLFxuLmNzZS1tYi0tbWVkaXVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW14LS1tZWRpdW0sXG4uY3NlLW1sLS1tZWRpdW0ge1xuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW0tLWxhcmdlIHtcbiAgbWFyZ2luOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW15LS1sYXJnZSxcbi5jc2UtbXQtLWxhcmdlIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teC0tbGFyZ2UsXG4uY3NlLW1yLS1sYXJnZSB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teS0tbGFyZ2UsXG4uY3NlLW1iLS1sYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXgtLWxhcmdlLFxuLmNzZS1tbC0tbGFyZ2Uge1xuICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1tLS14bGFyZ2Uge1xuICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXktLXhsYXJnZSxcbi5jc2UtbXQtLXhsYXJnZSB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbXgtLXhsYXJnZSxcbi5jc2UtbXItLXhsYXJnZSB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teS0teGxhcmdlLFxuLmNzZS1tYi0teGxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teC0teGxhcmdlLFxuLmNzZS1tbC0teGxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtbS0taHVnZSB7XG4gIG1hcmdpbjogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teS0taHVnZSxcbi5jc2UtbXQtLWh1Z2Uge1xuICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW14LS1odWdlLFxuLmNzZS1tci0taHVnZSB7XG4gIG1hcmdpbi1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1teS0taHVnZSxcbi5jc2UtbWItLWh1Z2Uge1xuICBtYXJnaW4tYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLW14LS1odWdlLFxuLmNzZS1tbC0taHVnZSB7XG4gIG1hcmdpbi1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXAtLWJhc2Uge1xuICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB5LS1iYXNlLFxuLmNzZS1wdC0tYmFzZSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB4LS1iYXNlLFxuLmNzZS1wci0tYmFzZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHktLWJhc2UsXG4uY3NlLXBiLS1iYXNlIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHgtLWJhc2UsXG4uY3NlLXBsLS1iYXNlIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXAtLXRpbnkge1xuICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHktLXRpbnksXG4uY3NlLXB0LS10aW55IHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weC0tdGlueSxcbi5jc2UtcHItLXRpbnkge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHktLXRpbnksXG4uY3NlLXBiLS10aW55IHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weC0tdGlueSxcbi5jc2UtcGwtLXRpbnkge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1wLS1tZWRpdW0ge1xuICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHktLW1lZGl1bSxcbi5jc2UtcHQtLW1lZGl1bSB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHgtLW1lZGl1bSxcbi5jc2UtcHItLW1lZGl1bSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weS0tbWVkaXVtLFxuLmNzZS1wYi0tbWVkaXVtIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weC0tbWVkaXVtLFxuLmNzZS1wbC0tbWVkaXVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcC0tbGFyZ2Uge1xuICBwYWRkaW5nOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB5LS1sYXJnZSxcbi5jc2UtcHQtLWxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHgtLWxhcmdlLFxuLmNzZS1wci0tbGFyZ2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB5LS1sYXJnZSxcbi5jc2UtcGItLWxhcmdlIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHgtLWxhcmdlLFxuLmNzZS1wbC0tbGFyZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcC0teGxhcmdlIHtcbiAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weS0teGxhcmdlLFxuLmNzZS1wdC0teGxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHgtLXhsYXJnZSxcbi5jc2UtcHItLXhsYXJnZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHktLXhsYXJnZSxcbi5jc2UtcGItLXhsYXJnZSB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4uY3NlLXB4LS14bGFyZ2UsXG4uY3NlLXBsLS14bGFyZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcC0taHVnZSB7XG4gIHBhZGRpbmc6IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHktLWh1Z2UsXG4uY3NlLXB0LS1odWdlIHtcbiAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5jc2UtcHgtLWh1Z2UsXG4uY3NlLXByLS1odWdlIHtcbiAgcGFkZGluZy1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weS0taHVnZSxcbi5jc2UtcGItLWh1Z2Uge1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLmNzZS1weC0taHVnZSxcbi5jc2UtcGwtLWh1Z2Uge1xuICBwYWRkaW5nLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgXG4gIC5jc2UtbS1zbS0tYmFzZSB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktc20tLWJhc2UsXG4gIC5jc2UtbXQtc20tLWJhc2Uge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1zbS0tYmFzZSxcbiAgLmNzZS1tci1zbS0tYmFzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktc20tLWJhc2UsXG4gIC5jc2UtbWItc20tLWJhc2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1zbS0tYmFzZSxcbiAgLmNzZS1tbC1zbS0tYmFzZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1tLXNtLS10aW55IHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LXNtLS10aW55LFxuICAuY3NlLW10LXNtLS10aW55IHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1zbS0tdGlueSxcbiAgLmNzZS1tci1zbS0tdGlueSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1zbS0tdGlueSxcbiAgLmNzZS1tYi1zbS0tdGlueSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtc20tLXRpbnksXG4gIC5jc2UtbWwtc20tLXRpbnkge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1tLXNtLS1tZWRpdW0ge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktc20tLW1lZGl1bSxcbiAgLmNzZS1tdC1zbS0tbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1zbS0tbWVkaXVtLFxuICAuY3NlLW1yLXNtLS1tZWRpdW0ge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktc20tLW1lZGl1bSxcbiAgLmNzZS1tYi1zbS0tbWVkaXVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1zbS0tbWVkaXVtLFxuICAuY3NlLW1sLXNtLS1tZWRpdW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1tLXNtLS1sYXJnZSB7XG4gICAgbWFyZ2luOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktc20tLWxhcmdlLFxuICAuY3NlLW10LXNtLS1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LXNtLS1sYXJnZSxcbiAgLmNzZS1tci1zbS0tbGFyZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LXNtLS1sYXJnZSxcbiAgLmNzZS1tYi1zbS0tbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1zbS0tbGFyZ2UsXG4gIC5jc2UtbWwtc20tLWxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW0tc20tLXhsYXJnZSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktc20tLXhsYXJnZSxcbiAgLmNzZS1tdC1zbS0teGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtc20tLXhsYXJnZSxcbiAgLmNzZS1tci1zbS0teGxhcmdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1zbS0teGxhcmdlLFxuICAuY3NlLW1iLXNtLS14bGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1zbS0teGxhcmdlLFxuICAuY3NlLW1sLXNtLS14bGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbS1zbS0taHVnZSB7XG4gICAgbWFyZ2luOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktc20tLWh1Z2UsXG4gIC5jc2UtbXQtc20tLWh1Z2Uge1xuICAgIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1zbS0taHVnZSxcbiAgLmNzZS1tci1zbS0taHVnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktc20tLWh1Z2UsXG4gIC5jc2UtbWItc20tLWh1Z2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1zbS0taHVnZSxcbiAgLmNzZS1tbC1zbS0taHVnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1wLXNtLS1iYXNlIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktc20tLWJhc2UsXG4gIC5jc2UtcHQtc20tLWJhc2Uge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtc20tLWJhc2UsXG4gIC5jc2UtcHItc20tLWJhc2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1zbS0tYmFzZSxcbiAgLmNzZS1wYi1zbS0tYmFzZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1zbS0tYmFzZSxcbiAgLmNzZS1wbC1zbS0tYmFzZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcC1zbS0tdGlueSB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktc20tLXRpbnksXG4gIC5jc2UtcHQtc20tLXRpbnkge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1zbS0tdGlueSxcbiAgLmNzZS1wci1zbS0tdGlueSB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktc20tLXRpbnksXG4gIC5jc2UtcGItc20tLXRpbnkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1zbS0tdGlueSxcbiAgLmNzZS1wbC1zbS0tdGlueSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1wLXNtLS1tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LXNtLS1tZWRpdW0sXG4gIC5jc2UtcHQtc20tLW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LXNtLS1tZWRpdW0sXG4gIC5jc2UtcHItc20tLW1lZGl1bSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktc20tLW1lZGl1bSxcbiAgLmNzZS1wYi1zbS0tbWVkaXVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtc20tLW1lZGl1bSxcbiAgLmNzZS1wbC1zbS0tbWVkaXVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXAtc20tLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktc20tLWxhcmdlLFxuICAuY3NlLXB0LXNtLS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1zbS0tbGFyZ2UsXG4gIC5jc2UtcHItc20tLWxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktc20tLWxhcmdlLFxuICAuY3NlLXBiLXNtLS1sYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1zbS0tbGFyZ2UsXG4gIC5jc2UtcGwtc20tLWxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1wLXNtLS14bGFyZ2Uge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1zbS0teGxhcmdlLFxuICAuY3NlLXB0LXNtLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtc20tLXhsYXJnZSxcbiAgLmNzZS1wci1zbS0teGxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktc20tLXhsYXJnZSxcbiAgLmNzZS1wYi1zbS0teGxhcmdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LXNtLS14bGFyZ2UsXG4gIC5jc2UtcGwtc20tLXhsYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcC1zbS0taHVnZSB7XG4gICAgcGFkZGluZzogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LXNtLS1odWdlLFxuICAuY3NlLXB0LXNtLS1odWdlIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LXNtLS1odWdlLFxuICAuY3NlLXByLXNtLS1odWdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktc20tLWh1Z2UsXG4gIC5jc2UtcGItc20tLWh1Z2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtc20tLWh1Z2UsXG4gIC5jc2UtcGwtc20tLWh1Z2Uge1xuICAgIHBhZGRpbmctbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIFxuICAuY3NlLW0tbWQtLWJhc2Uge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LW1kLS1iYXNlLFxuICAuY3NlLW10LW1kLS1iYXNlIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtbWQtLWJhc2UsXG4gIC5jc2UtbXItbWQtLWJhc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LW1kLS1iYXNlLFxuICAuY3NlLW1iLW1kLS1iYXNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtbWQtLWJhc2UsXG4gIC5jc2UtbWwtbWQtLWJhc2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbS1tZC0tdGlueSB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1tZC0tdGlueSxcbiAgLmNzZS1tdC1tZC0tdGlueSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtbWQtLXRpbnksXG4gIC5jc2UtbXItbWQtLXRpbnkge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktbWQtLXRpbnksXG4gIC5jc2UtbWItbWQtLXRpbnkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LW1kLS10aW55LFxuICAuY3NlLW1sLW1kLS10aW55IHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbS1tZC0tbWVkaXVtIHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LW1kLS1tZWRpdW0sXG4gIC5jc2UtbXQtbWQtLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtbWQtLW1lZGl1bSxcbiAgLmNzZS1tci1tZC0tbWVkaXVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LW1kLS1tZWRpdW0sXG4gIC5jc2UtbWItbWQtLW1lZGl1bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtbWQtLW1lZGl1bSxcbiAgLmNzZS1tbC1tZC0tbWVkaXVtIHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbS1tZC0tbGFyZ2Uge1xuICAgIG1hcmdpbjogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LW1kLS1sYXJnZSxcbiAgLmNzZS1tdC1tZC0tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1tZC0tbGFyZ2UsXG4gIC5jc2UtbXItbWQtLWxhcmdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1tZC0tbGFyZ2UsXG4gIC5jc2UtbWItbWQtLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtbWQtLWxhcmdlLFxuICAuY3NlLW1sLW1kLS1sYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1tLW1kLS14bGFyZ2Uge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LW1kLS14bGFyZ2UsXG4gIC5jc2UtbXQtbWQtLXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LW1kLS14bGFyZ2UsXG4gIC5jc2UtbXItbWQtLXhsYXJnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktbWQtLXhsYXJnZSxcbiAgLmNzZS1tYi1tZC0teGxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtbWQtLXhsYXJnZSxcbiAgLmNzZS1tbC1tZC0teGxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW0tbWQtLWh1Z2Uge1xuICAgIG1hcmdpbjogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LW1kLS1odWdlLFxuICAuY3NlLW10LW1kLS1odWdlIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtbWQtLWh1Z2UsXG4gIC5jc2UtbXItbWQtLWh1Z2Uge1xuICAgIG1hcmdpbi1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LW1kLS1odWdlLFxuICAuY3NlLW1iLW1kLS1odWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtbWQtLWh1Z2UsXG4gIC5jc2UtbWwtbWQtLWh1Z2Uge1xuICAgIG1hcmdpbi1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcC1tZC0tYmFzZSB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LW1kLS1iYXNlLFxuICAuY3NlLXB0LW1kLS1iYXNlIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LW1kLS1iYXNlLFxuICAuY3NlLXByLW1kLS1iYXNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktbWQtLWJhc2UsXG4gIC5jc2UtcGItbWQtLWJhc2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtbWQtLWJhc2UsXG4gIC5jc2UtcGwtbWQtLWJhc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXAtbWQtLXRpbnkge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LW1kLS10aW55LFxuICAuY3NlLXB0LW1kLS10aW55IHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtbWQtLXRpbnksXG4gIC5jc2UtcHItbWQtLXRpbnkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LW1kLS10aW55LFxuICAuY3NlLXBiLW1kLS10aW55IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtbWQtLXRpbnksXG4gIC5jc2UtcGwtbWQtLXRpbnkge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcC1tZC0tbWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1tZC0tbWVkaXVtLFxuICAuY3NlLXB0LW1kLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1tZC0tbWVkaXVtLFxuICAuY3NlLXByLW1kLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LW1kLS1tZWRpdW0sXG4gIC5jc2UtcGItbWQtLW1lZGl1bSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LW1kLS1tZWRpdW0sXG4gIC5jc2UtcGwtbWQtLW1lZGl1bSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1wLW1kLS1sYXJnZSB7XG4gICAgcGFkZGluZzogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LW1kLS1sYXJnZSxcbiAgLmNzZS1wdC1tZC0tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtbWQtLWxhcmdlLFxuICAuY3NlLXByLW1kLS1sYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LW1kLS1sYXJnZSxcbiAgLmNzZS1wYi1tZC0tbGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtbWQtLWxhcmdlLFxuICAuY3NlLXBsLW1kLS1sYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcC1tZC0teGxhcmdlIHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktbWQtLXhsYXJnZSxcbiAgLmNzZS1wdC1tZC0teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LW1kLS14bGFyZ2UsXG4gIC5jc2UtcHItbWQtLXhsYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LW1kLS14bGFyZ2UsXG4gIC5jc2UtcGItbWQtLXhsYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1tZC0teGxhcmdlLFxuICAuY3NlLXBsLW1kLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXAtbWQtLWh1Z2Uge1xuICAgIHBhZGRpbmc6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1tZC0taHVnZSxcbiAgLmNzZS1wdC1tZC0taHVnZSB7XG4gICAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1tZC0taHVnZSxcbiAgLmNzZS1wci1tZC0taHVnZSB7XG4gICAgcGFkZGluZy1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LW1kLS1odWdlLFxuICAuY3NlLXBiLW1kLS1odWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LW1kLS1odWdlLFxuICAuY3NlLXBsLW1kLS1odWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5NzBweCkge1xuICBcbiAgLmNzZS1tLWxnLS1iYXNlIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1sZy0tYmFzZSxcbiAgLmNzZS1tdC1sZy0tYmFzZSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LWxnLS1iYXNlLFxuICAuY3NlLW1yLWxnLS1iYXNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1sZy0tYmFzZSxcbiAgLmNzZS1tYi1sZy0tYmFzZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LWxnLS1iYXNlLFxuICAuY3NlLW1sLWxnLS1iYXNlIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW0tbGctLXRpbnkge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktbGctLXRpbnksXG4gIC5jc2UtbXQtbGctLXRpbnkge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LWxnLS10aW55LFxuICAuY3NlLW1yLWxnLS10aW55IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LWxnLS10aW55LFxuICAuY3NlLW1iLWxnLS10aW55IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1sZy0tdGlueSxcbiAgLmNzZS1tbC1sZy0tdGlueSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW0tbGctLW1lZGl1bSB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1sZy0tbWVkaXVtLFxuICAuY3NlLW10LWxnLS1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LWxnLS1tZWRpdW0sXG4gIC5jc2UtbXItbGctLW1lZGl1bSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1sZy0tbWVkaXVtLFxuICAuY3NlLW1iLWxnLS1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LWxnLS1tZWRpdW0sXG4gIC5jc2UtbWwtbGctLW1lZGl1bSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW0tbGctLWxhcmdlIHtcbiAgICBtYXJnaW46IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1sZy0tbGFyZ2UsXG4gIC5jc2UtbXQtbGctLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgtbGctLWxhcmdlLFxuICAuY3NlLW1yLWxnLS1sYXJnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXktbGctLWxhcmdlLFxuICAuY3NlLW1iLWxnLS1sYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LWxnLS1sYXJnZSxcbiAgLmNzZS1tbC1sZy0tbGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbS1sZy0teGxhcmdlIHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1sZy0teGxhcmdlLFxuICAuY3NlLW10LWxnLS14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC1sZy0teGxhcmdlLFxuICAuY3NlLW1yLWxnLS14bGFyZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LWxnLS14bGFyZ2UsXG4gIC5jc2UtbWItbGctLXhsYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LWxnLS14bGFyZ2UsXG4gIC5jc2UtbWwtbGctLXhsYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1tLWxnLS1odWdlIHtcbiAgICBtYXJnaW46IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1sZy0taHVnZSxcbiAgLmNzZS1tdC1sZy0taHVnZSB7XG4gICAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LWxnLS1odWdlLFxuICAuY3NlLW1yLWxnLS1odWdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS1sZy0taHVnZSxcbiAgLmNzZS1tYi1sZy0taHVnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LWxnLS1odWdlLFxuICAuY3NlLW1sLWxnLS1odWdlIHtcbiAgICBtYXJnaW4tbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXAtbGctLWJhc2Uge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1sZy0tYmFzZSxcbiAgLmNzZS1wdC1sZy0tYmFzZSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1sZy0tYmFzZSxcbiAgLmNzZS1wci1sZy0tYmFzZSB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LWxnLS1iYXNlLFxuICAuY3NlLXBiLWxnLS1iYXNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LWxnLS1iYXNlLFxuICAuY3NlLXBsLWxnLS1iYXNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1wLWxnLS10aW55IHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1sZy0tdGlueSxcbiAgLmNzZS1wdC1sZy0tdGlueSB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LWxnLS10aW55LFxuICAuY3NlLXByLWxnLS10aW55IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1sZy0tdGlueSxcbiAgLmNzZS1wYi1sZy0tdGlueSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LWxnLS10aW55LFxuICAuY3NlLXBsLWxnLS10aW55IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXAtbGctLW1lZGl1bSB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktbGctLW1lZGl1bSxcbiAgLmNzZS1wdC1sZy0tbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtbGctLW1lZGl1bSxcbiAgLmNzZS1wci1sZy0tbWVkaXVtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1sZy0tbWVkaXVtLFxuICAuY3NlLXBiLWxnLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1sZy0tbWVkaXVtLFxuICAuY3NlLXBsLWxnLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcC1sZy0tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1sZy0tbGFyZ2UsXG4gIC5jc2UtcHQtbGctLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LWxnLS1sYXJnZSxcbiAgLmNzZS1wci1sZy0tbGFyZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1sZy0tbGFyZ2UsXG4gIC5jc2UtcGItbGctLWxhcmdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LWxnLS1sYXJnZSxcbiAgLmNzZS1wbC1sZy0tbGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXAtbGctLXhsYXJnZSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LWxnLS14bGFyZ2UsXG4gIC5jc2UtcHQtbGctLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1sZy0teGxhcmdlLFxuICAuY3NlLXByLWxnLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1sZy0teGxhcmdlLFxuICAuY3NlLXBiLWxnLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtbGctLXhsYXJnZSxcbiAgLmNzZS1wbC1sZy0teGxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1wLWxnLS1odWdlIHtcbiAgICBwYWRkaW5nOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHktbGctLWh1Z2UsXG4gIC5jc2UtcHQtbGctLWh1Z2Uge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgtbGctLWh1Z2UsXG4gIC5jc2UtcHItbGctLWh1Z2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS1sZy0taHVnZSxcbiAgLmNzZS1wYi1sZy0taHVnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC1sZy0taHVnZSxcbiAgLmNzZS1wbC1sZy0taHVnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFxuICAuY3NlLW0teGwtLWJhc2Uge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LXhsLS1iYXNlLFxuICAuY3NlLW10LXhsLS1iYXNlIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgteGwtLWJhc2UsXG4gIC5jc2UtbXIteGwtLWJhc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LXhsLS1iYXNlLFxuICAuY3NlLW1iLXhsLS1iYXNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgteGwtLWJhc2UsXG4gIC5jc2UtbWwteGwtLWJhc2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbS14bC0tdGlueSB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS14bC0tdGlueSxcbiAgLmNzZS1tdC14bC0tdGlueSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgteGwtLXRpbnksXG4gIC5jc2UtbXIteGwtLXRpbnkge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXkteGwtLXRpbnksXG4gIC5jc2UtbWIteGwtLXRpbnkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LXhsLS10aW55LFxuICAuY3NlLW1sLXhsLS10aW55IHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbS14bC0tbWVkaXVtIHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LXhsLS1tZWRpdW0sXG4gIC5jc2UtbXQteGwtLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgteGwtLW1lZGl1bSxcbiAgLmNzZS1tci14bC0tbWVkaXVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LXhsLS1tZWRpdW0sXG4gIC5jc2UtbWIteGwtLW1lZGl1bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgteGwtLW1lZGl1bSxcbiAgLmNzZS1tbC14bC0tbWVkaXVtIHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbS14bC0tbGFyZ2Uge1xuICAgIG1hcmdpbjogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LXhsLS1sYXJnZSxcbiAgLmNzZS1tdC14bC0tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teC14bC0tbGFyZ2UsXG4gIC5jc2UtbXIteGwtLWxhcmdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1teS14bC0tbGFyZ2UsXG4gIC5jc2UtbWIteGwtLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgteGwtLWxhcmdlLFxuICAuY3NlLW1sLXhsLS1sYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1tLXhsLS14bGFyZ2Uge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LXhsLS14bGFyZ2UsXG4gIC5jc2UtbXQteGwtLXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW14LXhsLS14bGFyZ2UsXG4gIC5jc2UtbXIteGwtLXhsYXJnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXkteGwtLXhsYXJnZSxcbiAgLmNzZS1tYi14bC0teGxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgteGwtLXhsYXJnZSxcbiAgLmNzZS1tbC14bC0teGxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW0teGwtLWh1Z2Uge1xuICAgIG1hcmdpbjogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LXhsLS1odWdlLFxuICAuY3NlLW10LXhsLS1odWdlIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgteGwtLWh1Z2UsXG4gIC5jc2UtbXIteGwtLWh1Z2Uge1xuICAgIG1hcmdpbi1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLW15LXhsLS1odWdlLFxuICAuY3NlLW1iLXhsLS1odWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtbXgteGwtLWh1Z2UsXG4gIC5jc2UtbWwteGwtLWh1Z2Uge1xuICAgIG1hcmdpbi1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcC14bC0tYmFzZSB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LXhsLS1iYXNlLFxuICAuY3NlLXB0LXhsLS1iYXNlIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LXhsLS1iYXNlLFxuICAuY3NlLXByLXhsLS1iYXNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHkteGwtLWJhc2UsXG4gIC5jc2UtcGIteGwtLWJhc2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgteGwtLWJhc2UsXG4gIC5jc2UtcGwteGwtLWJhc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXAteGwtLXRpbnkge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LXhsLS10aW55LFxuICAuY3NlLXB0LXhsLS10aW55IHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgteGwtLXRpbnksXG4gIC5jc2UtcHIteGwtLXRpbnkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LXhsLS10aW55LFxuICAuY3NlLXBiLXhsLS10aW55IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgteGwtLXRpbnksXG4gIC5jc2UtcGwteGwtLXRpbnkge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcC14bC0tbWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS14bC0tbWVkaXVtLFxuICAuY3NlLXB0LXhsLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC14bC0tbWVkaXVtLFxuICAuY3NlLXByLXhsLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LXhsLS1tZWRpdW0sXG4gIC5jc2UtcGIteGwtLW1lZGl1bSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LXhsLS1tZWRpdW0sXG4gIC5jc2UtcGwteGwtLW1lZGl1bSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1wLXhsLS1sYXJnZSB7XG4gICAgcGFkZGluZzogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LXhsLS1sYXJnZSxcbiAgLmNzZS1wdC14bC0tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgteGwtLWxhcmdlLFxuICAuY3NlLXByLXhsLS1sYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LXhsLS1sYXJnZSxcbiAgLmNzZS1wYi14bC0tbGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHgteGwtLWxhcmdlLFxuICAuY3NlLXBsLXhsLS1sYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcC14bC0teGxhcmdlIHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5jc2UtcHkteGwtLXhsYXJnZSxcbiAgLmNzZS1wdC14bC0teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LXhsLS14bGFyZ2UsXG4gIC5jc2UtcHIteGwtLXhsYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LXhsLS14bGFyZ2UsXG4gIC5jc2UtcGIteGwtLXhsYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC14bC0teGxhcmdlLFxuICAuY3NlLXBsLXhsLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXAteGwtLWh1Z2Uge1xuICAgIHBhZGRpbmc6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weS14bC0taHVnZSxcbiAgLmNzZS1wdC14bC0taHVnZSB7XG4gICAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLmNzZS1weC14bC0taHVnZSxcbiAgLmNzZS1wci14bC0taHVnZSB7XG4gICAgcGFkZGluZy1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB5LXhsLS1odWdlLFxuICAuY3NlLXBiLXhsLS1odWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAuY3NlLXB4LXhsLS1odWdlLFxuICAuY3NlLXBsLXhsLS1odWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5jc2UtbXMwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5jc2UtbXMxIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4uY3NlLW1zMiB7XG4gIGZvbnQtc2l6ZTogMS4yNjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmNzZS1tczMge1xuICBmb250LXNpemU6IDEuNDI0cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5jc2UtbXM0IHtcbiAgZm9udC1zaXplOiAxLjYwMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4uY3NlLW1zNSB7XG4gIGZvbnQtc2l6ZTogMS44MDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmNzZS1tczYge1xuICBmb250LXNpemU6IDIuMDI3cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5jc2UtbXM3IHtcbiAgZm9udC1zaXplOiAyLjI4MXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4uY3NlLW1zOCB7XG4gIGZvbnQtc2l6ZTogMi41NjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmNzZS1tczkge1xuICBmb250LXNpemU6IDIuODg3cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5jc2UtbXMtMSB7XG4gIGZvbnQtc2l6ZTogMC44ODlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmNzZS1tcy0yIHtcbiAgZm9udC1zaXplOiAwLjc5cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5jc2UtbXMtMyB7XG4gIGZvbnQtc2l6ZTogMC43MDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmNzZS12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNzZS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAuY3NlLXZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jc2UtaGlkZGVuLXNtIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jc2UtdmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzZS1oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgLmNzZS12aXNpYmxlLWxnIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3NlLWhpZGRlbi1sZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNzZS12aXNpYmxlLXhsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3NlLWhpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jc2UtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICBib3JkZXItcmFkaXVzOiAyLjEyNXJlbTtcbiAgY29sb3I6ICMzYTNhM2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIGJvcmRlci1jb2xvcjogI2NjYztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTI1cyBlYXNlLWluLW91dDsgfVxuICAuY3NlLWJ0bjpob3ZlciB7XG4gICAgY29sb3I6ICMzYTNhM2E7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgLmNzZS1idG46YWN0aXZlLCAuY3NlLWJ0bi5jc2UtYWN0aXZlLFxuICAuY3NlLW9wZW4gPiAuY3NlLWJ0bi5jc2UtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogIzNhM2EzYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuY3NlLWJ0bi5jc2UtZGlzYWJsZWQsIC5jc2UtYnRuOmRpc2FibGVkLCAuY3NlLWJ0bltkaXNhYmxlZF0ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAuNjsgfVxuICAgIC5jc2UtYnRuLmNzZS1kaXNhYmxlZDpmb2N1cywgLmNzZS1idG4uY3NlLWRpc2FibGVkOmhvdmVyLCAuY3NlLWJ0bjpkaXNhYmxlZDpmb2N1cywgLmNzZS1idG46ZGlzYWJsZWQ6aG92ZXIsIC5jc2UtYnRuW2Rpc2FibGVkXTpmb2N1cywgLmNzZS1idG5bZGlzYWJsZWRdOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuY3NlLWJ0bjpmb2N1cywgLmNzZS1idG46aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3NlLWJ0bjphY3RpdmUsIC5jc2UtYnRuLmNzZS1hY3RpdmUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNzZS1idG4uY3NlLWZvY3VzLCAuY3NlLWJ0bjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1MmMwYzQsIDAgMCAwIDRweCByZ2JhKDgyLCAxOTIsIDE5NiwgMC4zKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTJjMGM0O1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmNzZS1idG5bY2xhc3MqPVwiaWNvbi1cIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNzZS1idG5bY2xhc3MqPVwiaWNvbi1cIl06OmJlZm9yZSwgLmNzZS1idG5bY2xhc3MqPVwiaWNvbi1cIl06OmFmdGVyLCAuY3NlLWJ0bltkYXRhLWljb25dIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IH1cbiAgLmNzZS1idG5bZGF0YS1pY29uXSB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyOyB9XG4gIC5jc2UtYnRuICsgLmNzZS1idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5jc2UtYnRuLS1wcmltYXJ5IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NTBmO1xuICAgIGJvcmRlci1jb2xvcjogIzIxODUwZjsgfVxuICAgIC5jc2UtYnRuLS1wcmltYXJ5OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTcwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwNTcwMDsgfVxuICAgIC5jc2UtYnRuLS1wcmltYXJ5OmFjdGl2ZSwgLmNzZS1idG4tLXByaW1hcnkuY3NlLWFjdGl2ZSxcbiAgICAuY3NlLW9wZW4gPiAuY3NlLWJ0bi0tcHJpbWFyeS5jc2UtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTcwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwNTcwMDsgfVxuICAgIC5jc2UtYnRuLS1wcmltYXJ5LmNzZS1kaXNhYmxlZCwgLmNzZS1idG4tLXByaW1hcnk6ZGlzYWJsZWQsIC5jc2UtYnRuLS1wcmltYXJ5W2Rpc2FibGVkXSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IC42OyB9XG4gICAgICAuY3NlLWJ0bi0tcHJpbWFyeS5jc2UtZGlzYWJsZWQ6Zm9jdXMsIC5jc2UtYnRuLS1wcmltYXJ5LmNzZS1kaXNhYmxlZDpob3ZlciwgLmNzZS1idG4tLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5jc2UtYnRuLS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyLCAuY3NlLWJ0bi0tcHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsIC5jc2UtYnRuLS1wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NTBmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMyMTg1MGY7IH1cbiAgLmNzZS1idG4tLXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICMyMTg1MGY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICMyMTg1MGY7IH1cbiAgICAuY3NlLWJ0bi0tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNhM2EzYTsgfVxuICAgIC5jc2UtYnRuLS1zZWNvbmRhcnk6YWN0aXZlLCAuY3NlLWJ0bi0tc2Vjb25kYXJ5LmNzZS1hY3RpdmUsXG4gICAgLmNzZS1vcGVuID4gLmNzZS1idG4tLXNlY29uZGFyeS5jc2UtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNhM2EzYTsgfVxuICAgIC5jc2UtYnRuLS1zZWNvbmRhcnkuY3NlLWRpc2FibGVkLCAuY3NlLWJ0bi0tc2Vjb25kYXJ5OmRpc2FibGVkLCAuY3NlLWJ0bi0tc2Vjb25kYXJ5W2Rpc2FibGVkXSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IC42OyB9XG4gICAgICAuY3NlLWJ0bi0tc2Vjb25kYXJ5LmNzZS1kaXNhYmxlZDpmb2N1cywgLmNzZS1idG4tLXNlY29uZGFyeS5jc2UtZGlzYWJsZWQ6aG92ZXIsIC5jc2UtYnRuLS1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5jc2UtYnRuLS1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5jc2UtYnRuLS1zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAuY3NlLWJ0bi0tc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMjE4NTBmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMyMTg1MGY7IH1cbiAgLmNzZS1idG4tLWN0YSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyM2ZlMTtcbiAgICBib3JkZXItY29sb3I6ICM0MjNmZTE7IH1cbiAgICAuY3NlLWJ0bi0tY3RhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMWVjMjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIxMWVjMjsgfVxuICAgIC5jc2UtYnRuLS1jdGE6YWN0aXZlLCAuY3NlLWJ0bi0tY3RhLmNzZS1hY3RpdmUsXG4gICAgLmNzZS1vcGVuID4gLmNzZS1idG4tLWN0YS5jc2UtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMWVjMjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIxMWVjMjsgfVxuICAgIC5jc2UtYnRuLS1jdGEuY3NlLWRpc2FibGVkLCAuY3NlLWJ0bi0tY3RhOmRpc2FibGVkLCAuY3NlLWJ0bi0tY3RhW2Rpc2FibGVkXSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IC42OyB9XG4gICAgICAuY3NlLWJ0bi0tY3RhLmNzZS1kaXNhYmxlZDpmb2N1cywgLmNzZS1idG4tLWN0YS5jc2UtZGlzYWJsZWQ6aG92ZXIsIC5jc2UtYnRuLS1jdGE6ZGlzYWJsZWQ6Zm9jdXMsIC5jc2UtYnRuLS1jdGE6ZGlzYWJsZWQ6aG92ZXIsIC5jc2UtYnRuLS1jdGFbZGlzYWJsZWRdOmZvY3VzLCAuY3NlLWJ0bi0tY3RhW2Rpc2FibGVkXTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDIzZmUxO1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MjNmZTE7IH1cbiAgLmNzZS1idG4tLW5ldXRyYWwge1xuICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2EzYTNhOyB9XG4gICAgLmNzZS1idG4tLW5ldXRyYWw6aG92ZXIge1xuICAgICAgY29sb3I6ICMyMTg1MGY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjE4NTBmOyB9XG4gICAgLmNzZS1idG4tLW5ldXRyYWw6YWN0aXZlLCAuY3NlLWJ0bi0tbmV1dHJhbC5jc2UtYWN0aXZlLFxuICAgIC5jc2Utb3BlbiA+IC5jc2UtYnRuLS1uZXV0cmFsLmNzZS1kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6ICMyMTg1MGY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjE4NTBmOyB9XG4gICAgLmNzZS1idG4tLW5ldXRyYWwuY3NlLWRpc2FibGVkLCAuY3NlLWJ0bi0tbmV1dHJhbDpkaXNhYmxlZCwgLmNzZS1idG4tLW5ldXRyYWxbZGlzYWJsZWRdIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogLjY7IH1cbiAgICAgIC5jc2UtYnRuLS1uZXV0cmFsLmNzZS1kaXNhYmxlZDpmb2N1cywgLmNzZS1idG4tLW5ldXRyYWwuY3NlLWRpc2FibGVkOmhvdmVyLCAuY3NlLWJ0bi0tbmV1dHJhbDpkaXNhYmxlZDpmb2N1cywgLmNzZS1idG4tLW5ldXRyYWw6ZGlzYWJsZWQ6aG92ZXIsIC5jc2UtYnRuLS1uZXV0cmFsW2Rpc2FibGVkXTpmb2N1cywgLmNzZS1idG4tLW5ldXRyYWxbZGlzYWJsZWRdOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzYTNhM2E7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNhM2EzYTsgfVxuICAuY3NlLWJ0bi0tcmV2ZXJzZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gICAgLmNzZS1idG4tLXJldmVyc2U6aG92ZXIge1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzk5OTsgfVxuICAgIC5jc2UtYnRuLS1yZXZlcnNlOmFjdGl2ZSwgLmNzZS1idG4tLXJldmVyc2UuY3NlLWFjdGl2ZSxcbiAgICAuY3NlLW9wZW4gPiAuY3NlLWJ0bi0tcmV2ZXJzZS5jc2UtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICM5OTk7IH1cbiAgICAuY3NlLWJ0bi0tcmV2ZXJzZS5jc2UtZGlzYWJsZWQsIC5jc2UtYnRuLS1yZXZlcnNlOmRpc2FibGVkLCAuY3NlLWJ0bi0tcmV2ZXJzZVtkaXNhYmxlZF0ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAuNjsgfVxuICAgICAgLmNzZS1idG4tLXJldmVyc2UuY3NlLWRpc2FibGVkOmZvY3VzLCAuY3NlLWJ0bi0tcmV2ZXJzZS5jc2UtZGlzYWJsZWQ6aG92ZXIsIC5jc2UtYnRuLS1yZXZlcnNlOmRpc2FibGVkOmZvY3VzLCAuY3NlLWJ0bi0tcmV2ZXJzZTpkaXNhYmxlZDpob3ZlciwgLmNzZS1idG4tLXJldmVyc2VbZGlzYWJsZWRdOmZvY3VzLCAuY3NlLWJ0bi0tcmV2ZXJzZVtkaXNhYmxlZF06aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuICAuY3NlLWJ0bi0tbGcge1xuICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAxcmVtO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNzZS1idG4tLXNtIHtcbiAgICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAxcmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMC4wNjI1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg4OXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07IH1cbiAgICAgIC5jc2UtYnRuLS1zbVtjbGFzcyo9XCJpY29uLVwiXTo6YmVmb3JlLFxuICAgICAgLmNzZS1idG4tLXNtIFtjbGFzcyo9XCJpY29uLVwiXTo6YmVmb3JlLFxuICAgICAgLmNzZS1idG4tLXNtIFtkYXRhLWljb25dIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMS4yNXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUxJSk7IH0gfVxuICAuY3NlLWJ0bi0tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzZS1idG4tLWJsb2NrICsgLmNzZS1idG4tLWJsb2NrIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jc2UtY2xvc2Uge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6IC43NTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gIC5jc2UtY2xvc2U6Zm9jdXMsIC5jc2UtY2xvc2U6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3NlLWNsb3NlOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBjcy1nbG9iYWwtaWNvbnMsIHNhbnMtc2VyaWY7XG4gICAgY29udGVudDogXCJcXGYxMTVcIjsgfVxuXG4uY3NlLWRpdmlkZXI6ZW1wdHkge1xuICBib3JkZXItdG9wLWNvbG9yOiAjY2NjO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4uY3NlLWRpdmlkZXI6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAuY3NlLWRpdmlkZXI6bm90KDplbXB0eSk6OmJlZm9yZSwgLmNzZS1kaXZpZGVyOm5vdCg6ZW1wdHkpOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjY2M7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyB9XG4gIC5jc2UtZGl2aWRlcjpub3QoOmVtcHR5KTo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzZS1kaXZpZGVyOm5vdCg6ZW1wdHkpOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmNzZS1kaXZpZGVyLS1oZWF2eTplbXB0eSB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMyMTg1MGY7XG4gIGJvcmRlci10b3Atd2lkdGg6IDJweDsgfVxuXG4uY3NlLWRpdmlkZXItLWhlYXZ5Om5vdCg6ZW1wdHkpOjpiZWZvcmUsIC5jc2UtZGl2aWRlci0taGVhdnk6bm90KDplbXB0eSk6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzIxODUwZjtcbiAgYm9yZGVyLXRvcC13aWR0aDogMnB4OyB9XG5cbi5jc2UtZm9ybS1jb250cm9sIHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC4wNjI1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzNhM2EzYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM3NTc1NzU7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3NlLWZvcm0tY29udHJvbDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2EzYTNhOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzUyYzBjNCwgMCAwIDAgNHB4IHJnYmEoODIsIDE5MiwgMTk2LCAwLjMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1MmMwYzQ7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuY3NlLWZvcm0tY29udHJvbFtyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3NlLWZvcm0tY29udHJvbDpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgIGJvcmRlci1jb2xvcjogI2NjYztcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzZS1mb3JtLWNvbnRyb2w6ZGlzYWJsZWQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjY2NjOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sLmVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICNmMjU1NTU7IH1cbiAgICAuY3NlLWZvcm0tY29udHJvbC5lcnJvciB+IC5jc2UtZm9ybS1mZWVkYmFjay0taW52YWxpZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmNzZS1mb3JtLWNvbnRyb2wuZXJyb3IgfiAuY3NlLWZvcm0tZmVlZGJhY2stLWludmFsaWQgfiAuY3NlLWZvcm0taGVscCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0LmNzZS1mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDsgfVxuICBzZWxlY3QuY3NlLWZvcm0tY29udHJvbDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICBjb2xvcjogIzNhM2EzYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIHNlbGVjdC5jc2UtZm9ybS1jb250cm9sOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMCA2Jz4lM0NnIGZpbGw9J25vbmUnJTNFJTNDZyBmaWxsPSclMjMzQTNBM0EnJTNFJTNDcG9seWdvbiB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtODMyIC01MzkpdHJhbnNsYXRlKDcyMyA1MjUpdHJhbnNsYXRlKDExNCAxNylzY2FsZSgxIC0xKXRyYW5zbGF0ZSgtMTE0IC0xNyknIHBvaW50cz0nMTE0IDE0IDExOSAyMCAxMDkgMjAnIGNsYXNzPSd1bmRlZmluZWQnLyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdCByaWdodCAwLjc1cmVtIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAwLjVyZW07XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICAuY3NlLWZvcm0tY29udHJvbC0tc20ge1xuICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAxcmVtO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMjU7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuICAuY3NlLWZvcm0tY29udHJvbC0tbGcge1xuICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAxcmVtO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sLS1kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgIGJvcmRlci1jb2xvcjogI2NjYztcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzZS1mb3JtLWNvbnRyb2wtLWRpc2FibGVkOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2NjYzsgfVxuXG4uY3NlLWZvcm0tY29udHJvbC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmNzZS1mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzUyYzBjNCwgMCAwIDAgNHB4IHJnYmEoODIsIDE5MiwgMTk2LCAwLjMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1MmMwYzQ7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuY3NlLWZvcm0tY29udHJvbC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbFtmb3JdOjpiZWZvcmUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBib3JkZXItY29sb3I6ICNjY2M7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3NlLWZvcm0tY29udHJvbC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbFtmb3JdOjphZnRlciB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuY3NlLWZvcm0tY29udHJvbC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDpub3QoOmRpc2FibGVkKSArIGxhYmVsW2Zvcl06OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxODUwZjtcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cbiAgLmNzZS1mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbFtmb3JdOmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cbiAgLmNzZS1mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmVycm9yIH4gLmNzZS1mb3JtLWZlZWRiYWNrLS1pbnZhbGlkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jc2UtZm9ybS1jb250cm9sLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5lcnJvciB+IC5jc2UtZm9ybS1mZWVkYmFjay0taW52YWxpZCB+IC5jc2UtZm9ybS1oZWxwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzZS1mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmVycm9yICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICNmMjU1NTU7IH1cbiAgLmNzZS1mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWxbZm9yXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuY3NlLWZvcm0tY29udHJvbC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbFtmb3JdOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjM2EzYTNhOyB9XG4gICAgLmNzZS1mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWxbZm9yXTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZm9udC1mYW1pbHk6IGNzLWdsb2JhbC1pY29ucywgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWxbZm9yXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7IH1cbiAgLmNzZS1mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuICAuY3NlLWZvcm0tY29udHJvbC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbFtmb3JdOjphZnRlciB7XG4gICAgdG9wOiAwLjE4NzVyZW07XG4gICAgbGVmdDogMC4xMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5jc2UtZm9ybS1jb250cm9sLWNoZWNrYm94LS1sZyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbFtmb3JdIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAuY3NlLWZvcm0tY29udHJvbC1jaGVja2JveC0tbGcgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtOyB9XG5cbi5jc2UtZm9ybS1jb250cm9sLWNoZWNrYm94LS1sZyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbFtmb3JdOjphZnRlciB7XG4gIHRvcDogMC4wNjI1cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmNzZS1mb3JtLWNvbnRyb2wtcmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyArIGxhYmVsW2Zvcl06OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1MmMwYzQsIDAgMCAwIDRweCByZ2JhKDgyLCAxOTIsIDE5NiwgMC4zKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTJjMGM0O1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmNzZS1mb3JtLWNvbnRyb2wtcmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzZS1mb3JtLWNvbnRyb2wtcmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkICsgbGFiZWxbZm9yXTo6YWZ0ZXIge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmNzZS1mb3JtLWNvbnRyb2wtcmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQ6bm90KDpkaXNhYmxlZCkgKyBsYWJlbFtmb3JdOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTg1MGY7XG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWxbZm9yXTpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXS5lcnJvciB+IC5jc2UtZm9ybS1mZWVkYmFjay0taW52YWxpZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3NlLWZvcm0tY29udHJvbC1yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0uZXJyb3IgfiAuY3NlLWZvcm0tZmVlZGJhY2stLWludmFsaWQgfiAuY3NlLWZvcm0taGVscCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXS5lcnJvciArIGxhYmVsW2Zvcl06OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjI1NTU1OyB9XG4gIC5jc2UtZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsW2Zvcl0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmNzZS1mb3JtLWNvbnRyb2wtcmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzNhM2EzYTsgfVxuICAgIC5jc2UtZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsW2Zvcl06OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBjcy1nbG9iYWwtaWNvbnMsIHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuY3NlLWZvcm0tY29udHJvbC1yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsW2Zvcl06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjExM1wiOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsW2Zvcl06OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5jc2UtZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsW2Zvcl06OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuNXJlbTsgfVxuXG4uY3NlLWZvcm0tY29udHJvbC1yYWRpby0tbGcgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWxbZm9yXSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmNzZS1mb3JtLWNvbnRyb2wtcmFkaW8tLWxnIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsW2Zvcl06OmJlZm9yZSB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTsgfVxuXG4uY3NlLWZvcm0tY29udHJvbC1yYWRpby0tbGcgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWxbZm9yXTo6YWZ0ZXIge1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMzc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLmNzZS1mb3JtLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLmNzZS1mb3JtLWxhYmVsLS1yZXF1aXJlZDo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIGNvbG9yOiAjZjI1NTU1O1xuICAgIGNvbnRlbnQ6IFwiKlwiOyB9XG5cbi5jc2UtZm9ybS1oZWxwIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4zNzVyZW07XG4gIGNvbG9yOiAjNzU3NTc1OyB9XG5cbi5jc2UtZm9ybS1mZWVkYmFjayB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuMzc1cmVtOyB9XG4gIC5jc2UtZm9ybS1mZWVkYmFjay0taW52YWxpZCB7XG4gICAgY29sb3I6ICNmMjU1NTU7IH1cblxuaDEge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuODAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDIuMDI3cmVtOyB9IH1cblxuaDIge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuNDI0cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDEuNjAycmVtOyB9IH1cblxuaDMge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMjY2cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTsgfVxuXG5oNCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbmg1IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg4OXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMTI1cmVtOyB9XG5cbi5jc2UtaGVhZGluZy0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjgwMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNzZS1oZWFkaW5nLTEge1xuICAgICAgZm9udC1zaXplOiAyLjAyN3JlbTsgfSB9XG5cbi5jc2UtaGVhZGluZy0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjQyNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNzZS1oZWFkaW5nLTIge1xuICAgICAgZm9udC1zaXplOiAxLjYwMnJlbTsgfSB9XG5cbi5jc2UtaGVhZGluZy0zIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjI2NnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cblxuLmNzZS1oZWFkaW5nLTQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTsgfVxuXG4uY3NlLWhlYWRpbmctNSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44ODlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNXJlbTsgfVxuXG4uY3NlLWhlYWRpbmctLW9zd2FsZCB7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5jc2UtZGlzcGxheS0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAyLjI4MXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jc2UtZGlzcGxheS0xIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44ODdyZW07IH0gfVxuXG4uY3NlLWRpc3BsYXktMiB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMi4wMjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY3NlLWRpc3BsYXktMiB7XG4gICAgICBmb250LXNpemU6IDIuNTY2cmVtOyB9IH1cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4uY3NlLWxlYWQge1xuICBmb250LXNpemU6IDEuMjY2cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5jc2Utc21hbGwsXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44ODlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmNzZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjc5cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDU2MnJlbTtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207IH1cblxuLmNzZS1sZWdhbCB7XG4gIGZvbnQtc2l6ZTogMC43MDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwNTYycmVtOyB9XG5cbi5jc2UtbWFyayxcbm1hcmsge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7IH1cblxuLmNzZS1saW5rIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMTI1cmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGNvbG9yOiAjM2EzYTNhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzUzNTM1MzsgfVxuICAuY3NlLWxpbmsgPiBbY2xhc3NePVwiY3NlLWljb25cIl06OmJlZm9yZSB7XG4gICAgbGluZS1oZWlnaHQ6IC44O1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7IH1cbiAgLmNzZS1saW5rOmFjdGl2ZSwgLmNzZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzQyM2ZlMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzQyM2ZlMTsgfVxuICAuY3NlLWxpbms6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgICBvdXRsaW5lLWNvbG9yOiAjNDIzZmUxO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAwOyB9XG4gIC5jc2UtbGluay0tY3RhIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzQyM2ZlMTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jc2UtbGluay0tY3RhOmFjdGl2ZSwgLmNzZS1saW5rLS1jdGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM0MjNmZTE7IH1cbiAgLmNzZS1saW5rLS1yZXZlcnNlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOyB9XG4gICAgLmNzZS1saW5rLS1yZXZlcnNlOmFjdGl2ZSwgLmNzZS1saW5rLS1yZXZlcnNlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk5OTsgfVxuICAgIC5jc2UtbGluay0tcmV2ZXJzZTpmb2N1cyB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAjZmZmOyB9XG4gIC5jc2UtbGluay0tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5jc2UtbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5cbi5jc2UtbGlzdC1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuXG4uY3NlLWxpc3QtaW5saW5lIGxpLFxuLmNzZS1saXN0LWlubGluZV9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBcbiAgLmNzZS1saXN0LWlubGluZSBsaTpub3QoOmxhc3QtY2hpbGQpLFxuICAuY3NlLWxpc3QtaW5saW5lX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG5cbi5jc2UtbGlzdC1pbmxpbmUtLWRlbGltaXRlZCA+IGxpICsgbGk6OmJlZm9yZSxcbi5jc2UtbGlzdC1pbmxpbmUtLWRlbGltaXRlZCA+IC5jc2UtbGlzdC1pbmxpbmVfX2l0ZW0gKyAuY3NlLWxpc3QtaW5saW5lX19pdGVtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIizCoFwiOyB9XG5cbi5jc2UtbG9hZGVyIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjNzU3NTc1OyB9XG4gIC5jc2UtbG9hZGVyIGRpdiB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGJvcmRlci13aWR0aDogNXB4OyB9XG4gIC5jc2UtbG9hZGVyIGRpdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogY3MtbG9hZGVyIDEuMnMgY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC41LCAxKSBpbmZpbml0ZTsgfVxuICAgIC5jc2UtbG9hZGVyIGRpdjpudGgtY2hpbGQoMSkge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtLjQ1czsgfVxuICAgIC5jc2UtbG9hZGVyIGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtLjNzOyB9XG4gICAgLmNzZS1sb2FkZXIgZGl2Om50aC1jaGlsZCgzKSB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0uMTVzOyB9XG5cbkBrZXlmcmFtZXMgY3MtbG9hZGVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuICAuY3NlLWxvYWRlci0tc20ge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAgIC5jc2UtbG9hZGVyLS1zbSBkaXYge1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDNweDsgfVxuICAuY3NlLWxvYWRlci0tbGcge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTsgfVxuICAgIC5jc2UtbG9hZGVyLS1sZyBkaXYge1xuICAgICAgd2lkdGg6IDNyZW07XG4gICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDZweDsgfVxuICAuY3NlLWxvYWRlci0tY2VudGVyZWQge1xuICAgIHRvcDogY2FsYyg1MCUgLSAycmVtIC8gMik7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAycmVtIC8gMik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAuY3NlLWxvYWRlci0tY2VudGVyZWQuY3NlLWxvYWRlci0tc20ge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDFyZW0gLyAyKTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMXJlbSAvIDIpOyB9XG4gICAgLmNzZS1sb2FkZXItLWNlbnRlcmVkLmNzZS1sb2FkZXItLWxnIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAzcmVtIC8gMik7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDNyZW0gLyAyKTsgfVxuXG4uY3NlLWF2YXRhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmNzZS1hdmF0YXIgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jc2UtYXZhdGFyIGltZzpub3QoW2RhdGEtdG9nZ2xlPVwiYXZhdGFyXCJdKSB7XG4gICAgICBwYWRkaW5nOiAwLjA2MjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMDQ5ZmE0OyB9XG4gIC5jc2UtYXZhdGFyLS1jZXJ0aWZpZWQge1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIGhlaWdodDogNHJlbTsgfVxuICAgIC5jc2UtYXZhdGFyLS1jZXJ0aWZpZWQ6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTAuMzc1cmVtO1xuICAgICAgYm90dG9tOiAtMC4zNzVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvbG9nby0tY2hlY2ttYXJrLS1ncmVlbi0tYmxhY2stLXdoaXRlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmNzZS1hdmF0YXItLXNtYWxsIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtOyB9XG4gIC5jc2UtYXZhdGFyLS1sYXJnZSB7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgaGVpZ2h0OiA0cmVtOyB9XG5cbi5jc2UtdGFnIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBjb2xvcjogIzUzNTM1MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLmNzZS10YWc6aG92ZXIge1xuICAgIGNvbG9yOiAjNTM1MzUzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cbiAgLmNzZS10YWc6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTJjMGM0LCAwIDAgMCA0cHggcmdiYSg4MiwgMTkyLCAxOTYsIDAuMyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzUyYzBjNDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5jc2UtdGFnLS1jbG9zZSwgLmNzZS10YWdbZGF0YS1kaXNtaXNzPVwidGFnXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuY3NlLXRhZy0tY2xvc2UsIC5jc2UtdGFnW2RhdGEtZGlzbWlzcz1cInRhZ1wiXSB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuICAgICAgLmNzZS10YWctLWNsb3NlLmNzZS1mYWRlLCAuY3NlLXRhZ1tkYXRhLWRpc21pc3M9XCJ0YWdcIl0uY3NlLWZhZGUge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmNzZS10YWctLWNsb3NlOjphZnRlciwgLmNzZS10YWdbZGF0YS1kaXNtaXNzPVwidGFnXCJdOjphZnRlciB7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1mYW1pbHk6IGNzLWdsb2JhbC1pY29ucywgc2Fucy1zZXJpZjtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTE1XCI7XG4gICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH1cblxuLmNzZS1hY2NvcmRpb24gKyAuY3NlLWFjY29yZGlvbiB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuXG4uY3NlLWFjY29yZGlvbl9fZ3JvdXAtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMjY2cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMS41cmVtIDAuMDYyNXJlbSAxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuY3NlLWFjY29yZGlvbl9fZ3JvdXAtdGl0bGUge1xuICAgICAgcGFkZGluZzogMS41cmVtIDFyZW0gMXJlbTsgfSB9XG5cbi5jc2UtYWNjb3JkaW9uX19pdGVtIHtcbiAgcGFkZGluZzogMC4wNjI1cmVtIDFyZW07XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLmNzZS1hY2NvcmRpb25fX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDJyZW07IH0gfVxuICAuY3NlLWFjY29yZGlvbl9faXRlbSArIC5jc2UtYWNjb3JkaW9uX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuLmNzZS1hY2NvcmRpb25fX2hlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmNzZS1hY2NvcmRpb25fX2hlYWRlciA+ICoge1xuICAgIGZsZXg6IDE7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDEsXG4gIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDIsXG4gIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDMsXG4gIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDQsXG4gIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGgxLmljb246OmJlZm9yZSxcbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGgyLmljb246OmJlZm9yZSxcbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGgzLmljb246OmJlZm9yZSxcbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGg0Lmljb246OmJlZm9yZSxcbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGg1Lmljb246OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGgxID4gaW1nLFxuICAgIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDIgPiBpbWcsXG4gICAgLmNzZS1hY2NvcmRpb25fX2hlYWRlciBoMyA+IGltZyxcbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGg0ID4gaW1nLFxuICAgIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDUgPiBpbWcge1xuICAgICAgaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGgxLmljb246OmJlZm9yZSxcbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGgxID4gaW1nLFxuICAgIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDIuaWNvbjo6YmVmb3JlLFxuICAgIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDIgPiBpbWcsXG4gICAgLmNzZS1hY2NvcmRpb25fX2hlYWRlciBoMy5pY29uOjpiZWZvcmUsXG4gICAgLmNzZS1hY2NvcmRpb25fX2hlYWRlciBoMyA+IGltZyxcbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGg0Lmljb246OmJlZm9yZSxcbiAgICAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGg0ID4gaW1nLFxuICAgIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDUuaWNvbjo6YmVmb3JlLFxuICAgIC5jc2UtYWNjb3JkaW9uX19oZWFkZXIgaDUgPiBpbWcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jc2UtYWNjb3JkaW9uX19oZWFkZXItaW5mbyB7XG4gICAgZmxleDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMXJlbSArIDIwcHgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmNzZS1hY2NvcmRpb25fX2hlYWRlci1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbGV4OiAwO1xuICAgIGNvbG9yOiAjNWFiNjQzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKTsgfVxuICAgIC5jc2UtYWNjb3JkaW9uX19oZWFkZXItYXJyb3c6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJjcy1nbG9iYWwtaWNvbnNcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gICAgICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICBjb250ZW50OiBcIlxcZjEwNVwiOyB9XG4gICAgLmNzZS1hY2NvcmRpb25fX2hlYWRlci1hcnJvdzo6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMDhzOyB9XG4gICAgICAuY3NlLWNvbGxhcHNlZCAuY3NlLWFjY29yZGlvbl9faGVhZGVyLWFycm93OjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9XG4gIC5jc2UtYWNjb3JkaW9uX19oZWFkZXItZGVzY3JpcHRpb24ge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY3NlLWFjY29yZGlvbl9fYm9keSA+ICo6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cblxuLmNzZS1hY2NvcmRpb25fX2JvZHkuY3NlLWNvbGxhcHNlOm5vdCguY3NlLXNob3cpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY3NlLWFjY29yZGlvbl9fYm9keS5jc2UtY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlOyB9XG5cbi5jc2UtYWNjb3JkaW9uX19ib2R5IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNzZS1hY2NvcmRpb24tLWdyb3VwIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9XG4gIC5jc2UtYWNjb3JkaW9uLS1ncm91cCAuY3NlLWFjY29yZGlvbl9faXRlbSB7XG4gICAgcGFkZGluZzogMC4wNjI1cmVtO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLmNzZS1hY2NvcmRpb24tLWdyb3VwIC5jc2UtYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDFyZW07IH0gfVxuICAgIC5jc2UtYWNjb3JkaW9uLS1ncm91cCAuY3NlLWFjY29yZGlvbl9faXRlbSArIC5jc2UtYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYzsgfVxuICAgIC5jc2UtYWNjb3JkaW9uLS1ncm91cCAuY3NlLWFjY29yZGlvbl9faXRlbSwgLmNzZS1hY2NvcmRpb24tLWdyb3VwIC5jc2UtYWNjb3JkaW9uX19pdGVtOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5jc2UtYWNjb3JkaW9uLS1ncm91cCAuY3NlLWFjY29yZGlvbl9faGVhZGVyIGgzLCAuY3NlLWFjY29yZGlvbi0tZ3JvdXAgLmNzZS1hY2NvcmRpb25fX2hlYWRlcjpub3QoLmNzZS1jbG9zZSkge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmNzZS1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNzZS1kcm9wZG93bi0tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzZS1kcm9wZG93bi0tYmxvY2sgLmNzZS1kcm9wZG93bl9fdG9nZ2xlLCAuY3NlLWRyb3Bkb3duLS1ibG9jayAuY3NlLWRyb3Bkb3duX19tZW51IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jc2UtZHJvcGRvd25fX3RvZ2dsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTYuMjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMi42MjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAgIC5jc2UtZHJvcGRvd25fX3RvZ2dsZTo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiY3MtZ2xvYmFsLWljb25zXCI7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgICAgIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMC4zMTI1cmVtKTtcbiAgICAgIHJpZ2h0OiAxcmVtOyB9XG4gICAgLmNzZS1kcm9wZG93bi5zaG93IC5jc2UtZHJvcGRvd25fX3RvZ2dsZSB7XG4gICAgICB6LWluZGV4OiAxMDAyOyB9XG4gIC5jc2UtZHJvcGRvd25fX292ZXJsYXkge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgICAuY3NlLWRyb3Bkb3duLnNob3cgLmNzZS1kcm9wZG93bl9fb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgLmNzZS1kcm9wZG93bl9fbWVudSB7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnM7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6IDExLjM3NXJlbTtcbiAgICBtYXgtd2lkdGg6IDE2LjI1cmVtO1xuICAgIG1heC1oZWlnaHQ6IDE1cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIG1hcmdpbjogMC41cmVtIDA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBjb2xvcjogIzAwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjsgfVxuICAgIC5jc2UtZHJvcGRvd25fX21lbnU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAuY3NlLWRyb3Bkb3duX19tZW51LnNob3cge1xuICAgICAgei1pbmRleDogMTAwMjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jc2UtZHJvcGRvd25fX2l0ZW0sXG4gIC5jc2UtZHJvcGRvd25fX2l0ZW0gPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5jc2UtZHJvcGRvd25fX2l0ZW06Zm9jdXMsIC5jc2UtZHJvcGRvd25fX2l0ZW06aG92ZXIsXG4gICAgLmNzZS1kcm9wZG93bl9faXRlbSA+IGE6Zm9jdXMsXG4gICAgLmNzZS1kcm9wZG93bl9faXRlbSA+IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5jc2UtZHJvcGRvd25fX2l0ZW0uZGlzYWJsZWQsXG4gICAgLmNzZS1kcm9wZG93bl9faXRlbSA+IGEuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC5jc2UtZHJvcGRvd25fX2l0ZW0uZGlzYWJsZWQ6aG92ZXIsXG4gICAgICAuY3NlLWRyb3Bkb3duX19pdGVtID4gYS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzZS1kcm9wZG93bl9faXRlbS5hY3RpdmUsXG4gICAgLmNzZS1kcm9wZG93bl9faXRlbSA+IGEuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMjE4NTBmOyB9XG4gICAgLmNzZS1kcm9wZG93bl9faXRlbSBsYWJlbFtmb3JdLFxuICAgIC5jc2UtZHJvcGRvd25fX2l0ZW0gPiBhIGxhYmVsW2Zvcl0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzZS1kcm9wZG93bl9faXRlbSA+IGEge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfVxuICAuY3NlLWRyb3Bkb3duX19kaXZpZGVyIHtcbiAgICBtYXJnaW46IDAuNXJlbSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOyB9XG4gIC5jc2UtZHJvcGRvd25fX2hlYWRlciB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jc2UtZm9ybS12YWxpZGF0ZWQgLmNzZS1mb3JtLWNvbnRyb2w6aW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI2YyNTU1NTsgfVxuICAuY3NlLWZvcm0tdmFsaWRhdGVkIC5jc2UtZm9ybS1jb250cm9sOmludmFsaWQgfiAuY3NlLWZvcm0tZmVlZGJhY2stLWludmFsaWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzZS1mb3JtLXZhbGlkYXRlZCAuY3NlLWZvcm0tY29udHJvbDppbnZhbGlkIH4gLmNzZS1mb3JtLWZlZWRiYWNrLS1pbnZhbGlkIH4gLmNzZS1mb3JtLWhlbHAge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY3NlLWZvcm0tdmFsaWRhdGVkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTppbnZhbGlkIH4gLmNzZS1mb3JtLWZlZWRiYWNrLS1pbnZhbGlkLFxuLmNzZS1mb3JtLXZhbGlkYXRlZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06aW52YWxpZCB+IC5jc2UtZm9ybS1mZWVkYmFjay0taW52YWxpZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jc2UtZm9ybS12YWxpZGF0ZWQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmludmFsaWQgfiAuY3NlLWZvcm0tZmVlZGJhY2stLWludmFsaWQgfiAuY3NlLWZvcm0taGVscCxcbiAgLmNzZS1mb3JtLXZhbGlkYXRlZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06aW52YWxpZCB+IC5jc2UtZm9ybS1mZWVkYmFjay0taW52YWxpZCB+IC5jc2UtZm9ybS1oZWxwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jc2UtZm9ybS12YWxpZGF0ZWQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmludmFsaWQgKyBsYWJlbFtmb3JdOjpiZWZvcmUsXG4uY3NlLWZvcm0tdmFsaWRhdGVkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTppbnZhbGlkICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjI1NTU1OyB9XG5cbi5jc2UtZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmNzZS1oZXJvIHtcbiAgcGFkZGluZzogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogNDB2aDtcbiAgbWluLWhlaWdodDogMTguNzVyZW07XG4gIG1hcmdpbi1yaWdodDogLTUwdnc7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogd2lkdGggLjAzcyBlYXNlLCBtYXJnaW4tbGVmdCAuMDNzIGVhc2UsIGhlaWdodCAuMDNzIGVhc2U7IH1cbiAgLmNzZS1oZXJvOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuMSksIHJnYmEoMCwgMCwgMCwgMC40NSksIHJnYmEoMCwgMCwgMCwgMC41KSk7IH1cbiAgLmNzZS1oZXJvX19hcnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7IH1cbiAgLmNzZS1oZXJvX19jb250ZW50IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDIuMjgxcmVtIC0gMS41cmVtKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNzZS1oZXJvX19jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNzZS1oZXJvX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygyLjg4N3JlbSAtIDEuNXJlbSk7IH0gfVxuICAuY3NlLWhlcm9fX2FuY2hvciB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuY3NlLWhlcm9fX2FuY2hvciBhLmNzZS1saW5rIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIC5jc2UtaGVyb19fYWN0aW9ucyAuY3NlLWJ0biArIC5jc2UtYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtOyB9XG4gIC5jc2UtaGVyby0tc2xpbSB7XG4gICAgaGVpZ2h0OiAzMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDE1LjYyNXJlbTsgfVxuICAuY3NlLWhlcm8tLXRvcCAuY3NlLWhlcm9fX2FydCB7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7IH1cbiAgLmNzZS1oZXJvLS1ib3R0b20gLmNzZS1oZXJvX19hcnQge1xuICAgIG9iamVjdC1wb3NpdGlvbjogYm90dG9tOyB9XG5cbi5jc2UtbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA1MDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdXRsaW5lOiAwOyB9XG4gIC5jc2UtbW9kYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY3NlLW1vZGFsLWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwNDA7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLmNzZS1tb2RhbC1iYWNrZHJvcC5jc2UtZmFkZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmNzZS1tb2RhbC1iYWNrZHJvcC5jc2Utc2hvdyB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmNzZS1tb2RhbF9fZGlhbG9nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmNzZS1mYWRlIC5jc2UtbW9kYWxfX2RpYWxvZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MHB4KTsgfVxuICAgIC5jc2Utc2hvdyAuY3NlLW1vZGFsX19kaWFsb2cge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAuY3NlLW1vZGFsX19kaWFsb2cge1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICB3aWR0aDogMzZyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiA4Ljc1cmVtIGF1dG8gMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfSB9XG4gICAgLmNzZS1tb2RhbF9fZGlhbG9nIC5jc2UtY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxcmVtO1xuICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICB6LWluZGV4OiAxMDUwO1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmNzZS1tb2RhbF9faGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAycmVtIDEuNXJlbSAxcmVtO1xuICAgIGNvbG9yOiAjM2EzYTNhOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY3NlLW1vZGFsX19oZWFkZXIge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsgfSB9XG4gIC5jc2UtbW9kYWxfX3RpdGxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5jc2UtbW9kYWxfX3N1Yi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuY3NlLW1vZGFsX19zaGFyZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLmNzZS1tb2RhbF9fc2hhcmUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgICAgLmNzZS1tb2RhbF9fc2hhcmU6OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH0gfVxuICAuY3NlLW1vZGFsX19ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAuY3NlLW1vZGFsX19hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAuY3NlLW1vZGFsX19hY3Rpb25zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuY3NlLW1vZGFsX19mb290ZXIge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOyB9XG4gIC5jc2UtbW9kYWwtLW1lZGlhIC5jc2UtbW9kYWxfX2RpYWxvZyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBib3JkZXI6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC5jc2UtbW9kYWwtLW1lZGlhIC5jc2UtbW9kYWxfX2RpYWxvZyB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gICAgICAuY3NlLW1vZGFsLS1tZWRpYSAuY3NlLW1vZGFsX19kaWFsb2cge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgICAgIC5jc2UtbW9kYWwtLW1lZGlhIC5jc2UtbW9kYWxfX2RpYWxvZyB7XG4gICAgICAgIHdpZHRoOiA4MyU7XG4gICAgICAgIG1heC13aWR0aDogMTA0MnB4OyB9IH1cbiAgLmNzZS1tb2RhbC0tbWVkaWEgLmNzZS1tb2RhbF9faGVhZGVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gICAgICAuY3NlLW1vZGFsLS1tZWRpYSAuY3NlLW1vZGFsX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzZS1tb2RhbC0tbWVkaWEgLmNzZS1tb2RhbF9fc3ViLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5jc2UtbW9kYWwtLW1lZGlhIC5jc2UtbW9kYWxfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLmNzZS1tb2RhbC0tbWVkaWEgLmNzZS1tb2RhbF9fYm9keSB7XG4gICAgICAgIGZsZXg6IHVuc2V0O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gICAgICAuY3NlLW1vZGFsLS1tZWRpYSAuY3NlLW1vZGFsX19ib2R5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpLCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gICAgICAuY3NlLW1vZGFsLS1tZWRpYSAuY3NlLW1vZGFsX19ib2R5IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAuY3NlLW1vZGFsLS1tZWRpYSAuY3NlLW1vZGFsX19tZWRpYSB7XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLmNzZS1tb2RhbC0tbWVkaWEgLmNzZS1tb2RhbF9fbWVkaWEge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpLCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gICAgICAuY3NlLW1vZGFsLS1tZWRpYSAuY3NlLW1vZGFsX19tZWRpYSB7XG4gICAgICAgIGZsZXg6IDAgMCA3MCU7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAuY3NlLW1vZGFsLS1tZWRpYSAuY3NlLW1vZGFsX19tZWRpYS1pbmZvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAzO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDJyZW0gMCAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC5jc2UtbW9kYWwtLW1lZGlhIC5jc2UtbW9kYWxfX21lZGlhLWluZm8ge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTsgfSB9XG4gICAgQG1lZGlhIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1heC13aWR0aDogOTY5cHgpIHtcbiAgICAgIC5jc2UtbW9kYWwtLW1lZGlhIC5jc2UtbW9kYWxfX21lZGlhLWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpLCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gICAgICAuY3NlLW1vZGFsLS1tZWRpYSAuY3NlLW1vZGFsX19tZWRpYS1pbmZvIHtcbiAgICAgICAgZmxleDogMCAwIDMwJTsgfSB9XG4gICAgLmNzZS1tb2RhbC0tbWVkaWEgLmNzZS1tb2RhbF9fbWVkaWEtaW5mby5zY3JvbGwtYm94IC5jc2UtbW9kYWxfX21lZGlhLWluZm8tdGV4dCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgICAuY3NlLW1vZGFsLS1tZWRpYSAuY3NlLW1vZGFsX19tZWRpYS1pbmZvLnNjcm9sbC1ib3ggLmNzZS1tb2RhbF9fbWVkaWEtaW5mby1hY3Rpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7IH1cbiAgICAgIC5jc2UtbW9kYWwtLW1lZGlhIC5jc2UtbW9kYWxfX21lZGlhLWluZm8uc2Nyb2xsLWJveCAuY3NlLW1vZGFsX19tZWRpYS1pbmZvLWFjdGlvbjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0yNXB4O1xuICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICBsZWZ0OiAxLjVyZW07XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpLCAjZmZmKTsgfVxuICAuY3NlLW1vZGFsLS1tZWRpYSAuY3NlLW1vZGFsX19tZWRpYS1pbmZvLXRleHQge1xuICAgIHBhZGRpbmc6IDAgMS41cmVtIDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5jc2UtbW9kYWwtLW1lZGlhIC5jc2UtbW9kYWxfX21lZGlhLWluZm8tYWN0aW9uIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNzZS1tb2RhbC0tbWVkaWEgLmNzZS1tb2RhbF9fbWVkaWEtaW5mby1hY3Rpb24gPiAuYnRuIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NzBweCkge1xuICAgICAgLmNzZS1tb2RhbC0tbWVkaWEgLmNzZS1tb2RhbF9fbWVkaWEtaW5mby1hY3Rpb24gPiAuYnRuIHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDsgfSB9XG4gIC5jc2UtbW9kYWwtLWRhcmsgLmNzZS1tb2RhbF9faGVhZGVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2EzYTNhOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jc2UtbW9kYWwtLWZ1bGwgLmNzZS1tb2RhbF9fZGlhbG9nIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY3NlLW1vZGFsLS1mdWxsIC5jc2UtbW9kYWxfX2hlYWRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cblxuLmNzZS1ub3RpZmljYXRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuICAuY3NlLW5vdGlmaWNhdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgICAuY3NlLW5vdGlmaWNhdGlvbi5jc2UtZmFkZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jc2Utbm90aWZpY2F0aW9uOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBjcy1nbG9iYWwtaWNvbnMsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5jc2Utbm90aWZpY2F0aW9uIC5jc2UtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMTI1cmVtOyB9XG4gIC5jc2Utbm90aWZpY2F0aW9uX19jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5jc2Utbm90aWZpY2F0aW9uLS1zdWNjZXNzIHtcbiAgICBjb2xvcjogIzAwNTcwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmZmYwO1xuICAgIGJvcmRlci1jb2xvcjogIzVhYjY0MzsgfVxuICAgIC5jc2Utbm90aWZpY2F0aW9uLS1zdWNjZXNzOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxMjNcIjsgfVxuICAuY3NlLW5vdGlmaWNhdGlvbi0tZXJyb3Ige1xuICAgIGNvbG9yOiAjOGMwYjBiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWY1ZjE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjI1NTU1OyB9XG4gICAgLmNzZS1ub3RpZmljYXRpb24tLWVycm9yOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxMjFcIjsgfVxuICAuY3NlLW5vdGlmaWNhdGlvbi0tYWxlcnQge1xuICAgIGNvbG9yOiAjNjMzZTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZkZTY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjVhYjIzOyB9XG4gICAgLmNzZS1ub3RpZmljYXRpb24tLWFsZXJ0OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxMDNcIjsgfVxuICAuY3NlLW5vdGlmaWNhdGlvbi0taW5mbyB7XG4gICAgY29sb3I6ICMzYTNhM2E7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBib3JkZXItY29sb3I6ICM5OTk7IH1cbiAgICAuY3NlLW5vdGlmaWNhdGlvbi0taW5mbzo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTMyXCI7IH1cbiAgLmNzZS1ub3RpZmljYXRpb24tLW5vLWljb246OmJlZm9yZSB7XG4gICAgY29udGVudDogdW5zZXQ7IH1cblxuLmNzZS1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jc2UtcGFnaW5hdGlvbi0tY2VudGVyZWQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jc2UtcGFnaW5hdGlvbl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmNzZS1wYWdpbmF0aW9uX19pdGVtLnNtYWxsLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzZS1wYWdpbmF0aW9uX19pdGVtID4gW2NsYXNzXj1cInBhZ2luYXRpb25fX1wiXSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNzZS1wYWdpbmF0aW9uX19pdGVtLnNtYWxsLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5jc2UtcGFnaW5hdGlvbl9faXRlbS5sYXJnZS1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNzZS1wYWdpbmF0aW9uX19saW5rIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgICAgLmNzZS1wYWdpbmF0aW9uX19saW5rLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cbiAgICAgIC5jc2UtcGFnaW5hdGlvbl9fbGluazpub3QoLmFjdGl2ZSk6Zm9jdXMsIC5jc2UtcGFnaW5hdGlvbl9fbGluazpub3QoLmFjdGl2ZSk6YWN0aXZlLCAuY3NlLXBhZ2luYXRpb25fX2xpbms6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTg1MGY7IH0gfVxuICAuY3NlLXBhZ2luYXRpb25fX3ByZXZpb3VzOmZvY3VzLCAuY3NlLXBhZ2luYXRpb25fX3ByZXZpb3VzOmFjdGl2ZSwgLmNzZS1wYWdpbmF0aW9uX19wcmV2aW91czpob3ZlciB7XG4gICAgY29sb3I6ICMyMTg1MGY7IH1cbiAgLmNzZS1wYWdpbmF0aW9uX19wcmV2aW91czo6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcImNzLWdsb2JhbC1pY29uc1wiO1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH1cbiAgLmNzZS1wYWdpbmF0aW9uX19uZXh0OmZvY3VzLCAuY3NlLXBhZ2luYXRpb25fX25leHQ6YWN0aXZlLCAuY3NlLXBhZ2luYXRpb25fX25leHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMjE4NTBmOyB9XG4gIC5jc2UtcGFnaW5hdGlvbl9fbmV4dDo6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcImNzLWdsb2JhbC1pY29uc1wiO1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA5XCI7IH1cbiAgLmNzZS1wYWdpbmF0aW9uX19lbGxpcHNpczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwib2ZcIjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY3NlLXBhZ2luYXRpb25fX2VsbGlwc2lzOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIi4uLlwiOyB9IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLnNsaWRlciAqIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG4gIC5zbGlkZXJfX3RyYWNrIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zbGlkZXJfX3NsaWRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4tWTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cbiAgICAuc2xpZGVyX19zbGlkZXMtLWRyYWdnaW5nIHtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5zbGlkZXJfX3NsaWRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGlkZXJfX3NsaWRlIGEge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLnNsaWRlcl9fYXJyb3dzIHtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLnNsaWRlcl9fYnVsbGV0cyB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5zbGlkZXItLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7IH1cblxuLmNzZS1zbGlkZXItLXBlZWtpbmcge1xuICB3aWR0aDogOTAlOyB9XG4gIC5jc2Utc2xpZGVyLS1wZWVraW5nIC5jc2Utc2xpZGVyX190cmFjaywgLmNzZS1zbGlkZXItLXBlZWtpbmcgLmNzZS1zbGlkZXJfX2Fycm93cywgLmNzZS1zbGlkZXItLXBlZWtpbmcgLmNzZS1zbGlkZXJfX2J1bGxldHMge1xuICAgIHdpZHRoOiAxMTElOyB9XG4gIC5jc2Utc2xpZGVyLS1wZWVraW5nIC5jc2Utc2xpZGVyX190cmFjazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xLjVyZW07XG4gICAgcmlnaHQ6IC0xMSU7XG4gICAgYm90dG9tOiAtMS41cmVtO1xuICAgIHdpZHRoOiA1cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoYXQgMTAwJSA1MCUsIHJnYmEoMCwgMCwgMCwgMC41KSAwJSwgdHJhbnNwYXJlbnQgNzUlKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cblxuLmNzZS1zbGlkZXItLWxhenk6bm90KC5nbGlkZS0tY2Fyb3VzZWwpOm5vdCguZ2xpZGUtLXNsaWRlcikgLmNzZS1zbGlkZXJfX3RyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jc2Utc2xpZGVyLS1sYXp5Om5vdCguZ2xpZGUtLWNhcm91c2VsKTpub3QoLmdsaWRlLS1zbGlkZXIpIC5jc2Utc2xpZGVyX19zbGlkZXMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jc2Utc2xpZGVyX19zbGlkZXMge1xuICBtYXJnaW46IDA7IH1cblxuLmNzZS1zbGlkZXJfX2Fycm93cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtMTJweDsgfVxuXG4uY3NlLXNsaWRlcl9fYXJyb3cge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7IH1cbiAgLmNzZS1zbGlkZXJfX2Fycm93LS1sZWZ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTI4cHg7IH1cbiAgLmNzZS1zbGlkZXJfX2Fycm93LS1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMjhweDsgfVxuXG4uY3NlLXNsaWRlcl9fYnVsbGV0cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY3NlLXNsaWRlcl9fYnVsbGV0IHtcbiAgd2lkdGg6IDExcHg7XG4gIGhlaWdodDogMTFweDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAuY3NlLXNsaWRlcl9fYnVsbGV0OmhvdmVyLCAuY3NlLXNsaWRlcl9fYnVsbGV0LS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYTNhM2E7IH1cbiAgLmNzZS1zbGlkZXJfX2J1bGxldCArIC5jc2Utc2xpZGVyX19idWxsZXQge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5jc2Utc29jaWFsLXNoYXJlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jc2Utc29jaWFsLXNoYXJlX19sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jc2Utc29jaWFsLXNoYXJlX19pY29uLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5jc2Utc29jaWFsLXNoYXJlX19pY29uLWxpbmsuaWNvbi1mYWNlYm9vayB7XG4gICAgICBjb2xvcjogIzQzNWRhYTsgfVxuICAgIC5jc2Utc29jaWFsLXNoYXJlX19pY29uLWxpbmsuaWNvbi10d2l0dGVyIHtcbiAgICAgIGNvbG9yOiAjMWRhMWYyOyB9XG4gICAgLmNzZS1zb2NpYWwtc2hhcmVfX2ljb24tbGluay5pY29uLXBpbnRlcmVzdCB7XG4gICAgICBjb2xvcjogI2JkMDgxYzsgfVxuICAgIC5jc2Utc29jaWFsLXNoYXJlX19pY29uLWxpbmsuaWNvbi1lbWFpbCB7XG4gICAgICBjb2xvcjogIzUyYzBjNDsgfVxuICAgIC5jc2Utc29jaWFsLXNoYXJlX19pY29uLWxpbmsuaWNvbi1wcmludGVyLXNvbGlkIHtcbiAgICAgIGNvbG9yOiAjNzU3NTc1OyB9XG4gICAgLmNzZS1zb2NpYWwtc2hhcmVfX2ljb24tbGluay5pY29uLW1vcmUtb3V0bGluZSB7XG4gICAgICBjb2xvcjogIzNhM2EzYTsgfVxuICAgIC5jc2Utc29jaWFsLXNoYXJlX19pY29uLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMzYTNhM2E7IH1cbiAgLmNzZS1zb2NpYWwtc2hhcmVfX2JveCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jc2Utc29jaWFsLXNoYXJlX19ib3gtZGl2aWRlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IH1cbiAgICAuY3NlLXNvY2lhbC1zaGFyZV9fYm94IC5jc2Utc29jaWFsLXNoYXJlX19pY29uLWxpbmsge1xuICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwOyB9XG5cbi5jc2Utc3RpY2t5LXNoYXJlIHtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLmNzZS1zdGlja3ktc2hhcmU6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5jc2Utc3RpY2t5LXNoYXJlLS1sb2FkZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jc2Utc3RpY2t5LXNoYXJlLS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY3NlLXRhYiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLmNzZS10YWJfX25hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuICAuY3NlLXRhYl9faXRlbTpub3QoLmNzZS1kcm9wZG93bl9faXRlbSk6bm90KC5kcm9wcGVyX19pdGVtKSB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOyB9XG4gICAgLmNzZS10YWJfX2l0ZW06bm90KC5jc2UtZHJvcGRvd25fX2l0ZW0pOm5vdCguZHJvcHBlcl9faXRlbSk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cbiAgICAuY3NlLXRhYl9faXRlbTpub3QoLmNzZS1kcm9wZG93bl9faXRlbSk6bm90KC5kcm9wcGVyX19pdGVtKSA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg4OXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5jc2UtdGFiX19pdGVtOm5vdCguY3NlLWRyb3Bkb3duX19pdGVtKTpub3QoLmRyb3BwZXJfX2l0ZW0pID4gYTpmb2N1cywgLmNzZS10YWJfX2l0ZW06bm90KC5jc2UtZHJvcGRvd25fX2l0ZW0pOm5vdCguZHJvcHBlcl9faXRlbSkgPiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMyMTg1MGY7IH1cbiAgICAgIC5jc2UtdGFiX19pdGVtOm5vdCguY3NlLWRyb3Bkb3duX19pdGVtKTpub3QoLmRyb3BwZXJfX2l0ZW0pID4gYS5hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmNzZS10YWJfX2l0ZW06bm90KC5jc2UtZHJvcGRvd25fX2l0ZW0pOm5vdCguZHJvcHBlcl9faXRlbSkgPiBhLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1YWI2NDM7IH1cbiAgICAgIC5jc2UtdGFiX19pdGVtOm5vdCguY3NlLWRyb3Bkb3duX19pdGVtKTpub3QoLmRyb3BwZXJfX2l0ZW0pID4gYS5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAjNzU3NTc1OyB9XG4gIC5jc2UtdGFiX19pdGVtLmNzZS1kcm9wZG93biA+IFtkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJdOjphZnRlcixcbiAgLmNzZS10YWJfX2l0ZW0uY3NlLWRyb3Bkb3duID4gYTo6YWZ0ZXIsIC5jc2UtdGFiX19pdGVtLmRyb3BwZXIgPiBbZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXTo6YWZ0ZXIsXG4gIC5jc2UtdGFiX19pdGVtLmRyb3BwZXIgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImNzLWdsb2JhbC1pY29uc1wiO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgY29udGVudDogXCJcXGYxMGVcIjtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3NlLXRhYl9faXRlbS5jc2UtZHJvcGRvd24gLmNzZS1kcm9wZG93bl9fbWVudSBhLFxuICAuY3NlLXRhYl9faXRlbS5jc2UtZHJvcGRvd24gLmRyb3BwZXJfX21lbnUgYSwgLmNzZS10YWJfX2l0ZW0uZHJvcHBlciAuY3NlLWRyb3Bkb3duX19tZW51IGEsXG4gIC5jc2UtdGFiX19pdGVtLmRyb3BwZXIgLmRyb3BwZXJfX21lbnUgYSB7XG4gICAgZm9udC1zaXplOiAwLjg4OXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNzZS10YWJfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAuY3NlLXRhYl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtOyB9IH1cbiAgLmNzZS10YWJfX3BhbmUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gICAgLmNzZS10YWJfX3BhbmUuY3NlLWZhZGUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuY3NlLXRhYl9fcGFuZTpub3QoY3NlLS5hY3RpdmUpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jc2UtdGFiX19wYW5lIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3NlLXRhYi0tZmxvYXRpbmcge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5jc2UtdGFiLS1mbG9hdGluZywgLmNzZS10YWItLWZsb2F0aW5nOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3NlLXRhYi0tZmxvYXRpbmcgLmNzZS10YWJfX25hdiB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgLmNzZS10YWItLWZsb2F0aW5nIC5jc2UtdGFiX19pdGVtOm5vdCguY3NlLWRyb3Bkb3duX19pdGVtKTpub3QoLmRyb3BwZXJfX2l0ZW0pIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgICAgIC5jc2UtdGFiLS1mbG9hdGluZyAuY3NlLXRhYl9faXRlbTpub3QoLmNzZS1kcm9wZG93bl9faXRlbSk6bm90KC5kcm9wcGVyX19pdGVtKTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmNzZS10YWItLWZsb2F0aW5nIC5jc2UtdGFiX19jb250ZW50OjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAuY3NlLXRhYi0tcmFpc2VkIC5jc2UtdGFiX19jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtOyB9XG4gICAgLmNzZS10YWItLXJhaXNlZCAuY3NlLXRhYl9fY29udGVudDo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogLTYuMjVyZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cblxuLmNzZS10b29sdGlwIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNzA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDE4cmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBvcGFjaXR5OiAwO1xuICAvKiBUb29sdGlwIHRleHQgKi9cbiAgLyogTW9kaWZpZXJzICovIH1cbiAgLmNzZS10b29sdGlwW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNzZS10b29sdGlwW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4gIC5jc2UtdG9vbHRpcFt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDsgfVxuICAuY3NlLXRvb2x0aXBbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgLmNzZS10b29sdGlwW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIG1hcmdpbi1yaWdodDogNnB4OyB9XG4gIC5jc2UtdG9vbHRpcF9faW5uZXIge1xuICAgIGZvbnQtc2l6ZTogMC44ODlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gIC5jc2UtdG9vbHRpcF9fYXJyb3cge1xuICAgIG1hcmdpbjogNnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5jc2UtdG9vbHRpcF9fYXJyb3csIC5jc2UtdG9vbHRpcF9fYXJyb3c6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgIC5jc2UtdG9vbHRpcF9fYXJyb3c6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cbiAgICAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmNzZS10b29sdGlwX19hcnJvdyB7XG4gICAgICBib3R0b206IC02cHg7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDZweCk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogNnB4IDZweCAwIDZweDsgfVxuICAgICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwidG9wXCJdIC5jc2UtdG9vbHRpcF9fYXJyb3csIC50b29sdGlwW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuY3NlLXRvb2x0aXBfX2Fycm93OjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50b29sdGlwW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuY3NlLXRvb2x0aXBfX2Fycm93OjphZnRlciB7XG4gICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDAgNXB4OyB9XG4gICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmNzZS10b29sdGlwX19hcnJvdyB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNnB4KTtcbiAgICAgIGxlZnQ6IC02cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogNnB4IDZweCA2cHggMDsgfVxuICAgICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmNzZS10b29sdGlwX19hcnJvdywgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmNzZS10b29sdGlwX19hcnJvdzo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmNzZS10b29sdGlwX19hcnJvdzo6YWZ0ZXIge1xuICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwOyB9XG4gICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5jc2UtdG9vbHRpcF9fYXJyb3cge1xuICAgICAgdG9wOiAtNnB4O1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA2cHgpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgNnB4IDZweCA2cHg7IH1cbiAgICAgIC50b29sdGlwW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAuY3NlLXRvb2x0aXBfX2Fycm93LCAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmNzZS10b29sdGlwX19hcnJvdzo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLmNzZS10b29sdGlwX19hcnJvdzo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHggNXB4OyB9XG4gICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwibGVmdFwiXSAuY3NlLXRvb2x0aXBfX2Fycm93IHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA2cHgpO1xuICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogNnB4IDAgNnB4IDZweDsgfVxuICAgICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwibGVmdFwiXSAuY3NlLXRvb2x0aXBfX2Fycm93LCAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5jc2UtdG9vbHRpcF9fYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5jc2UtdG9vbHRpcF9fYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICBsZWZ0OiAtNnB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDVweCAwIDVweCA1cHg7IH1cbiAgLmNzZS10b29sdGlwLS1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7IH1cbiAgICAuY3NlLXRvb2x0aXAtLWRhcmsgLmNzZS10b29sdGlwX19pbm5lciB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jc2UtdG9vbHRpcC0tZGFyayAuY3NlLXRvb2x0aXBfX2Fycm93IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuICAgICAgLmNzZS10b29sdGlwLS1kYXJrIC5jc2UtdG9vbHRpcF9fYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwOyB9XG5cbi5jc2UtdXNlci1zdW1tYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY3NlLXVzZXItc3VtbWFyeSArIC5jc2UtdXNlci1zdW1tYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5jc2UtdXNlci1zdW1tYXJ5X19hdmF0YXIge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG4gIC5jc2UtdXNlci1zdW1tYXJ5X19ib2R5IHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtYXgtd2lkdGg6IDE1cmVtOyB9XG4gIC5jc2UtdXNlci1zdW1tYXJ5X19uYW1lIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuY3NlLXVzZXItc3VtbWFyeV9fbmFtZSBhIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjEyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNTM1MzUzO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jc2UtdXNlci1zdW1tYXJ5X19uYW1lIGE6YWN0aXZlLCAuY3NlLXVzZXItc3VtbWFyeV9fbmFtZSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM0MjNmZTE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM0MjNmZTE7IH1cbiAgICAgIC5jc2UtdXNlci1zdW1tYXJ5X19uYW1lIGE6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICAgICAgICBvdXRsaW5lLWNvbG9yOiAjNDIzZmUxO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMDsgfVxuICAuY3NlLXVzZXItc3VtbWFyeV9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjOTk5OyB9XG4gIC5jc2UtdXNlci1zdW1tYXJ5X19pbmZvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgLmNzZS11c2VyLXN1bW1hcnktLWZ1bGwgLmNzZS11c2VyLXN1bW1hcnlfX2F2YXRhciB7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4uY3NlLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNzZS1yb3ctLW1hcmdpbiB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5jc2Utcm93LS1tYXJnaW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgICAuY3NlLXJvdy0tbWFyZ2luIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9IH1cblxuLmNzZS1yb3ctLW5vLWd1dHRlcnMgPiAuY3NlLWNvbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uY3NlLXJvdy0tYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uY3NlLXJvdy0tYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmNzZS1yb3ctLWFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uY3NlLWNvbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cblxuLmNzZS1jb2wge1xuICBmbGV4OiAxIDEgMDsgfVxuXG4uY3NlLWNvbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5jc2UtY29sLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uY3NlLWNvbC0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLmNzZS1jb2wtNCB7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5jc2UtY29sLTUge1xuICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uY3NlLWNvbC02IHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLmNzZS1jb2wtNyB7XG4gIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG5cbi5jc2UtY29sLTgge1xuICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uY3NlLWNvbC05IHtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7IH1cblxuLmNzZS1jb2wtMTAge1xuICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uY3NlLWNvbC0xMSB7XG4gIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG5cbi5jc2UtY29sLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY3NlLWNvbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uY3NlLWNvbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmNzZS1jb2wtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5jc2UtY29sLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uY3NlLWNvbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmNzZS1jb2wtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5jc2UtY29sLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uY3NlLWNvbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmNzZS1jb2wtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5jc2UtY29sLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmNzZS1jb2wtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgLmNzZS1jb2wtc20ge1xuICAgIGZsZXg6IDEgMSAwOyB9XG4gIC5jc2UtY29sLXNtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jc2UtY29sLXNtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNzZS1jb2wtc20tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY3NlLWNvbC1zbS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jc2UtY29sLXNtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNzZS1jb2wtc20tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY3NlLWNvbC1zbS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jc2UtY29sLXNtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNzZS1jb2wtc20tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY3NlLWNvbC1zbS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY3NlLWNvbC1zbS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY3NlLWNvbC1zbS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jc2UtY29sLW9mZnNldC1zbS0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXNtLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXNtLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXNtLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXNtLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXNtLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXNtLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXNtLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5jc2UtY29sLW9mZnNldC1zbS0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY3NlLWNvbCB7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH1cbiAgLmNzZS1jb2wtbWQge1xuICAgIGZsZXg6IDEgMSAwOyB9XG4gIC5jc2UtY29sLW1kLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jc2UtY29sLW1kLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNzZS1jb2wtbWQtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY3NlLWNvbC1tZC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jc2UtY29sLW1kLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNzZS1jb2wtbWQtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY3NlLWNvbC1tZC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jc2UtY29sLW1kLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNzZS1jb2wtbWQtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY3NlLWNvbC1tZC0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY3NlLWNvbC1tZC0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY3NlLWNvbC1tZC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jc2UtY29sLW9mZnNldC1tZC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LW1kLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LW1kLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LW1kLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LW1kLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LW1kLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LW1kLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LW1kLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LW1kLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5jc2UtY29sLW9mZnNldC1tZC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5NzBweCkge1xuICAuY3NlLWNvbC1sZyB7XG4gICAgZmxleDogMSAxIDA7IH1cbiAgLmNzZS1jb2wtbGctMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtbGctMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY3NlLWNvbC1sZy0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5jc2UtY29sLWxnLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtbGctNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY3NlLWNvbC1sZy02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5jc2UtY29sLWxnLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtbGctOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY3NlLWNvbC1sZy05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5jc2UtY29sLWxnLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jc2UtY29sLWxnLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jc2UtY29sLWxnLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LWxnLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuY3NlLWNvbC1vZmZzZXQtbGctMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuY3NlLWNvbC1vZmZzZXQtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuY3NlLWNvbC1vZmZzZXQtbGctNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuY3NlLWNvbC1vZmZzZXQtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuY3NlLWNvbC1vZmZzZXQtbGctNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuY3NlLWNvbC1vZmZzZXQtbGctNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuY3NlLWNvbC1vZmZzZXQtbGctOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuY3NlLWNvbC1vZmZzZXQtbGctOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuY3NlLWNvbC1vZmZzZXQtbGctMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LWxnLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY3NlLWNvbC14bCB7XG4gICAgZmxleDogMSAxIDA7IH1cbiAgLmNzZS1jb2wteGwtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNzZS1jb2wteGwtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY3NlLWNvbC14bC0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5jc2UtY29sLXhsLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNzZS1jb2wteGwtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY3NlLWNvbC14bC02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5jc2UtY29sLXhsLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNzZS1jb2wteGwtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY3NlLWNvbC14bC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5jc2UtY29sLXhsLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jc2UtY29sLXhsLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jc2UtY29sLXhsLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuY3NlLWNvbC1vZmZzZXQteGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuY3NlLWNvbC1vZmZzZXQteGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuY3NlLWNvbC1vZmZzZXQteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuY3NlLWNvbC1vZmZzZXQteGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuY3NlLWNvbC1vZmZzZXQteGwtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuY3NlLWNvbC1vZmZzZXQteGwtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuY3NlLWNvbC1vZmZzZXQteGwtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuY3NlLWNvbC1vZmZzZXQteGwtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuY3NlLWNvbC1vZmZzZXQteGwtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmNzZS1jb2wtb2Zmc2V0LXhsLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuLmNzZS1zdHlsZWtpdC1iYXNlLWZvbnRzIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjM2EzYTNhO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG5cbi5jc2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jc2UtY29udGFpbmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY3NlLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLmNzZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY3NlLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5NzBweCkge1xuICAgIC5jc2UtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5jc2UtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA3NXJlbTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxla2l0X2NzZS5jc3MubWFwICovIiwiQGlmICRjcy1lbmFibGUtdXRpbGl0aWVzLW5vcm1hbGl6ZSB7XG5cbi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbi8vIHNtYWxsIHtcbi8vICAgZm9udC1zaXplOiA4MCU7XG4vLyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogY3MtcmVtKDAgMnB4KTtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwicGFyc2VfaW50XCI7XG5cbi8vLyBGdW5jdGlvbiB0byBjb252ZXJ0IHVuaXRzXG4vLy8gQHBhcmFtICR0by11bml0XG4vLy8gQHBhcmFtICR2YWx1ZVxuQGZ1bmN0aW9uIGNzLXVuaXQtdG8oJHRvLXVuaXQsICR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9IFwibnVtYmVyXCIgb3IgaW5kZXgoKFwicHhcIiwgXCJyZW1cIiksIHVuaXQoJHZhbHVlKSkgPT0gbnVsbCB7XG4gICAgQGVycm9yIFwiYCN7JHZhbHVlfWAgbXVzdCBiZSBhIG51bWJlciBvciBvbmUgb2YgdGhlIGZvbGxvd2luZyB1bml0czogcHgsIHJlbS5cIjtcbiAgfVxuXG4gICRyZXQ6IG51bGw7XG4gICR1bml0OiB1bml0KCR2YWx1ZSk7XG5cbiAgLy8gcmV0dXJuIHZhbHVlIGlmIG5vIHVuaXQgaXMgdGhlIHNhbWVcbiAgQGlmICR0by11bml0ID09ICR1bml0IHtcbiAgICAkcmV0OiAkdmFsdWU7XG4gIH1cblxuICAvLyBjb252ZXJ0IHRvIHB4XG4gIEBpZiAkdG8tdW5pdCA9PSBcInB4XCIge1xuICAgIEBpZiAkdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRyZXQ6IChjcy1wYXJzZS1pbnQoJGNzLWZvbnQtc2l6ZS1yb290KSAqIGNzLXBhcnNlLWludCgkdmFsdWUpKSAqIDFweDsgLy8gKiAxcHhcIiBwcmV2ZW50cyBjYXN0aW5nIHN0cmluZ1xuICAgIH1cbiAgfVxuXG4gIC8vIGNvbnZlcnQgdG8gcmVtXG4gIEBpZiAkdG8tdW5pdCA9PSBcInJlbVwiIHtcbiAgICBAaWYgJHVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRyZXQ6IChjcy1wYXJzZS1pbnQoJHZhbHVlKSAvIGNzLXBhcnNlLWludCgkY3MtZm9udC1zaXplLXJvb3QpKSAqIDFyZW07IC8vICogMXJlbVwiIHByZXZlbnRzIGNhc3Rpbmcgc3RyaW5nXG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkcmV0O1xufVxuIiwiQGlmICRjcy1lbmFibGUtdXRpbGl0aWVzLXJlYm9vdCB7XG5cbiAgLyogUmVib290ICovXG5cbiAgLy8gQ3JlZGl0OiBCT09UU1RSQVAgNFxuICAvLyBBZGRzIGFkZGl0aW9uYWwgcnVsZXMgb24gdG9wIG9mIE5vcm1hbGl6ZS5jc3MsIGluY2x1ZGluZyBzZXZlcmFsIG92ZXJyaWRlcy5cblxuXG4gIC8vIFJlc2V0IHRoZSBib3gtc2l6aW5nXG4gIC8vXG4gIC8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgdG8gYGJvcmRlci1ib3hgIHNvIHRoYXQgd2hlbiB5b3UgYWRkXG4gIC8vIGBwYWRkaW5nYCBvciBgYm9yZGVyYHMgdG8gYW4gZWxlbWVudCwgdGhlIG92ZXJhbGwgZGVjbGFyZWQgYHdpZHRoYCBkb2VzIG5vdFxuICAvLyBjaGFuZ2UuIEZvciBleGFtcGxlLCBgd2lkdGg6IDEwMHB4O2Agd2lsbCBhbHdheXMgYmUgYDEwMHB4YCBkZXNwaXRlIHRoZVxuICAvLyBgYm9yZGVyOiAxMHB4IHNvbGlkIHJlZDtgIGFuZCBgcGFkZGluZzogMjBweDtgLlxuICAvL1xuICAvLyBIZWFkcyB1cCEgVGhpcyByZXNldCBtYXkgY2F1c2UgY29uZmxpY3RzIHdpdGggc29tZSB0aGlyZC1wYXJ0eSB3aWRnZXRzLiBGb3JcbiAgLy8gcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4gIC8vIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jdGhpcmQtYm94LXNpemluZy5cbiAgLy9cbiAgLy8gQ3JlZGl0OiBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB9XG5cblxuICAvLyBNYWtlIHZpZXdwb3J0IHJlc3BvbnNpdmVcbiAgLy9cbiAgLy8gQHZpZXdwb3J0IGlzIG5lZWRlZCBiZWNhdXNlIElFIDEwKyBkb2Vzbid0IGhvbm9yIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiPiBpblxuICAvLyBzb21lIGNhc2VzLiBTZWUgaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vLlxuICAvLyBFdmVudHVhbGx5IEB2aWV3cG9ydCB3aWxsIHJlcGxhY2UgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+LiBJdCdzIGJlZW4gbWFudWFsbHlcbiAgLy8gcHJlZml4ZWQgZm9yIGZvcndhcmQtY29tcGF0aWJpbGl0eS5cbiAgLy9cbiAgLy8gSG93ZXZlciwgYGRldmljZS13aWR0aGAgaXMgYnJva2VuIG9uIElFIDEwIG9uIFdpbmRvd3MgKFBob25lKSA4LFxuICAvLyAoc2VlIGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEwNDk3KVxuICAvLyBhbmQgdGhlIGZpeCBmb3IgdGhhdCBpbnZvbHZlcyBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudFxuICAvLyBhbmQgYXBwbHkgc29tZSBjb25kaXRpb25hbCBDU1MuXG4gIC8vXG4gIC8vIFNlZSBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3N1cHBvcnQtaWUxMC13aWR0aCBmb3IgdGhlIHJlbGV2YW50IGhhY2suXG4gIC8vXG4gIC8vIFdyYXAgYEB2aWV3cG9ydGAgd2l0aCBgQGF0LXJvb3RgIGZvciB3aGVuIGZvbGtzIGRvIGEgbmVzdGVkIGltcG9ydCAoZS5nLixcbiAgLy8gYC5jbGFzcy1uYW1lIHsgQGltcG9ydCBcImJvb3RzdHJhcFwiOyB9YCkuXG4gIC8vXG4gIC8vIEluY2x1ZGVzIGZ1dHVyZS1wcm9vZmVkIHZlbmRvciBwcmVmaXhlcyBhcyB3ZWxsLlxuICBAYXQtcm9vdCB7XG4gICAgQC1tb3otdmlld3BvcnQgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgICBALW1zLXZpZXdwb3J0ICAgICAgIHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuICAgIEAtby12aWV3cG9ydCAgICAgICAgeyB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG4gICAgQC13ZWJraXQtdmlld3BvcnQgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgICBAdmlld3BvcnQgICAgICAgICAgIHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuICB9XG5cblxuICAvL1xuICAvLyBSZXNldCBIVE1MLCBib2R5LCBhbmQgbW9yZVxuICAvL1xuXG4gIGh0bWwge1xuICAgIC8vIENoYW5nZXMgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgICAvLyBTZXQgdGhlIGJhc2UgZm9udC1zaXplIGZvciBlYWNoIGJyZWFrcG9pbnRcbiAgICAvLyBTZXRzIGEgc3BlY2lmaWMgZGVmYXVsdCBgZm9udC1zaXplYCBmb3IgdXNlIHdpdGggYHJlbWAgdHlwZSBzY2FsZXMuXG4gICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGNzLWZvbnQtc2l6ZS1yb290cykge1xuICAgICAgJGNzLWZvbnQtc2l6ZTogbWFwLWdldCgkY3MtZm9udC1zaXplLXJvb3RzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkY3MtZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJvZHkge1xuICAgIC8vIE1ha2UgdGhlIGBib2R5YCB1c2UgdGhlIGBmb250LXNpemUtYmFzZWBcbiAgICBmb250LWZhbWlseTogJGNzLWZvbnQtZmFtaWx5LWJhc2U7XG4gICAgZm9udC1zaXplOiAkY3MtZm9udC1zaXplLWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6ICRjcy1saW5lLWhlaWdodDtcbiAgICAvLyBHbyBlYXN5IG9uIHRoZSBleWVzIGFuZCB1c2Ugc29tZXRoaW5nIG90aGVyIHRoYW4gYCMwMDBgIGZvciB0ZXh0XG4gICAgY29sb3I6ICRjcy1ib2R5LWNvbG9yO1xuICAgIC8vIEJ5IGRlZmF1bHQsIGA8Ym9keT5gIGhhcyBubyBgYmFja2dyb3VuZC1jb2xvcmAgc28gd2Ugc2V0IG9uZSBhcyBhIGJlc3QgcHJhY3RpY2UuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWJvZHktYmc7XG5cbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICB9XG5cbiAgLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuICAvLyBUaGlzIHByZXZlbnRzIGFuIHVud2FudGVkIGZvY3VzIG91dGxpbmUgZnJvbSBhcHBlYXJpbmcgYXJvdW5kIGVsZW1lbnRzIHRoYXRcbiAgLy8gbWlnaHQgc3RpbGwgcmVzcG9uZCB0byBwb2ludGVyIGV2ZW50cy5cbiAgLy9cbiAgLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlXG4gIFt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuXG4gIC8vXG4gIC8vIFR5cG9ncmFwaHlcbiAgLy9cblxuICAvLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuICAvL1xuICAvLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuICAvLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGg3LCBoOCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgfVxuXG4gIC8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuICAvL1xuICAvLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4gIC8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cbiAgLy8gcCB7XG4gIC8vICAgbWFyZ2luLXRvcDogMDtcbiAgLy8gICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyB9XG5cbiAgLy8gQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXNcbiAgYWJiclt0aXRsZV0sXG4gIC8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuICBhYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkY3MtYWJici1ib3JkZXItY29sb3I7XG4gIH1cblxuICBhZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIG9sLFxuICB1bCxcbiAgZGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIG9sIG9sLFxuICB1bCB1bCxcbiAgb2wgdWwsXG4gIHVsIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiAkY3MtZHQtZm9udC13ZWlnaHQ7XG4gIH1cblxuICBkZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG4gIH1cblxuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICB9XG5cblxuICAvL1xuICAvLyBMaW5rc1xuICAvL1xuXG4gIGEge1xuICAgIGNvbG9yOiAkY3MtbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRjcy1saW5rLWRlY29yYXRpb247XG5cbiAgICBAaW5jbHVkZSBjcy1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGNzLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246ICRjcy1saW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgfVxuICB9XG5cblxuICAvL1xuICAvLyBDb2RlXG4gIC8vXG5cbiAgcHJlIHtcbiAgICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG5cbiAgLy9cbiAgLy8gRmlndXJlc1xuICAvL1xuXG4gIGZpZ3VyZSB7XG4gICAgLy8gTm9ybWFsaXplIGFkZHMgYG1hcmdpbmAgdG8gYGZpZ3VyZWBzIGFzIGJyb3dzZXJzIGFwcGx5IGl0IGluY29uc2lzdGVudGx5LlxuICAgIC8vIFdlIHJlc2V0IHRoYXQgdG8gY3JlYXRlIGEgYmV0dGVyIGZsb3cgaW4tcGFnZS5cbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICB9XG5cblxuICAvL1xuICAvLyBJbWFnZXNcbiAgLy9cblxuICBpbWcge1xuICAgIC8vIEJ5IGRlZmF1bHQsIGA8aW1nPmBzIGFyZSBgaW5saW5lLWJsb2NrYC4gVGhpcyBhc3N1bWVzIHRoYXQsIGFuZCB2ZXJ0aWNhbGx5XG4gICAgLy8gY2VudGVycyB0aGVtLiBUaGlzIHdvbid0IGFwcGx5IHNob3VsZCB5b3UgcmVzZXQgdGhlbSB0byBgYmxvY2tgIGxldmVsLlxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLy8gTm90ZTogYDxpbWc+YHMgYXJlIGRlbGliZXJhdGVseSBub3QgbWFkZSByZXNwb25zaXZlIGJ5IGRlZmF1bHQuXG4gICAgLy8gRm9yIHRoZSByYXRpb25hbGUgYmVoaW5kIHRoaXMsIHNlZSB0aGUgY29tbWVudHMgb24gdGhlIGAuaW1nLWZsdWlkYCBjbGFzcy5cbiAgfVxuXG5cbiAgLy8gaU9TIFwiY2xpY2thYmxlIGVsZW1lbnRzXCIgZml4IGZvciByb2xlPVwiYnV0dG9uXCJcbiAgLy9cbiAgLy8gRml4ZXMgXCJjbGlja2FiaWxpdHlcIiBpc3N1ZSAoYW5kIG1vcmUgZ2VuZXJhbGx5LCB0aGUgZmlyaW5nIG9mIGV2ZW50cyBzdWNoIGFzIGZvY3VzIGFzIHdlbGwpXG4gIC8vIGZvciB0cmFkaXRpb25hbGx5IG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aCByb2xlPVwiYnV0dG9uXCJcbiAgLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbiAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG5cbiAgLy8gQXZvaWQgMzAwbXMgY2xpY2sgZGVsYXkgb24gdG91Y2ggZGV2aWNlcyB0aGF0IHN1cHBvcnQgdGhlIGB0b3VjaC1hY3Rpb25gIENTUyBwcm9wZXJ0eS5cbiAgLy9cbiAgLy8gSW4gcGFydGljdWxhciwgdW5saWtlIG1vc3Qgb3RoZXIgYnJvd3NlcnMsIElFMTErRWRnZSBvbiBXaW5kb3dzIDEwIG9uIHRvdWNoIGRldmljZXMgYW5kIElFIE1vYmlsZSAxMC0xMVxuICAvLyBET04nVCByZW1vdmUgdGhlIGNsaWNrIGRlbGF5IHdoZW4gYDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGhcIj5gIGlzIHByZXNlbnQuXG4gIC8vIEhvd2V2ZXIsIHRoZXkgRE8gc3VwcG9ydCByZW1vdmluZyB0aGUgY2xpY2sgZGVsYXkgdmlhIGB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbmAuXG4gIC8vIFNlZTpcbiAgLy8gKiBodHRwOi8vdjQtYWxwaGEuZ2V0Ym9vdHN0cmFwLmNvbS9jb250ZW50L3JlYm9vdC8jY2xpY2stZGVsYXktb3B0aW1pemF0aW9uLWZvci10b3VjaFxuICAvLyAqIGh0dHA6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtdG91Y2gtYWN0aW9uXG4gIC8vICogaHR0cDovL3BhdHJpY2tobGF1a2UuZ2l0aHViLmlvL3RvdWNoL3Rlc3RzL3Jlc3VsdHMvI3N1cHByZXNzaW5nLTMwMG1zLWRlbGF5XG5cbiAgYSxcbiAgYXJlYSxcbiAgYnV0dG9uLFxuICBbcm9sZT1cImJ1dHRvblwiXSxcbiAgaW5wdXQsXG4gIGxhYmVsLFxuICBzZWxlY3QsXG4gIHN1bW1hcnksXG4gIHRleHRhcmVhIHtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG5cbiAgLy9cbiAgLy8gVGFibGVzXG4gIC8vXG5cbiAgdGFibGUge1xuICAgIC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gY2FwdGlvbiB7XG4gIC8vICAgcGFkZGluZy10b3A6IGNzLXJlbSgkY3MtdGFibGUtY2VsbC1wYWRkaW5nKTtcbiAgLy8gICBwYWRkaW5nLWJvdHRvbTogY3MtcmVtKCRjcy10YWJsZS1jZWxsLXBhZGRpbmcpO1xuICAvLyAgIGNvbG9yOiAkY3MtdGV4dC1tdXRlZDtcbiAgLy8gICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAvLyAgIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICAvLyB9XG5cbiAgdGgge1xuICAgIC8vIENlbnRlcmVkIGJ5IGRlZmF1bHQsIGJ1dCBsZWZ0LWFsaWduLWVkIHRvIG1hdGNoIHRoZSBgdGRgcyBiZWxvdy5cbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cblxuICAvL1xuICAvLyBGb3Jtc1xuICAvL1xuXG4gIGxhYmVsIHtcbiAgICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgfVxuXG4gIC8vIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcbiAgLy8gcmVzdWx0cyBpbiBhIGxvc3Mgb2YgdGhlIGRlZmF1bHQgYGJ1dHRvbmAgZm9jdXMgc3R5bGVzLlxuICAvL1xuICAvLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UvXG4gIGJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIH1cblxuICBpbnB1dCxcbiAgYnV0dG9uLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogJGNzLWZvbnQtZmFtaWx5LWJhc2U7XG4gICAgLy8gUmVtb3ZlIGFsbCBgbWFyZ2luYHMgc28gb3VyIGNsYXNzZXMgZG9uJ3QgaGF2ZSB0byBkbyBpdCB0aGVtc2VsdmVzLlxuICAgIG1hcmdpbjogMDtcbiAgICAvLyBOb3JtYWxpemUgaW5jbHVkZXMgYGZvbnQ6IGluaGVyaXQ7YCwgc28gYGZvbnQtZmFtaWx5YC4gYGZvbnQtc2l6ZWAsIGV0YyBhcmVcbiAgICAvLyBwcm9wZXJseSBpbmhlcml0ZWQuIEhvd2V2ZXIsIGBsaW5lLWhlaWdodGAgaXNuJ3QgYWRkcmVzc2VkIHRoZXJlLiBVc2luZyB0aGlzXG4gICAgLy8gZW5zdXJlcyB3ZSBkb24ndCBuZWVkIHRvIHVubmVjZXNzYXJpbHkgcmVkZWNsYXJlIHRoZSBnbG9iYWwgZm9udCBzdGFjay5cbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAvLyBpT1MgYWRkcyByb3VuZGVkIGJvcmRlcnMgYnkgZGVmYXVsdFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gIH1cblxuICBmaWVsZHNldCB7XG4gICAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAgIC8vIHNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGl0IGJlaGF2ZXMgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgICBtaW4td2lkdGg6IDA7XG4gICAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBSZXNldCB0aGUgZW50aXJlIGxlZ2VuZCBlbGVtZW50IHRvIG1hdGNoIHRoZSBgZmllbGRzZXRgXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoMS41cmVtKTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgLy8gIGJvcmRlcjogMDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC8vIFVuZG8gTm9ybWFsaXplJ3MgZGVmYXVsdCBoZXJlIHRvIG1hdGNoIG91ciBnbG9iYWwgb3ZlcnJpZGVzLlxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAgIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAgIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIHRvZG86IG5lZWRlZD9cbiAgb3V0cHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8vICBmb250LXNpemU6ICRjcy1mb250LXNpemUtYmFzZTtcbiAgLy8gIGxpbmUtaGVpZ2h0OiAkY3MtbGluZS1oZWlnaHQ7XG4gIC8vICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi9nbG9iYWxzXCI7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cbiRjcy1tb2R1bGFyc2NhbGU6IChcbiAgYmFzZTogMXJlbSxcbiAgcmF0aW86IDEuMTI1XG4pICFkZWZhdWx0O1xuXG4kY3MtZm9udC1wYXRoOiBcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvXCIgIWRlZmF1bHQ7XG4kY3MtZm9udC1mYW1pbHktbGF0bzogXCJMYXRvXCIgIWRlZmF1bHQ7XG4kY3MtZm9udC1mYW1pbHktaGVsdmV0aWNhOiBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGNzLWZvbnQtZmFtaWx5LWNvdXJpZXI6IFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGNzLWZvbnQtZmFtaWx5LXRpbWVzOiBcIlRpbWVzIE5ldyBSb21hblwiLCB0aW1lcywgZ2VvcmdpYSwgc2VyaWYgIWRlZmF1bHQ7XG4kY3MtZm9udC1mYW1pbHktbGF0bzogXCJMYXRvXCIsICRjcy1mb250LWZhbWlseS1oZWx2ZXRpY2EgIWRlZmF1bHQ7XG4kY3MtZm9udC1mYW1pbHktb3N3YWxkOiBcIk9zd2FsZFwiLCAkY3MtZm9udC1mYW1pbHktaGVsdmV0aWNhICFkZWZhdWx0O1xuXG4kY3MtZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJGNzLWZvbnQtZmFtaWx5LWxhdG8sICRjcy1mb250LWZhbWlseS1oZWx2ZXRpY2EgIWRlZmF1bHQ7XG4kY3MtZm9udC1mYW1pbHktc2VyaWY6ICRjcy1mb250LWZhbWlseS10aW1lcyAhZGVmYXVsdDtcbiRjcy1mb250LWZhbWlseS1tb25vc3BhY2U6ICRjcy1mb250LWZhbWlseS1jb3VyaWVyICFkZWZhdWx0O1xuJGNzLWZvbnQtZmFtaWx5LWJhc2U6ICRjcy1mb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kY3MtZm9udC1zaXplLXJvb3Q6IDE2cHggIWRlZmF1bHQ7XG4kY3MtZm9udC1zaXplLXJvb3RzOiAoXG4gIHhzOiAkY3MtZm9udC1zaXplLXJvb3QsXG4gIHNtOiAkY3MtZm9udC1zaXplLXJvb3QsXG4gIG1kOiAkY3MtZm9udC1zaXplLXJvb3QsXG4gIGxnOiAkY3MtZm9udC1zaXplLXJvb3QsXG4gIHhsOiAkY3MtZm9udC1zaXplLXJvb3RcbikgIWRlZmF1bHQ7XG5cbiRjcy1mb250LXNpemUtYmFzZTogMXJlbSAhZGVmYXVsdDtcbiRjcy1mb250LXNpemUteGw6IDEuMDY5cmVtICFkZWZhdWx0O1xuJGNzLWZvbnQtc2l6ZS1sZzogMS4xcmVtICFkZWZhdWx0O1xuJGNzLWZvbnQtc2l6ZS1zbTogLjg3NXJlbSAhZGVmYXVsdDtcbiRjcy1mb250LXNpemUteHM6IC44MTI1cmVtICFkZWZhdWx0O1xuXG4kY3MtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuJGNzLWhlYWRpbmctMS1zaXplOiAoeHM6IDUsIG1kOiA2KSAhZGVmYXVsdDtcbiRjcy1oZWFkaW5nLTItc2l6ZTogKHhzOiAzLCBtZDogNCkgIWRlZmF1bHQ7XG4kY3MtaGVhZGluZy0zLXNpemU6IDIgIWRlZmF1bHQ7XG4kY3MtaGVhZGluZy00LXNpemU6IDEgIWRlZmF1bHQ7XG4kY3MtaGVhZGluZy01LXNpemU6IC0xICFkZWZhdWx0O1xuXG4vLyBJbmxpbmUgdGV4dHNcbiRjcy1sZWFkLWZvbnQtc2l6ZTogMiAhZGVmYXVsdDtcbiRjcy1sZWFkLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kY3Mtc21hbGwtZm9udC1zaXplOiAtMSAhZGVmYXVsdDtcbiRjcy1jYXB0aW9uLWZvbnQtc2l6ZTogLTIgIWRlZmF1bHQ7XG4kY3MtbGVnYWwtZm9udC1zaXplOiAtMyAhZGVmYXVsdDtcbiRjcy1tYXJrLWJnLWNvbG9yOiAkY3MtY29sb3ItcGVhcmwtbHVzdGEgIWRlZmF1bHQ7XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4kY3MtZGlzcGxheS0xLXNpemU6ICh4czogNywgbWQ6IDkpICFkZWZhdWx0O1xuJGNzLWRpc3BsYXktMS13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbiRjcy1kaXNwbGF5LTItc2l6ZTogKHhzOiA2LCBtZDogOCkgIWRlZmF1bHQ7XG4kY3MtZGlzcGxheS0yLXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8gSGVhZGluZ3NcbiRjcy1oZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAkY3Mtc3BhY2VyLW1lZGl1bSAhZGVmYXVsdDtcbiRjcy1oZWFkaW5ncy1mb250LWZhbWlseTogJGNzLWZvbnQtZmFtaWx5LWxhdG8gIWRlZmF1bHQ7XG4kY3MtaGVhZGluZ3MtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4kY3MtaGVhZGluZ3MtbGluZS1oZWlnaHQ6IDEuMjUgIWRlZmF1bHQ7XG4kY3MtaGVhZGluZ3MtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRjcy1oZWFkaW5nLXNpemVzOiAoXG4gIDE6ICRjcy1oZWFkaW5nLTEtc2l6ZSxcbiAgMjogJGNzLWhlYWRpbmctMi1zaXplLFxuICAzOiAkY3MtaGVhZGluZy0zLXNpemUsXG4gIDQ6ICRjcy1oZWFkaW5nLTQtc2l6ZSxcbiAgNTogJGNzLWhlYWRpbmctNS1zaXplLFxuKSAhZGVmYXVsdDtcblxuJGNzLXRleHQtbXV0ZWQ6ICRjcy1ncmF5LWlyb24gIWRlZmF1bHQ7XG5cbiRjcy1hYmJyLWJvcmRlci1jb2xvcjogJGNzLWdyYXktaXJvbiAhZGVmYXVsdDtcblxuJGNzLWJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICRjcy1ncmF5LWlyb24gIWRlZmF1bHQ7XG4kY3MtYmxvY2txdW90ZS1mb250LXNpemU6ICgkY3MtZm9udC1zaXplLWJhc2UgKiAxLjYyNSkgIWRlZmF1bHQ7XG4kY3MtYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICRjcy1ncmF5LXN0ZWVsICFkZWZhdWx0O1xuXG4kY3MtaHItYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiRjcy1oci1ib3JkZXItd2lkdGg6ICRjcy1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjcy1kdC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuJGNzLW5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvZ3JpZHNcIjtcblxuLy8gQ1JFRElUOiBCT09UU1RSQVAgNFxuXG4vLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRjcy1ncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGNzLWJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgNTQ0cHhcbkBmdW5jdGlvbiBjcy1icmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMS5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICA3NjdweFxuQGZ1bmN0aW9uIGNzLWJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRjcy1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBjcy1icmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGNzLWJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMXB4LCBudWxsKTtcbn1cblxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGNzLWJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihjcy1icmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gY3MtbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBjcy1icmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFRoaXMgd29ya3Mgc2ltaWxhciB0byBjcy1tZWRpYS1icmVha3BvaW50LXVwIGJ1dCBhbHNvIGFkZHMgYSBtZWRpYVxuLy8gY29uZGl0aW9uIGZvciBvcmllbnRhdGlvbjogbGFuZHNjYXBlIChPUiBjb25kaXRpb25hbCkgd2l0aCBhbiBvcHRpb25hbFxuLy8gbWF4IGJyZWFrcG9pbnQgdXAgdG8gd2hpY2ggYXBwbHkgdGhlIGxhbmRzY2FwZSBjb25kaXRpb24uXG5AbWl4aW4gY3MtbWVkaWEtYnJlYWtwb2ludC11cC1sYW5kc2NhcGUoJG5hbWUsICRvcmllbnRhdGlvbi11cDogbnVsbCwgJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBjcy1icmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBpZiAkb3JpZW50YXRpb24tdXAge1xuICAgICAgJG1heDogY3MtYnJlYWtwb2ludC1tYXgoJG9yaWVudGF0aW9uLXVwLCAkYnJlYWtwb2ludHMpO1xuXG4gICAgICBAaWYgJG1heCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSwgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIEFORCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pLCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIGNzLW1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBjcy1icmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIGNzLW1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBjcy1tZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFNldHMgYnJlYWtwb2ludCBhcyBjb250ZW50IHZhbHVlIG9uIHRoZSBib2R5IGVsZW1lbnQgZm9yIHRpZ2dlcmluZyBKUyBicmVha3BvaW50c1xuQG1peGluIGNzLW1ha2UtanMtYnJlYWtwb2ludCgkYnJlYWtwb2ludHM6ICRjcy1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgYm9keSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiI3skYnJlYWtwb2ludH1cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmltYXJ5LCBncmF5cywgYWNjZW50cywgZ3JhZGllbnRzIGFuZCBtb3JlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGNvbG9yLW5vLWhleFxuXG4vLyBXaGl0ZSBiYXNlZCBjb2xvcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1ncmF5LXNpbHZlcjogI2NjYyAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWdyYXktZm9nOiAjZWZlZmVmICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3Itd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XG5cbi8vIEJsYWNrIGJhc2VkIGNvbG9ycy5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLWdyYXktY2hhcmNvYWw6ICM1MzUzNTMgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1ncmF5LWlyb246ICM3NTc1NzUgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1ncmF5LXN0ZWVsOiAjOTk5ICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3ItbWluZS1zaGFmdDogIzNhM2EzYSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLWJsYWNrOiAjMDAwICFkZWZhdWx0O1xuXG4vLyBHcmVlbiBiYXNlZCBjb2xvcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1ncmVlbjogIzIxODUwZiAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLWZvcmVzdDogIzAwNTcwMCAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLWxpbWU6ICM1YWI2NDMgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1taW50OiAjZjhmZmYwICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3ItdGVhbDogIzA0OWZhNCAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLXR1cnF1b2lzZTogIzUyYzBjNCAhZGVmYXVsdDtcblxuLy8gUmVkIGJhc2VkIGNvbG9ycy5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLXBpbms6ICNmMjNlN2IgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1ibHVzaDogI2ZlZjVmMSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLXJlZDogI2YyNTU1NSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLW1hcm9vbjogIzhjMGIwYiAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLW1vbnphOiAjYmQwODFjICFkZWZhdWx0O1xuXG4vLyBZZWxvdyBiYXNlZCBjb2xvcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1jcmVhbTogI2ZmZmRlNiAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLWFtYmVyOiAjZjVhYjIzICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3Itd2FsbnV0OiAjNjMzZTAwICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3ItcGVhcmwtbHVzdGE6ICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbi8vIEJsdWUgYmFzZWQgY29sb3JzLlxuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3ItZG9kZ2VyLWJsdWU6ICMxZGExZjIgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1wZXJzaWFuLWJsdWU6ICMyMTFlYzIgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1ibHVlOiAjNDIzZmUxICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3Itc2FuLW1hcmlubzogIzQzNWRhYSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLXJveWFsLWJsdWU6ICM2MjYwZTYgIWRlZmF1bHQ7XG5cbi8vIEJyYW5kIGNvbG9ycy5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJyYW5kLWJsYWNrOiAkY3MtY29sb3ItbWluZS1zaGFmdCAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJyYW5kLXByaW1hcnk6ICRjcy1jb2xvci1ncmVlbiAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJyYW5kLXN1Y2Nlc3M6ICNkMGU5YzYgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1icmFuZC1pbmZvOiAjYmNkZmYxICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtYnJhbmQtd2FybmluZzogI2ZhZjJjYyAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJyYW5kLWRhbmdlcjogI2ViY2NjYyAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIENvbG9yXG4kY3MtYm9keS1iZzogJGNzLWNvbG9yLXdoaXRlICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtYm9keS1jb2xvcjogJGNzLWJyYW5kLWJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1ncmFkaWVudC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAyOWM4ZSAwJSwgIzdhNjZhOSAxMDAlKSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIENvbG9yXG4kY3MtZ3JhZGllbnQtYmx1ZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMTBjYzcxIDAlLCAjMDA5MWFkIDEwMCUpICFkZWZhdWx0O1xuXG4vLyBQcml2YWN5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFN0eWxlIHByaXZhY3kgZWxlbWVudHMuXG5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLXByaXZhY3ktdXNlLXJlc3BvbnNpYmlseTogIzIzYjVlOCAhZGVmYXVsdDtcbiRjcy1wcml2YWN5LWNhdXRpb246ICNmZmE1MDAgIWRlZmF1bHQ7XG4kY3MtcHJpdmFjeS1ub3QtcmVjb21tZW5kZWQ6ICRjcy1jb2xvci1yZWQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBTb2NpYWwgaWNvbnMgY29sb3JzLlxuLy9cbiRjcy1jb2xvci1zb2NpYWwtZmFjZWJvb2s6ICRjcy1jb2xvci1zYW4tbWFyaW5vICFkZWZhdWx0O1xuJGNzLWNvbG9yLXNvY2lhbC10d2l0dGVyOiAkY3MtY29sb3ItZG9kZ2VyLWJsdWUgIWRlZmF1bHQ7XG4kY3MtY29sb3Itc29jaWFsLXBpbnRlcmVzdDogJGNzLWNvbG9yLW1vbnphICFkZWZhdWx0O1xuJGNzLWNvbG9yLXNvY2lhbC1lbWFpbDogJGNzLWNvbG9yLXR1cnF1b2lzZSAhZGVmYXVsdDtcbiRjcy1jb2xvci1zb2NpYWwtcHJpbnRlcjogJGNzLWdyYXktaXJvbiAhZGVmYXVsdDtcblxuLy8gc3R5bGVsaW50LWVuYWJsZVxuIiwiLy9cbi8vIExpbmsgc2V0dGluZ3Ncbi8vXG5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLWxpbmstY29sb3I6ICRjcy1icmFuZC1ibGFjayAhZGVmYXVsdDtcbiRjcy1saW5rLWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLWxpbmstaG92ZXItY29sb3I6ICRjcy1jb2xvci1ibHVlICFkZWZhdWx0O1xuJGNzLWxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIENvbG9yXG4kY3MtbGluay12aXNpdGVkLWNvbG9yOiAkY3MtZ3JheS1pcm9uICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCB1dGlsaXRpZXNcbi8vLy9cblxuLy8vIENSRURJVDogQk9PVFNUUkFQIDRcbkBtaXhpbiBjcy1ob3ZlciB7XG4gIEBpZiAkY3MtZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBTZWUgTWVkaWEgUXVlcmllcyBMZXZlbCA0OiBodHRwOi8vZHJhZnRzLmNzc3dnLm9yZy9tZWRpYXF1ZXJpZXMvI2hvdmVyXG4gICAgLy8gQ3VycmVudGx5IHNoaW1tZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvbXE0LWhvdmVyLXNoaW1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNzLWhvdmVyLWZvY3VzIHtcbiAgQGlmICRjcy1lbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY3MtaG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjcy1wbGFpbi1ob3Zlci1mb2N1cyB7XG4gIEBpZiAkY3MtZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY3MtaG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNzLWhvdmVyLWFjdGl2ZSB7XG4gIEBpZiAkY3MtZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjcy1ob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjcy1ob3Zlci1mb2N1cy1hY3RpdmUge1xuICBAaWYgJGNzLWVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjcy1ob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9mdW5jdGlvbnMvbW9kdWxhcnNjYWxlXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zL3JlbVwiO1xuXG4vLy8gRGVmaW5lcyB0aGUgZm9udCBzaXplLlxuLy8vXG4vLy8gQGdyb3VwIHV0aWxpdGllc1xuQG1peGluIGNzLWZvbnQtc2l6ZSgkc2l6ZTogMCwgJGxpbmUtaGVpZ2h0OiAkY3MtbGluZS1oZWlnaHQpIHtcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09IFwibWFwXCIge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkaSBpbiAkc2l6ZSB7XG4gICAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogaWYodW5pdGxlc3MoJGkpLCBjcy1tb2R1bGFyc2NhbGUoJGkpLCBjcy1yZW0oJGkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogaWYodW5pdGxlc3MoJHNpemUpLCBjcy1tb2R1bGFyc2NhbGUoJHNpemUpLCBjcy1yZW0oJHNpemUpKTtcbiAgfVxuXG4gIEBpZiAkbGluZS1oZWlnaHQge1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cbn1cbiIsIkBpZiAkY3MtZW5hYmxlLXV0aWxpdGllcy10eXBvZ3JhcGh5IHtcbiAgLy8gTGF0b1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJMYXRvXCI7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZm9udC1mYW1pbHktbmFtZS1xdW90ZXNcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8tcmVndWxhci13ZWJmb250LmVvdFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8tcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8tcmVndWxhci13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1yZWd1bGFyLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLXJlZ3VsYXItd2ViZm9udC5zdmcjbGF0b19yZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgfVxuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmb250LWZhbWlseS1uYW1lLXF1b3Rlc1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHNyYzogdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1saWdodC13ZWJmb250LmVvdFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8tbGlnaHQtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWxpZ2h0LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWxpZ2h0LXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWxpZ2h0LXdlYmZvbnQuc3ZnI2xhdG9fbGlnaHRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICB9XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b1wiOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZvbnQtZmFtaWx5LW5hbWUtcXVvdGVzXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWhhaXJsaW5lLXdlYmZvbnQuZW90XCIpO1xuICAgIHNyYzogdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1oYWlybGluZS13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8taGFpcmxpbmUtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8taGFpcmxpbmUtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8taGFpcmxpbmUtd2ViZm9udC5zdmcjbGF0b19oYWlybGluZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJMYXRvXCI7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZm9udC1mYW1pbHktbmFtZS1xdW90ZXNcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWJvbGQtd2ViZm9udC5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWJvbGQtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8tYm9sZC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1ib2xkLXdlYmZvbnQuc3ZnI2xhdG9fYm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJMYXRvXCI7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZm9udC1mYW1pbHktbmFtZS1xdW90ZXNcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8taXRhbGljLXdlYmZvbnQuZW90XCIpO1xuICAgIHNyYzogdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1pdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWl0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1pdGFsaWMtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8taXRhbGljLXdlYmZvbnQuc3ZnI2xhdG9faXRhbGljXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgfVxuXG4gIC8vIE9zd2FsZFxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJPc3dhbGRcIjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmb250LWZhbWlseS1uYW1lLXF1b3Rlc1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHNyYzogdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtcmVndWxhci13ZWJmb250LmVvdFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1vc3dhbGQvb3N3YWxkLXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9b3N3YWxkL29zd2FsZC1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9b3N3YWxkL29zd2FsZC1yZWd1bGFyLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9b3N3YWxkL29zd2FsZC1yZWd1bGFyLXdlYmZvbnQuc3ZnI29zd2FsZF9yZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgfVxuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZvbnQtZmFtaWx5LW5hbWUtcXVvdGVzXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9b3N3YWxkL29zd2FsZC1saWdodC13ZWJmb250LmVvdFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1vc3dhbGQvb3N3YWxkLWxpZ2h0LXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtbGlnaHQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1vc3dhbGQvb3N3YWxkLWxpZ2h0LXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9b3N3YWxkL29zd2FsZC1saWdodC13ZWJmb250LnN2ZyNvc3dhbGRfbGlnaHRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICB9XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCI7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZm9udC1mYW1pbHktbmFtZS1xdW90ZXNcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1vc3dhbGQvb3N3YWxkLWJvbGQtd2ViZm9udC5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9b3N3YWxkL29zd2FsZC1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtYm9sZC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtYm9sZC13ZWJmb250LnN2ZyNvc3dhbGRfYm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9zZXR0aW5nc1wiOyAvLyBpbXBvcnQgZmlyc3RcbkBpbXBvcnQgXCIuLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG4vLy8vXG4vLy8gQGdyb3VwIGF0b21zXG4vLy8vXG5cbkBpZiAkY3MtZW5hYmxlLWJhY2tncm91bmRzIHtcblxuICAvLy8gRGFya2VyIGdyYXkgY29udGV4dHVhbCBiYWNrZ3JvdW5kXG4gIC4jeyRjcy1uc31iZy1kYXJrZXIge1xuICAgIGNvbG9yOiAkY3MtZ3JheS1zdGVlbDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtYnJhbmQtYmxhY2s7XG4gIH1cblxuICAvLy8gRGFyayBncmF5IGNvbnRleHR1YWwgYmFja2dyb3VuZFxuICAuI3skY3MtbnN9YmctZGFyayB7XG4gICAgY29sb3I6ICRjcy1ncmF5LXN0ZWVsO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1ncmF5LWNoYXJjb2FsO1xuICB9XG5cbiAgLy8vIExpZ2h0IGdyYXkgY29udGV4dHVhbCBiYWNrZ3JvdW5kXG4gIC4jeyRjcy1uc31iZy1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWdyYXktaXJvbjtcbiAgfVxuXG4gIC8vLyBMaWdodGVyIGdyYXkgY29udGV4dHVhbCBiYWNrZ3JvdW5kXG4gIC4jeyRjcy1uc31iZy1saWdodGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtZ3JheS1zdGVlbDtcbiAgfVxuXG4gIC8vLyBMaWdodGVzdCBncmF5IGNvbnRleHR1YWwgYmFja2dyb3VuZFxuICAuI3skY3MtbnN9YmctbGlnaHRlc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1ncmF5LXNpbHZlcjtcbiAgfVxuXG4gICUjeyRjcy1uc31iZy1wcmltYXJ5LFxuICAuI3skY3MtbnN9YmctcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgY3MtbWFrZS1iZy1jb2xvcigkY3MtYnJhbmQtcHJpbWFyeSk7XG4gIH1cblxuICAvLyBOZXV0cmFsIGFuZCBBY3NlbnQgY29sb3JzXG4gICRjb2xvcnM6IChcbiAgICAvLyBHcmF5c1xuICAgIFwiYmxhY2tcIjogJGNzLWJyYW5kLWJsYWNrLFxuICAgIFwiZ3JheS1jaGFyY29hbFwiOiAkY3MtZ3JheS1jaGFyY29hbCxcbiAgICBcImdyYXktaXJvblwiOiAkY3MtZ3JheS1pcm9uLFxuICAgIFwiZ3JheS1zdGVlbFwiOiAkY3MtZ3JheS1zdGVlbCxcbiAgICBcImdyYXktc2lsdmVyXCI6ICRjcy1ncmF5LXNpbHZlcixcbiAgICBcImdyYXktZm9nXCI6ICRjcy1ncmF5LWZvZyxcbiAgICAvLyBBY3NlbnRzXG4gICAgXCJibHVlXCI6ICRjcy1jb2xvci1ibHVlLFxuICAgIFwicGlua1wiOiAkY3MtY29sb3ItcGluayxcbiAgICBcInR1cnF1b2lzZVwiOiAkY3MtY29sb3ItdHVycXVvaXNlLFxuICAgIFwidGVhbFwiOiAkY3MtY29sb3ItdGVhbCxcbiAgICBcImZvcmVzdFwiOiAkY3MtY29sb3ItZm9yZXN0LFxuICAgIFwibGltZVwiOiAkY3MtY29sb3ItbGltZSxcbiAgICBcInByaXZhY3ktdXNlLXJlc3BvbnNpYmlseVwiOiAkY3MtcHJpdmFjeS11c2UtcmVzcG9uc2liaWx5LFxuICAgIFwicHJpdmFjeS1jYXV0aW9uXCI6ICRjcy1wcml2YWN5LWNhdXRpb24sXG4gICAgXCJwcml2YWN5LW5vdC1yZWNvbW1lbmRlZFwiOiAkY3MtcHJpdmFjeS1ub3QtcmVjb21tZW5kZWQsXG4gICAgXCJibHVzaFwiOiAkY3MtY29sb3ItYmx1c2gsXG4gICAgXCJyZWRcIjogJGNzLWNvbG9yLXJlZCxcbiAgICBcIm1hcm9vblwiOiAkY3MtY29sb3ItbWFyb29uLFxuICAgIFwiY3JlYW1cIjogJGNzLWNvbG9yLWNyZWFtLFxuICAgIFwiYW1iZXJcIjogJGNzLWNvbG9yLWFtYmVyLFxuICAgIFwid2FsbnV0XCI6ICRjcy1jb2xvci13YWxudXQsXG4gICAgXCJtaW50XCI6ICRjcy1jb2xvci1taW50LFxuICAgIFwid2hpdGVcIjogJGNzLWNvbG9yLXdoaXRlLFxuICApO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkbmFtZTogbnRoKG50aCgkY29sb3JzLCAkaSksIDEpO1xuICAgICRjb2xvcjogbnRoKG50aCgkY29sb3JzLCAkaSksIDIpO1xuXG4gICAgJSN7JGNzLW5zfWNvbG9yLSN7JG5hbWV9LFxuICAgIC4jeyRjcy1uc31jb2xvci0jeyRuYW1lfSB7XG4gICAgICBAaW5jbHVkZSBjcy1tYWtlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuXG4gICAgJSN7JGNzLW5zfWJnLSN7JG5hbWV9LFxuICAgIC4jeyRjcy1uc31iZy0jeyRuYW1lfSB7XG4gICAgICBAaW5jbHVkZSBjcy1tYWtlLWJnLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuXG4gICAgYS4jeyRjcy1uc31iZy0jeyRuYW1lfSB7XG4gICAgICBAaW5jbHVkZSBjcy1ob3Zlci1mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gR3JhZGllbnRzXG4gICRncmFkaWVudC1jb2xvcnM6IChcbiAgICBcImdyYWRpZW50LXB1cnBsZVwiOiAkY3MtZ3JhZGllbnQtcHVycGxlLFxuICAgIFwiZ3JhZGllbnQtYmx1ZVwiOiAkY3MtZ3JhZGllbnQtYmx1ZSxcbiAgKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkZ3JhZGllbnQtY29sb3JzKSB7XG4gICAgJG5hbWU6IG50aChudGgoJGdyYWRpZW50LWNvbG9ycywgJGkpLCAxKTtcbiAgICAkY29sb3I6IG50aChudGgoJGdyYWRpZW50LWNvbG9ycywgJGkpLCAyKTtcblxuICAgICUjeyRjcy1uc31iZy0jeyRuYW1lfSxcbiAgICAuI3skY3MtbnN9YmctI3skbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgY3MtbWFrZS1iZy1jb2xvcigkY29sb3IpO1xuICAgIH1cblxuICAgICUjeyRjcy1uc31jb2xvci0jeyRuYW1lfSxcbiAgICAuI3skY3MtbnN9Y29sb3ItI3skbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgY3MtZ3JhZGllbnQtdGV4dCgkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB1dGlsaXRpZXNcbi8vLy9cblxuLy8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBiYWNrZ3JvdW5kIGNvbG9yIHZhbHVlXG5AbWl4aW4gY3MtbWFrZS1iZy1jb2xvcigkY29sb3IpIHtcbiAgQGlmIHR5cGUtb2YoJGNvbG9yKSA9PSBcImNvbG9yXCIge1xuICAgIGNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy8vIENvbnRleHR1YWwgdGV4dCBjb2xvcnNcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSB0ZXh0IGNvbG9yIHZhbHVlXG5AbWl4aW4gY3MtbWFrZS1jb2xvcigkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGNvbnRlbnQ7XG59XG5cbi8vLyBIZWxwcyBjcmVhdGUgZ3JhZGllbnQgdGV4dHNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZ3JhZGllbnQgLSBncmFkaWVudCBkZWZpbml0aW9uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRiZyBbbGlnaHRdIC0gc3BlY2lmeSB0aGUgcGFyZW50IGVsZW1lbnRcInMgYmFja2dyb3VuZCBjb2xvclxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9jb2RlcGVuLmlvL2dpYW5hL3Blbi9SUGRMYVFcbkBtaXhpbiBjcy1ncmFkaWVudC10ZXh0KCRncmFkaWVudCwgJGJnOiBcImxpZ2h0XCIpIHtcbiAgQHN1cHBvcnRzIChtaXgtYmxlbmQtbW9kZTogbGlnaHRlbikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiB1bnF1b3RlKCRncmFkaWVudCk7XG4gICAgfVxuXG4gICAgQGlmICgkYmcgPT0gXCJsaWdodFwiKSB7XG4gICAgICBjb2xvcjogJGNzLWNvbG9yLWJsYWNrO1xuICAgICAgYmFja2dyb3VuZDogJGNzLWNvbG9yLXdoaXRlO1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRiZyA9PSBcImRhcmtcIikge1xuICAgICAgY29sb3I6ICRjcy1jb2xvci13aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRjcy1jb2xvci1ibGFjaztcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBsaWdodGVuO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJgJGJnYCB2YWx1ZSBtdXN0IGJlIGVpdGhlciBzZXQgdG8gYGxpZ2h0YCBvciBgZGFya2AuXCI7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gSGVscHMgY3JlYXRlIGdyYWRpZW50IHRleHRzXG4vLy9cbi8vLyBAZ3JvdXAgdXRpbGl0aWVzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGdyYWRpZW50IC0gZ3JhZGllbnQgZGVmaW5pdGlvblxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYmcgW2xpZ2h0XSAtIHNwZWNpZnkgdGhlIHBhcmVudCBlbGVtZW50J3MgYmFja2dyb3VuZCBjb2xvclxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9jb2RlcGVuLmlvL2dpYW5hL3Blbi9SUGRMYVFcbi8vLyBAdGhyb3dcbkBtaXhpbiBjcy1ncmFkaWVudC10ZXh0KCRncmFkaWVudCwgJGJnOiBcImxpZ2h0XCIpIHtcbiAgQHN1cHBvcnRzIChtaXgtYmxlbmQtbW9kZTogbGlnaHRlbikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiB1bnF1b3RlKCRncmFkaWVudCk7XG4gICAgfVxuXG4gICAgQGlmICgkYmcgPT0gXCJsaWdodFwiKSB7XG4gICAgICBjb2xvcjogJGNzLWNvbG9yLWJsYWNrO1xuICAgICAgYmFja2dyb3VuZDogJGNzLWNvbG9yLXdoaXRlO1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRiZyA9PSBcImRhcmtcIikge1xuICAgICAgY29sb3I6ICRjcy1jb2xvci13aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRjcy1jb2xvci1ibGFjaztcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBsaWdodGVuO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJgJGJnYCB2YWx1ZSBtdXN0IGJlIGVpdGhlciBzZXQgdG8gYGxpZ2h0YCBvciBgZGFya2AuXCI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBpbXBvcnQgc2V0dGluZ3NcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcblxuLy9cbi8vIEhlbHBlciBtaXhpbiB0byBjcmVhdGUgYmFzZSBzdHlsZSBwcm9wZXJ0aWVzXG4vL1xuQG1peGluIF9jcy1pY29uLWJhc2UoJGZhbWlseSwgJHNpemU6IG51bGwsICRwc2V1ZG86IFwiYmVmb3JlXCIpIHtcbiAgQGlmIG5vdCAkZmFtaWx5IHtcbiAgICBAZXJyb3IgXCJUaGUgbmFtZSBvZiB0aGUgZm9udCBmYW1pbHkgaXMgcmVxdWlyZWRcIjtcbiAgfVxuICAmOjojeyRwc2V1ZG99IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiI3skZmFtaWx5fVwiO1xuICAgIGZvbnQtc2l6ZTogaWYoJHNpemUsIGNzLXJlbSgkc2l6ZSksIGluaGVyaXQpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyAvLyByZWxhdGl2ZSB0byB0aGUgZm9udC1zaXplXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vL1xuLy8gSGVscGVyIG1peGluIGZvciBjcmVhdGluZyBhIHNpbmdsZSBpY29uLlxuLy8gQXBwbGllcyBhbGwgc3R5bGluZyBwcm9wZXJ0aWVzIGZvciBhIHNwZWNpZmljIGljb24gZm9udFxuLy9cbkBtaXhpbiBfY3MtYnVpbGQtaWNvbigkbmFtZSwgJGdseXBocywgJGZhbWlseSwgJHNpemUsICRwc2V1ZG86IFwiYmVmb3JlXCIpIHtcbiAgQGlmIG5vdCAkbmFtZSB7XG4gICAgQGVycm9yIFwiVGhlIGAkZ2x5cGhgIGF0dHJpYnV0ZSBpcyByZXF1aXJlZC5cIjtcbiAgfVxuXG4gICRnbHlwaDogbWFwLWdldCgkZ2x5cGhzLCAkbmFtZSk7XG5cbiAgQGlmIG5vdCAkZ2x5cGgge1xuICAgIEBlcnJvciBcIlRoZSBuYW1lIGAjeyRnbHlwaH1gIGNhbm5vdCBiZSBmb3VuZC5cIjtcbiAgfVxuXG4gIEBpZiBub3QgaW5kZXgoKFwiYmVmb3JlXCIsIFwiYWZ0ZXJcIiksICRwc2V1ZG8pIHtcbiAgICBAZXJyb3IgXCJUaGUgdmFsdWUgb2YgYCRwc2V1ZG9gIG11c3QgZXF1YWwgJ2JlZm9yZScgb3IgJ2FmdGVyJy5cIjtcbiAgfVxuXG4gIEBpbmNsdWRlIF9jcy1pY29uLWJhc2UoJGZhbWlseSwgJHNpemUsICRwc2V1ZG8pIHtcbiAgICBjb250ZW50OiB1bnF1b3RlKFwiXFxcIlxcXFwjeyAkZ2x5cGggfVxcXCJcIik7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gR2l2ZW4gYSBtYXAgd2l0aCBpY29uIG5hbWVzIGFuZCBcImNvbnRlbnRcIiB2YWx1ZXNcbi8vIGdlbmVyYXRlIGljb24gY2xhc3Nlc1xuQG1peGluIGNzLWJ1aWxkLWljb25zKFxuICAkY2RuLXBhdGg6IG51bGwsXG4gICRmYW1pbHk6IG51bGwsXG4gICRnbHlwaHM6IG51bGwsXG4gICRjb2xvci1nbHlwaHM6IG51bGwsXG4gICRzaXplOiBudWxsLFxuICAkcHJlZml4OiBcIi5pY29uLVwiLFxuICAkcHNldWRvOiBcImJlZm9yZVwiKSB7XG5cbiAgQGlmIG5vdCAkY2RuLXBhdGgge1xuICAgIEBlcnJvciBcIkFuIGFib3NsdXRlIGZvbnQgZm9sZGVyIHBhdGggaXMgcmVxdWlyZWRcIjtcbiAgfVxuXG4gIEBpZiBub3QgJGZhbWlseSB7XG4gICAgQGVycm9yIFwiVGhlIG5hbWUgb2YgdGhlIGZvbnQgZmFtaWx5IGlzIHJlcXVpcmVkXCI7XG4gIH1cblxuICBAaWYgbm90ICRnbHlwaHMge1xuICAgIEBlcnJvciBcIkEgbWFwIG9mIGljb25zIGlzIHJlcXVpcmVkXCI7XG4gIH1cblxuICAvLyBGb250IGZhbWlseVxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZhbWlseTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBzcmM6IHVybChcIiN7JGNkbi1wYXRofSN7JGZhbWlseX0uZW90XCIpO1xuICAgIHNyYzogdXJsKFwiI3skY2RuLXBhdGh9I3skZmFtaWx5fS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIjeyRjZG4tcGF0aH0jeyRmYW1pbHl9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIjeyRjZG4tcGF0aH0jeyRmYW1pbHl9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiI3skY2RuLXBhdGh9I3skZmFtaWx5fS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIiN7JGNkbi1wYXRofSN7JGZhbWlseX0uc3ZnIyN7JGZhbWlseX1cIikgZm9ybWF0KFwic3ZnXCIpO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6ICRmYW1pbHk7XG4gICAgICBzcmM6IHVybChcIiN7JGNkbi1wYXRofSN7JGZhbWlseX0uc3ZnIyN7JGZhbWlseX1cIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFnZ3JlZ2F0ZWQgc2hhcmVkIHByb3BlcnRpZXMuXG4gICRhZ2dyZWdhdGVkIDogXCJcIjtcblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGdseXBocyB7XG4gICAgJGFnZ3JlZ2F0ZWQ6IFwiI3skYWdncmVnYXRlZH0gI3skcHJlZml4fSN7JGtleX0sIFwiO1xuICB9XG5cbiAgI3skYWdncmVnYXRlZH0ge1xuICAgIEBpbmNsdWRlIF9jcy1pY29uLWJhc2UoJGZhbWlseSwgJHNpemUpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRnbHlwaCBpbiAkZ2x5cGhzIHtcbiAgICAjeyRwcmVmaXh9I3skbmFtZX0ge1xuICAgICAgJjo6I3skcHNldWRvfSB7XG4gICAgICAgIGNvbnRlbnQ6IHVucXVvdGUoXCJcXFwiXFxcXCN7ICRnbHlwaCB9XFxcIlwiKTsgLy8gR1JBQ0lBUyA6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzIxNjA4NzYyL3Nhc3MtdmFyaWFibGUtaW50ZXJwb2xhdGlvbi13aXRoLWJhY2tzbGFzaC1pbi1vdXRwdXQjMzU4MzQ1NDNcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCdWlsZCBjbGFzc2VzIGZvciBjb2xvciBzdmcgaWNvbnMuXG4gIEBpZiAkY29sb3ItZ2x5cGhzIHtcbiAgICAvLyBBZ2dyZWdhdGVkIHNoYXJlZCBwcm9wZXJ0aWVzLlxuICAgICRhZ2dyZWdhdGVkIDogXCJcIjtcblxuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkY29sb3ItZ2x5cGhzIHtcbiAgICAgICRhZ2dyZWdhdGVkOiBcIiN7JGFnZ3JlZ2F0ZWR9ICN7JHByZWZpeH0jeyRrZXl9LCBcIjtcbiAgICB9XG5cbiAgICAjeyRhZ2dyZWdhdGVkfSB7XG4gICAgICBAaW5jbHVkZSBfY3MtaWNvbi1iYXNlKCRmYW1pbHksICRzaXplKSB7XG4gICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQXNzdW1lIGdsb2JhbCBncm91cCBieSBkZWZhdWx0LlxuICAgICRncm91cDogXCJnbG9iYWxcIjtcblxuICAgIEBlYWNoICRuYW1lLCAkZ2x5cGggaW4gJGNvbG9yLWdseXBocyB7XG4gICAgICAjeyRwcmVmaXh9I3skbmFtZX0ge1xuICAgICAgICAmOjojeyRwc2V1ZG99IHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCIjeyRjcy1pY29uLWZvbnQtZmFtaWx5LWhvc3QtcGF0aH0vc3ZnLyN7JGdyb3VwfS9jb2xvci8jeyRnbHlwaH0uc3ZnXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gSWNvbiBGb250OiBjcy1nbG9iYWwtaWNvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTk9URTogTWFrZSBjaGFuZ2VzIHVuZGVyIHNyYy9pY29ucy9nbG9iYWwvdGVtcGxhdGVzL19nbG9iYWwubWl4aW4uc2Nzc1xuLy8gVGhpcyBpcyBhbiBhdXRvIGdlbmVyYXRlZCBmaWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwiLi4vbWl4aW5zXCI7XG5cbiRjcy1pY29uLWdsb2JhbC1nbHlwaHMtbWFwOiAoXG4gIFwiYWRkXCI6IFwiZjEwMFwiLFxuICBcImFkZC1vdXRsaW5lXCI6IFwiZjEwMVwiLFxuICBcImFkZC1yYXRpbmctb3V0bGluZVwiOiBcImYxMDJcIixcbiAgXCJhbGVydFwiOiBcImYxMDNcIixcbiAgXCJhbm5vdW5jZW1lbnRcIjogXCJmMTA0XCIsXG4gIFwiYXJyb3ctZG93blwiOiBcImYxMDVcIixcbiAgXCJhcnJvdy1kb3duLW91dGxpbmVcIjogXCJmMTA2XCIsXG4gIFwiYXJyb3ctbGVmdFwiOiBcImYxMDdcIixcbiAgXCJhcnJvdy1sZWZ0LWRvdWJsZVwiOiBcImYxMDhcIixcbiAgXCJhcnJvdy1yaWdodFwiOiBcImYxMDlcIixcbiAgXCJhcnJvdy1yaWdodC1vdXRsaW5lXCI6IFwiZjEwYVwiLFxuICBcImFycm93LXVwXCI6IFwiZjEwYlwiLFxuICBcImJvb2tzXCI6IFwiZjEwY1wiLFxuICBcImNhbGVuZGFyXCI6IFwiZjEwZFwiLFxuICBcImNhcmV0LWRvd25cIjogXCJmMTBlXCIsXG4gIFwiY2FyZXQtcmlnaHRcIjogXCJmMTBmXCIsXG4gIFwiY2NcIjogXCJmMTEwXCIsXG4gIFwiY2hlY2tib3gtY2hlY2tcIjogXCJmMTExXCIsXG4gIFwiY2hlY2ttYXJrXCI6IFwiZjExMlwiLFxuICBcImNpcmNsZS1zb2xpZFwiOiBcImYxMTNcIixcbiAgXCJjbG9ja1wiOiBcImYxMTRcIixcbiAgXCJjbG9zZVwiOiBcImYxMTVcIixcbiAgXCJjbG9zZS1vdXRsaW5lXCI6IFwiZjExNlwiLFxuICBcImNvbWluZy1zb29uXCI6IFwiZjExN1wiLFxuICBcImNvbW11bmljYXRlXCI6IFwiZjExOFwiLFxuICBcImNyZWF0aXZlLWNvbW1vbnNcIjogXCJmMTE5XCIsXG4gIFwiZGZkXCI6IFwiZjExYVwiLFxuICBcImRpbm5lclwiOiBcImYxMWJcIixcbiAgXCJkb3dubG9hZFwiOiBcImYxMWNcIixcbiAgXCJkb3dubG9hZC1zb2xpZFwiOiBcImYxMWRcIixcbiAgXCJkcmFnLWRyb3BcIjogXCJmMTFlXCIsXG4gIFwiZWRpdFwiOiBcImYxMWZcIixcbiAgXCJlbWFpbFwiOiBcImYxMjBcIixcbiAgXCJlbW9qaS1lcnJvclwiOiBcImYxMjFcIixcbiAgXCJlbW9qaS1uZXV0cmFsXCI6IFwiZjEyMlwiLFxuICBcImVtb2ppLXN1Y2Nlc3NcIjogXCJmMTIzXCIsXG4gIFwiZmFjZWJvb2tcIjogXCJmMTI0XCIsXG4gIFwiZmFjZWJvb2stb3V0bGluZVwiOiBcImYxMjVcIixcbiAgXCJmYWNlYm9vay1zb2xpZFwiOiBcImYxMjZcIixcbiAgXCJmYW1pbHlcIjogXCJmMTI3XCIsXG4gIFwiZmFtaWx5LWhvbWVcIjogXCJmMTI4XCIsXG4gIFwiZmlsdGVyXCI6IFwiZjEyOVwiLFxuICBcImZsYWctb3V0bGluZVwiOiBcImYxMmFcIixcbiAgXCJmbGFnLXNvbGlkXCI6IFwiZjEyYlwiLFxuICBcImdhbWVzXCI6IFwiZjEyY1wiLFxuICBcImdpZnRcIjogXCJmMTJkXCIsXG4gIFwiZ29vZ2xlLW91dGxpbmVcIjogXCJmMTJlXCIsXG4gIFwiZ29vZ2xlLXNvbGlkXCI6IFwiZjEyZlwiLFxuICBcImhlYXJ0LW91dGxpbmVcIjogXCJmMTMwXCIsXG4gIFwiaGVhcnQtc29saWRcIjogXCJmMTMxXCIsXG4gIFwiaW5mby1vdXRsaW5lXCI6IFwiZjEzMlwiLFxuICBcImluZm8tc29saWRcIjogXCJmMTMzXCIsXG4gIFwiaW5zdGFncmFtLW91dGxpbmVcIjogXCJmMTM0XCIsXG4gIFwiaW5zdGFncmFtLXNvbGlkXCI6IFwiZjEzNVwiLFxuICBcImxhcHRvcFwiOiBcImYxMzZcIixcbiAgXCJsYXVuY2hcIjogXCJmMTM3XCIsXG4gIFwibGF1bmNoLXNvbGlkXCI6IFwiZjEzOFwiLFxuICBcImxpbmtcIjogXCJmMTM5XCIsXG4gIFwibGluay1zb2xpZFwiOiBcImYxM2FcIixcbiAgXCJsaW5rZWRpblwiOiBcImYxM2JcIixcbiAgXCJsaW5rZWRpbi1vdXRsaW5lXCI6IFwiZjEzY1wiLFxuICBcImxpbmtlZGluLXNvbGlkXCI6IFwiZjEzZFwiLFxuICBcImxvY2tlZFwiOiBcImYxM2VcIixcbiAgXCJsb2dvLWNoZWNrbWFya1wiOiBcImYxM2ZcIixcbiAgXCJtYWtlLWEtY29weVwiOiBcImYxNDBcIixcbiAgXCJtZWRpYVwiOiBcImYxNDFcIixcbiAgXCJtZW1iZXJcIjogXCJmMTQyXCIsXG4gIFwibWVudVwiOiBcImYxNDNcIixcbiAgXCJtaW51c1wiOiBcImYxNDRcIixcbiAgXCJtaW51cy1vdXRsaW5lXCI6IFwiZjE0NVwiLFxuICBcIm1vcmVcIjogXCJmMTQ2XCIsXG4gIFwibW9yZS1vdXRsaW5lXCI6IFwiZjE0N1wiLFxuICBcIm11c2ljXCI6IFwiZjE0OFwiLFxuICBcInBlbmNpbFwiOiBcImYxNDlcIixcbiAgXCJwaW50ZXJlc3RcIjogXCJmMTRhXCIsXG4gIFwicGludGVyZXN0LW91dGxpbmVcIjogXCJmMTRiXCIsXG4gIFwicGludGVyZXN0LXNvbGlkXCI6IFwiZjE0Y1wiLFxuICBcInBsYXlcIjogXCJmMTRkXCIsXG4gIFwicGxheS1vdXRsaW5lXCI6IFwiZjE0ZVwiLFxuICBcInBsYXktc29saWRcIjogXCJmMTRmXCIsXG4gIFwicHJpbnRlci1vdXRsaW5lXCI6IFwiZjE1MFwiLFxuICBcInByaW50ZXItc29saWRcIjogXCJmMTUxXCIsXG4gIFwicHJvZmlsZVwiOiBcImYxNTJcIixcbiAgXCJzYXZlXCI6IFwiZjE1M1wiLFxuICBcInNlYXJjaFwiOiBcImYxNTRcIixcbiAgXCJzZWxlY3RcIjogXCJmMTU1XCIsXG4gIFwic2V0dGluZ3NcIjogXCJmMTU2XCIsXG4gIFwic2V0dGluZ3Mtb3V0bGluZVwiOiBcImYxNTdcIixcbiAgXCJzaGFyZVwiOiBcImYxNThcIixcbiAgXCJzaWduLW91dFwiOiBcImYxNTlcIixcbiAgXCJzbWFydHBob25lXCI6IFwiZjE1YVwiLFxuICBcInN0YXItcmF0aW5nXCI6IFwiZjE1YlwiLFxuICBcInN1YnNjcmliZS1oZWFydFwiOiBcImYxNWNcIixcbiAgXCJzdXBwb3J0XCI6IFwiZjE1ZFwiLFxuICBcInRpcHNcIjogXCJmMTVlXCIsXG4gIFwidHdpdHRlclwiOiBcImYxNWZcIixcbiAgXCJ0d2l0dGVyLW91dGxpbmVcIjogXCJmMTYwXCIsXG4gIFwidHdpdHRlci1zb2xpZFwiOiBcImYxNjFcIixcbiAgXCJ3YXRjaC12aWRlb1wiOiBcImYxNjJcIixcbiAgXCJ3aGF0c2FwcC1zb2xpZFwiOiBcImYxNjNcIixcbiAgXCJ5b3V0dWJlXCI6IFwiZjE2NFwiLFxuICBcInlvdXR1YmUtb3V0bGluZVwiOiBcImYxNjVcIixcbiAgXCJ5b3V0dWJlLXNvbGlkXCI6IFwiZjE2NlwiLFxuKSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9tIGNvbG9yIFNWR3MgdGhhdCBjYW4gbm90IGJlIHBhcnQgb2YgdGhlIGNzLWdsb2JhbC1pY29ucyBmb250LlxuJGNzLWljb24tZ2xvYmFsLWNvbG9yLWdseXBocy1tYXA6IChcbiAgXCJjcy1zZWxlY3Rpb24tYmxhbmtcIjogXCJjcy1zZWxlY3Rpb24tYmxhbmtcIixcbiAgXCJjcy1zZWxlY3Rpb24tZmFtaWxpZXNcIjogXCJjcy1zZWxlY3Rpb24tZmFtaWxpZXNcIixcbiAgXCJjcy1zZWxlY3Rpb24tdGVlbnNcIjogXCJjcy1zZWxlY3Rpb24tdGVlbnNcIixcbiAgXCJsb2dvLWNoZWNrbWFyay1ncmVlbi0tYXZhdGFyXCI6IFwibG9nby1jaGVja21hcmstZ3JlZW4tLWF2YXRhclwiLFxuICBcImxvZ28tY2hlY2ttYXJrLWdyZWVuXCI6IFwibG9nby1jaGVja21hcmstZ3JlZW5cIixcbiAgXCJsb2dvLWNoZWNrbWFyay1zZWxlY3Rpb25cIjogXCJsb2dvLWNoZWNrbWFyay1zZWxlY3Rpb25cIixcbiAgXCJzZWFsXCI6IFwic2VhbFwiLFxuICBcInNlYWwtdGVlbnNcIjogXCJzZWFsLXRlZW5zXCIsXG4gIFwic3Rhci1leGNsdXNpdmVcIjogXCJzdGFyLWV4Y2x1c2l2ZVwiXG4pICFkZWZhdWx0O1xuXG4kY3MtaWNvbi1nbG9iYWwtZm9udC1wYXRoOiBcIiN7JGNzLWljb24tZm9udC1mYW1pbHktaG9zdC1wYXRofS9mb250cy9nbG9iYWwvXCIgIWRlZmF1bHQ7XG4kY3MtZ2xvYmFsLWZvbnQtZmFtaWx5OiBcImNzLWdsb2JhbC1pY29uc1wiICFkZWZhdWx0O1xuXG5AbWl4aW4gY3MtaWNvbi1nbG9iYWwoJG5hbWUsICRzaXplOiAkY3MtaWNvbi1zaXplLCAkcHNldWRvOiBcImJlZm9yZVwiKSB7XG4gIEBpbmNsdWRlIF9jcy1idWlsZC1pY29uKFxuICAgICRuYW1lLFxuICAgICRjcy1pY29uLWdsb2JhbC1nbHlwaHMtbWFwLFxuICAgICRjcy1nbG9iYWwtZm9udC1mYW1pbHksXG4gICAgJHNpemUsXG4gICAgJHBzZXVkbyl7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJnbG9iYWwubWl4aW5cIjtcblxuQGluY2x1ZGUgY3MtYnVpbGQtaWNvbnMoXG4gICRjcy1pY29uLWdsb2JhbC1mb250LXBhdGgsXG4gICRjcy1nbG9iYWwtZm9udC1mYW1pbHksXG4gICRjcy1pY29uLWdsb2JhbC1nbHlwaHMtbWFwLFxuICAkY3MtaWNvbi1nbG9iYWwtY29sb3ItZ2x5cGhzLW1hcCk7XG5cbi8vIEV4cGxpY2l0ZWx5IHNldCBpY29uIHNpemVcbmltZyB7XG4gIC8vIGNvbW1vbiBzZW5zZSBzZWxlY3Rpb25zXG4gICZbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL2NzLXNlbGVjdGlvbi1ibGFuay5zdmdcIl0sXG4gICZbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL2NzLXNlbGVjdGlvbi1mYW1pbGllcy5zdmdcIl0sXG4gICZbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL2NzLXNlbGVjdGlvbi10ZWVucy5zdmdcIl0sXG4gICZbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL2xvZ28tY2hlY2ttYXJrLWdyZWVuLnN2Z1wiXSxcbiAgJltkYXRhLWljb249XCJnbG9iYWwvY29sb3IvbG9nby1jaGVja21hcmstc2VsZWN0aW9uLnN2Z1wiXSxcbiAgJltkYXRhLWljb249XCJnbG9iYWwvY29sb3Ivc2VhbC10ZWVucy5zdmdcIl0sXG4gICZbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL3NlYWwuc3ZnXCJdLFxuICAmW2RhdGEtaWNvbj1cImdsb2JhbC9jb2xvci9zdGFyLWV4Y2x1c2l2ZS5zdmdcIl0ge1xuICAgIHdpZHRoOiBjcy1yZW0oNzBweCk7XG4gICAgaGVpZ2h0OiBjcy1yZW0oNzBweCk7XG4gIH1cbn1cbiIsIi8vLyBGdW5jdGlvbiB0byBwYXJzZSB0aGUgaW50ZWdlciBmcm9tIGEgdmFsdWUgd2l0aCBhIHVuaXRcbi8vLyBAcGFyYW0gJG5cbkBmdW5jdGlvbiBjcy1wYXJzZS1pbnQoJG4pIHtcbiAgQHJldHVybiAkbiAvICgkbiAqIDAgKyAxKTtcbn1cblxuLy8vIEZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiBhIHZhbHVlIGlzIGVxdWFsIHRvIHplcm9cbi8vLyBAcGFyYW0gJHZhbHVlXG5AZnVuY3Rpb24gY3MtaXMtemVybygkdmFsdWUpIHtcbiAgQHJldHVybiBpbmRleCgoMCwgMHB4LCAwcmVtKSwgJHZhbHVlKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBsZW5ndGgtemVyby1uby11bml0XG59XG5cbi8vLyBGdW5jdGlvbiB0byBjb252ZXJ0IHVuaXRzXG4vLy8gQHBhcmFtICR0by11bml0XG4vLy8gQHBhcmFtICR2YWx1ZVxuQGZ1bmN0aW9uIGNzLXVuaXQtdG8oJHRvLXVuaXQsICR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9IFwibnVtYmVyXCIgb3IgaW5kZXgoKFwicHhcIiwgXCJyZW1cIiksIHVuaXQoJHZhbHVlKSkgPT0gbnVsbCB7XG4gICAgQGVycm9yIFwiYCN7JHZhbHVlfWAgbXVzdCBiZSBhIG51bWJlciBvciBvbmUgb2YgdGhlIGZvbGxvd2luZyB1bml0czogcHgsIHJlbS5cIjtcbiAgfVxuXG4gICRyZXQ6IG51bGw7XG4gICR1bml0OiB1bml0KCR2YWx1ZSk7XG5cbiAgLy8gcmV0dXJuIHZhbHVlIGlmIG5vIHVuaXQgaXMgdGhlIHNhbWVcbiAgQGlmICR0by11bml0ID09ICR1bml0IHtcbiAgICAkcmV0OiAkdmFsdWU7XG4gIH1cblxuICAvLyBjb252ZXJ0IHRvIHB4XG4gIEBpZiAkdG8tdW5pdCA9PSBcInB4XCIge1xuICAgIEBpZiAkdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRyZXQ6IChjcy1wYXJzZS1pbnQoJGNzLWZvbnQtc2l6ZS1yb290KSAqIGNzLXBhcnNlLWludCgkdmFsdWUpKSAqIDFweDsgLy8gKiAxcHhcIiBwcmV2ZW50cyBjYXN0aW5nIHN0cmluZ1xuICAgIH1cbiAgfVxuXG4gIC8vIGNvbnZlcnQgdG8gcmVtXG4gIEBpZiAkdG8tdW5pdCA9PSBcInJlbVwiIHtcbiAgICBAaWYgJHVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRyZXQ6IChjcy1wYXJzZS1pbnQoJHZhbHVlKSAvIGNzLXBhcnNlLWludCgkY3MtZm9udC1zaXplLXJvb3QpKSAqIDFyZW07IC8vICogMXJlbVwiIHByZXZlbnRzIGNhc3Rpbmcgc3RyaW5nXG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkcmV0O1xufVxuXG4vLy8gQ29udmVydHMgdW5pdHMgdG8gcmVtXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICR2YWx1ZXMgW10gLSBhY2NlcHRzIGVpdGhlciBweCBhcyBhbiBpbnB1dCB2YWx1ZXMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzLCBsaWtlIDEwcHggMjBweC5cbkBmdW5jdGlvbiBjcy1yZW0oJHZhbHVlcykge1xuICAkcmVtOiAoKTtcblxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIGNzLWlzLXplcm8oJHZhbHVlKSBvciAkdmFsdWUgPT0gYXV0byBvciB1bml0KCR2YWx1ZSkgPT0gZW0gb3IgdW5pdCgkdmFsdWUpID09IHJlbSBvciB1bml0KCR2YWx1ZSkgPT0gXCIlXCIge1xuICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVtOiBhcHBlbmQoJHJlbSwgY3MtdW5pdC10byhcInJlbVwiLCAkdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRyZW07XG59XG4iLCJAaW1wb3J0IFwiLi9fc2hhZG93cy5taXhpbi5zY3NzXCI7XG5cbkBpZiAkY3MtZW5hYmxlLWNsYXNzZXMtc2hhZG93IHtcbiAgLiN7JGNzLW5zfXNoYWRvdyB7XG4gICAgQGluY2x1ZGUgY3Mtc2hhZG93KCk7XG5cbiAgICBAZWFjaCAkdmFyaWFudCBpbiBtYXAta2V5cygkY3Mtc2hhZG93LXZhcmlhbnRzKSB7XG4gICAgICAmLSN7JHZhcmlhbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgY3Mtc2hhZG93KCR2YXJpYW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBAcGFyYW0ge3ZhbHVlfSBzaGFkb3cuLi5cbkBtaXhpbiBjcy1ib3gtc2hhZG93KCRzaGFkb3csICRob3ZlcjogbnVsbCkge1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIEBpZiAkaG92ZXIge1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGNzLXNoYWRvdy1kdXJhdGlvbjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNaXhpbiB0byByZXNldCBzaGFkb3dzXG5AbWl4aW4gY3MtYm94LXNoYWRvdy1yZXNldCgpIHtcbiAgJixcbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcImZvY3VzXCI7XG5cbi8vXG4vLyBTaGFkb3dzXG4vL1xuXG4kY3Mtc2hhZG93OiAoXG4gIFwic2hhZG93XCI6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIC4xKSxcbiAgXCJob3ZlclwiOiAwIDJweCAzMnB4IHJnYmEoMCwgMCwgMCwgLjEpXG4pICFkZWZhdWx0O1xuXG4kY3Mtc2hhZG93LXZhcmlhbnRzOiAoXG4gIC8vIERlZmF1bHQgKGxlYXZlIHRoaXMgYmxhbmsgc28gdG8gbm90IGdlbmVyYXRlIHRoZSBjbGFzcyAuc2hhZG93LWRlZmF1bHQpXG4gIFwic3VidGxlXCI6IChcbiAgICBcInNoYWRvd1wiOiAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgLjEpLFxuICAgIFwiaG92ZXJcIjogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgLjEpXG4gICksXG4gIFwiZGFya1wiOiAoXG4gICAgXCJzaGFkb3dcIjogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgLjIpLFxuICAgIFwiaG92ZXJcIjogMCAycHggMzJweCByZ2JhKDAsIDAsIDAsIC4xKVxuICApLFxuICBcImZsb2F0XCI6IChcbiAgICBcInNoYWRvd1wiOiAwIDJweCAzMnB4IHJnYmEoMCwgMCwgMCwgLjEpLFxuICAgIFwiaG92ZXJcIjogbnVsbFxuICApLFxuICAvLyBTaGFkb3cgdXNlZCBmb3IgZm9jdXMgc3RhdGUgb2YgZWxlbWVudHMgbGlrZSBidXR0b25zLlxuICBcImZvY3VzXCI6IChcbiAgICBcInNoYWRvd1wiOiAkY3MtZm9jdXMtc2hhZG93LFxuICAgIFwiaG92ZXJcIjogbnVsbFxuICApLFxuKSAhZGVmYXVsdDtcblxuJGNzLXNoYWRvdy1kdXJhdGlvbjogLjJzICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcImNvbG9yc1wiO1xuXG4kY3MtZm9jdXMtY29sb3I6ICRjcy1jb2xvci10dXJxdW9pc2UgIWRlZmF1bHQ7XG4kY3MtZm9jdXMtY29sb3ItcmdiYTogcmdiYSgkY3MtZm9jdXMtY29sb3IsIC4zKSAhZGVmYXVsdDtcbiRjcy1mb2N1cy1jb2xvci1vdXRsaW5lOiAkY3MtY29sb3ItYmx1ZSAhZGVmYXVsdDtcbiRjcy1mb2N1cy1zaGFkb3c6IHVucXVvdGUoXCIwIDAgMCAxcHggI3skY3MtZm9jdXMtY29sb3J9LCAwIDAgMCA0cHggI3skY3MtZm9jdXMtY29sb3ItcmdiYX1cIikgIWRlZmF1bHQ7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8vL1xuLy8vIEBncm91cCB1dGlsaXRpZXNcbi8vLy9cblxuLy8vIEdlbmVyYXRlIG1hcmdpbiBhbmQgcGFkZGluZyBjbGFzc25hbWVzIHRvIGFkanVzdCBzcGFjaW5nLlxuLy8vIEZvciBleGFtcGxlIGAubXQtLWh1Z2VgLlxuQG1peGluIGNzLW1ha2Utc3BhY2VycygkYWJicmV2LCAkc2l6ZSwgJHByb3AsICRsZW5ndGgpIHtcbiAgLy8gdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0XG4gICUjeyRjcy1uc30jeyRhYmJyZXZ9LS0jeyRzaXplfSxcbiAgLiN7JGNzLW5zfSN7JGFiYnJldn0tLSN7JHNpemV9IHtcbiAgICAjeyRwcm9wfTogY3MtcmVtKCRsZW5ndGgpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBEZWZpbmUgdG9wIHNwYWNpbmcuXG4gICUjeyRjcy1uc30jeyRhYmJyZXZ9dC0tI3skc2l6ZX0sXG4gIC4jeyRjcy1uc30jeyRhYmJyZXZ9dC0tI3skc2l6ZX0ge1xuICAgICN7JHByb3B9LXRvcDogY3MtcmVtKCRsZW5ndGgpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBEZWZpbmUgcmlnaHQgc3BhY2luZy5cbiAgJSN7JGNzLW5zfSN7JGFiYnJldn1yLS0jeyRzaXplfSxcbiAgLiN7JGNzLW5zfSN7JGFiYnJldn1yLS0jeyRzaXplfSB7XG4gICAgI3skcHJvcH0tcmlnaHQ6IGNzLXJlbSgkbGVuZ3RoKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRGVmaW5lIGJvdHRvbSBzcGFjaW5nLlxuICAlI3skY3MtbnN9I3skYWJicmV2fWItLSN7JHNpemV9LFxuICAuI3skY3MtbnN9I3skYWJicmV2fWItLSN7JHNpemV9IHtcbiAgICAjeyRwcm9wfS1ib3R0b206IGNzLXJlbSgkbGVuZ3RoKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRGVmaW5lIGxlZnQgc3BhY2luZy5cbiAgJSN7JGNzLW5zfSN7JGFiYnJldn1sLS0jeyRzaXplfSxcbiAgLiN7JGNzLW5zfSN7JGFiYnJldn1sLS0jeyRzaXplfSB7XG4gICAgI3skcHJvcH0tbGVmdDogY3MtcmVtKCRsZW5ndGgpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBEZWZpbmUgdW5pZm9ybWVkIHZlcnRpYWwgc3BhY2luZy5cbiAgJSN7JGNzLW5zfSN7JGFiYnJldn15LS0jeyRzaXplfSxcbiAgLiN7JGNzLW5zfSN7JGFiYnJldn15LS0jeyRzaXplfSB7XG4gICAgQGV4dGVuZCAlI3skY3MtbnN9I3skYWJicmV2fXQtLSN7JHNpemV9O1xuICAgIEBleHRlbmQgJSN7JGNzLW5zfSN7JGFiYnJldn1iLS0jeyRzaXplfTtcbiAgfVxuXG4gIC8vIERlZmluZSB1bmlmb3JtZWQgaG9yaXpvbnRhbCBzcGFjaW5nLlxuICAlI3skY3MtbnN9I3skYWJicmV2fXgtLSN7JHNpemV9LFxuICAuI3skY3MtbnN9I3skYWJicmV2fXgtLSN7JHNpemV9IHtcbiAgICBAZXh0ZW5kICUjeyRjcy1uc30jeyRhYmJyZXZ9ci0tI3skc2l6ZX07XG4gICAgQGV4dGVuZCAlI3skY3MtbnN9I3skYWJicmV2fWwtLSN7JHNpemV9O1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZXMgc3BhY2luZyBjbGFzc25hbWVzIHBlciBkZWZpbmVkIGJyZWFrcG9pbnRzXG5AbWl4aW4gY3MtbWFrZS1yZXNwb25zaXZlLXNwYWNlcnMoJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cywgJHNwYWNlcnM6ICRjcy1zcGFjZXJzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogY3MtYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIGZvciBlYWNoIGJyZWFrcG9pbnRcbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAgIC8vIERlZmluZSB0b3AsIGxlZnQsIGJvdHRvbSwgbGVmdCBzcGFjaW5nLlxuICAgICAgICAgICUjeyRjcy1uc30jeyRhYmJyZXZ9I3skaW5maXh9LS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skY3MtbnN9I3skYWJicmV2fSN7JGluZml4fS0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH06IGNzLXJlbSgkbGVuZ3RoKSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIERlZmluZSB0b3Agc3BhY2luZy5cbiAgICAgICAgICAlI3skY3MtbnN9I3skYWJicmV2fXQjeyRpbmZpeH0tLSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRjcy1uc30jeyRhYmJyZXZ9dCN7JGluZml4fS0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH0tdG9wOiBjcy1yZW0oJGxlbmd0aCkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBEZWZpbmUgcmlnaHQgc3BhY2luZy5cbiAgICAgICAgICAlI3skY3MtbnN9I3skYWJicmV2fXIjeyRpbmZpeH0tLSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRjcy1uc30jeyRhYmJyZXZ9ciN7JGluZml4fS0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH0tcmlnaHQ6IGNzLXJlbSgkbGVuZ3RoKSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIERlZmluZSBib3R0b20gc3BhY2luZy5cbiAgICAgICAgICAlI3skY3MtbnN9I3skYWJicmV2fWIjeyRpbmZpeH0tLSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRjcy1uc30jeyRhYmJyZXZ9YiN7JGluZml4fS0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH0tYm90dG9tOiBjcy1yZW0oJGxlbmd0aCkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBEZWZpbmUgbGVmdCBzcGFjaW5nLlxuICAgICAgICAgICUjeyRjcy1uc30jeyRhYmJyZXZ9bCN7JGluZml4fS0tI3skc2l6ZX0sXG4gICAgICAgICAgLiN7JGNzLW5zfSN7JGFiYnJldn1sI3skaW5maXh9LS0jeyRzaXplfSB7XG4gICAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiBjcy1yZW0oJGxlbmd0aCkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBEZWZpbmVzIHVuaWZvcm1lZCB2ZXJ0aWFsIHNwYWNpbmcuXG4gICAgICAgICAgJSN7JGNzLW5zfSN7JGFiYnJldn15I3skaW5maXh9LS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skY3MtbnN9I3skYWJicmV2fXkjeyRpbmZpeH0tLSN7JHNpemV9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJSN7JGNzLW5zfSN7JGFiYnJldn10I3skaW5maXh9LS0jeyRzaXplfTtcbiAgICAgICAgICAgIEBleHRlbmQgJSN7JGNzLW5zfSN7JGFiYnJldn1iI3skaW5maXh9LS0jeyRzaXplfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBEZWZpbmUgdW5pZm9ybWVkIGhvcml6b250YWwgc3BhY2luZy5cbiAgICAgICAgICAlI3skY3MtbnN9I3skYWJicmV2fXgjeyRpbmZpeH0tLSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRjcy1uc30jeyRhYmJyZXZ9eCN7JGluZml4fS0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlI3skY3MtbnN9I3skYWJicmV2fXIjeyRpbmZpeH0tLSN7JHNpemV9O1xuICAgICAgICAgICAgQGV4dGVuZCAlI3skY3MtbnN9I3skYWJicmV2fWwjeyRpbmZpeH0tLSN7JHNpemV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG9uZS1saW5lciB0byBkZWZpbmUgcmVzcG9uc2l2ZSBzcGFjaW5nIHByb3BlcnRpZXMuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBjcy1zcGFjZXIocGFkZGluZy1ib3R0b20sICh4czogJ2xhcmdlJywgc206ICd4bGFyZ2UnKSk7XG5AbWl4aW4gY3Mtc3BhY2VyKCRwcm9wZXJ0eTogXCJwYWRkaW5nXCIsICRzcGFjaW5nOiBcImJhc2VcIikge1xuICAkdmFsdWVzOiAoKTtcblxuICAvLyBSZXNwb25zaXZlIG1hcFxuICBAaWYgdHlwZS1vZigkc3BhY2luZykgPT0gXCJtYXBcIiB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICRzcGFjZXIgaW4gJHNwYWNpbmcge1xuICAgICAgJHZhbHVlczogKCk7IC8vICByZXNldCB0byBlbXB0eVxuXG4gICAgICBAaWYgdHlwZS1vZigkc3BhY2VyKSA9PSBcImxpc3RcIiB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkc3BhY2VyIHtcbiAgICAgICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgaWYobWFwLWhhcy1rZXkoJGNzLXNwYWNlcnMsICR2YWx1ZSksIG1hcC1nZXQoJGNzLXNwYWNlcnMsICR2YWx1ZSksICR2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCBpZihtYXAtaGFzLWtleSgkY3Mtc3BhY2VycywgJHNwYWNlciksIG1hcC1nZXQoJGNzLXNwYWNlcnMsICRzcGFjZXIpLCAkc3BhY2VyKSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBjcy1yZW0oJHZhbHVlcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlzdCBvZiB2YWx1ZXNcbiAgQGVsc2UgaWYgdHlwZS1vZigkc3BhY2luZykgPT0gXCJsaXN0XCIge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkc3BhY2luZyB7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgaWYobWFwLWhhcy1rZXkoJGNzLXNwYWNlcnMsICR2YWx1ZSksIG1hcC1nZXQoJGNzLXNwYWNlcnMsICR2YWx1ZSksICR2YWx1ZSkpO1xuICAgIH1cblxuICAgICN7JHByb3BlcnR5fTogY3MtcmVtKCR2YWx1ZXMpO1xuICB9XG5cbiAgLy8gU2luZ2xlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgaWYobWFwLWhhcy1rZXkoJGNzLXNwYWNlcnMsICRzcGFjaW5nKSwgbWFwLWdldCgkY3Mtc3BhY2VycywgJHNwYWNpbmcpLCAkc3BhY2luZykpO1xuXG4gICAgI3skcHJvcGVydHl9OiBjcy1yZW0oJHZhbHVlcyk7XG4gIH1cbn1cblxuLy8gc3R5bGVsaW50LWVuYWJsZVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL3NldHRpbmdzXCI7IC8vIGltcG9ydCBmaXJzdFxuQGltcG9ydCBcIi4uL21peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5cbkBpZiAkY3MtZW5hYmxlLWNsYXNzZXMtbW9kdWxhcnNjYWxlIHtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDkge1xuICAgIC4jeyRjcy1uc31tcyN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkaSk7XG4gICAgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIC0xIHRocm91Z2ggLTMge1xuICAgIC4jeyRjcy1uc31tcyN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkaSk7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImRlY2ltYWxfcm91bmRcIjtcbkBpbXBvcnQgXCJwb3dcIjtcblxuQGZ1bmN0aW9uIGNzLW1vZHVsYXJzY2FsZSgkc2NhbGU6IDAsICRiYXNlOiBtYXAtZ2V0KCRjcy1tb2R1bGFyc2NhbGUsIFwiYmFzZVwiKSwgJHJhdGlvOiBtYXAtZ2V0KCRjcy1tb2R1bGFyc2NhbGUsIFwicmF0aW9cIikpIHtcbiAgJHZhbHVlOiAkYmFzZSAqIGNzLXBvdygkcmF0aW8sICRzY2FsZSk7XG4gICRyb3VuZGVkOiBjcy1kZWNpbWFsLXJvdW5kKGNzLXBhcnNlLWludCgkdmFsdWUpLCAzKSAqIDFyZW07XG5cbiAgQHJldHVybiAkcm91bmRlZDtcbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9ncmlkc1wiO1xuQGltcG9ydCBcImJyZWFrcG9pbnRzXCI7XG5cbi8vXG4vLyBDcmVhdGUgdmlzaWJsZSBhbmQgaGlkZGVuIGNsYXNzZXMgZm9yIHRoZSBkaWZmZXJlbnQgYnJlYWtwb2ludHMuXG4vL1xuQG1peGluIGNzLXZpc2liaWxpdHkoJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGNzLWJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC4jeyRjcy1uc312aXNpYmxlI3skaW5maXh9IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC4jeyRjcy1uc31oaWRkZW4jeyRpbmZpeH0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2NvbmZpZ3VyYXRpb25cIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9jb2xvcnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9mb3Jtc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL3RhYkZvY3VzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL3NwYWNpbmdcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvZm9udFNpemVcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvY29tcG9uZW50c1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9yZW1cIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvc2VsZWN0b3JzXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cblxuJGNzLWJ1dHRvbi1zZWxlY3RvcjogXCJidG5cIiAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtYnV0dG9uKCRtb2RpZmllcjogbnVsbCkge1xuICAkc2VsZWN0b3I6IGNzLXNlbGVjdG9yKCk7XG5cbiAgQGlmIChub3QgJG1vZGlmaWVyKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiAkY3MtYnRuLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgQGluY2x1ZGUgY3MtaW5wdXQtc2l6ZShcbiAgICAgICRjcy1idG4tcGFkZGluZy15LFxuICAgICAgJGNzLWJ0bi1wYWRkaW5nLXgsXG4gICAgICAkY3MtYnRuLWZvbnQtc2l6ZSxcbiAgICAgICRjcy1pbnB1dC1saW5lLWhlaWdodCxcbiAgICAgICRjcy1idG4tYm9yZGVyLXJhZGl1cyxcbiAgICAgICRjcy1idG4tYm9yZGVyLXdpZHRoKTtcblxuICAgIC8vIERlZmF1bHQgYnV0dG9uIHN0eWxlXG4gICAgQGluY2x1ZGUgY3MtYnV0dG9uLXZhcmlhbnQoXG4gICAgICAkY3MtYnRuLWNvbG9yLFxuICAgICAgJGNzLWJ0bi1iZyxcbiAgICAgICRjcy1idG4tYm9yZGVyLFxuICAgICAgJGNzLWJ0bi1ob3Zlci1jb2xvcixcbiAgICAgICRjcy1idG4taG92ZXItYmcsXG4gICAgICAkY3MtYnRuLWhvdmVyLWJvcmRlcik7XG5cbiAgICBAaW5jbHVkZSBjcy10cmFuc2l0aW9uKGFsbCAuMTI1cyBlYXNlLWluLW91dCk7XG5cbiAgICBAaW5jbHVkZSBjcy1ob3Zlci1mb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJi4jeyRjcy1uc31hY3RpdmUge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmLiN7JGNzLW5zfWZvY3VzLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgY3MtdGFiLWZvY3VzKCk7XG4gICAgfVxuXG4gICAgLy8gaWNvbnNcbiAgICAmW2NsYXNzKj1cImljb24tXCJdIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICZbY2xhc3MqPVwiaWNvbi1cIl06OmJlZm9yZSxcbiAgICAmW2NsYXNzKj1cImljb24tXCJdOjphZnRlcixcbiAgICAmW2RhdGEtaWNvbl0ge1xuICAgICAgQGluY2x1ZGUgY3Mtc3BhY2VyKHBhZGRpbmctcmlnaHQsIDRweCk7XG4gICAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoMjRweCwgMSk7XG4gICAgICBoZWlnaHQ6IGNzLXJlbSgyNHB4KTtcbiAgICAgIG1hcmdpbi10b3A6IGNzLXJlbSgtMjRweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICB9XG5cbiAgICAmW2RhdGEtaWNvbl0ge1xuICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIH1cblxuICAgIC8vIGFkZCBzcGFjaW5nIGJldHdlZW4gYnV0dG9uc1xuICAgICYgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGluY2x1ZGUgY3Mtc3BhY2VyKG1hcmdpbi1sZWZ0LCBiYXNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja1xuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwiYmxvY2tcIikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICAgICYgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgbWFyZ2luLXRvcDogY3MtcmVtKCRjcy1idG4tYmxvY2stc3BhY2luZy15KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhcmdlXG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJsZ1wiKSB7XG4gICAgQGluY2x1ZGUgY3MtaW5wdXQtc2l6ZShcbiAgICAgICRjcy1idG4tcGFkZGluZy15LWxnLFxuICAgICAgJGNzLWJ0bi1wYWRkaW5nLXgtbGcsXG4gICAgICAkY3MtYnRuLWZvbnQtc2l6ZS1sZyxcbiAgICAgICRjcy1pbnB1dC1saW5lLWhlaWdodCxcbiAgICAgICRjcy1idG4tYm9yZGVyLXJhZGl1cy1sZyxcbiAgICAgICRjcy1idG4tYm9yZGVyLXdpZHRoKTtcbiAgfVxuXG4gIC8vIFNtYWxsXG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJzbVwiKSB7XG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcIm1kXCIpIHtcbiAgICAgIEBpbmNsdWRlIGNzLWlucHV0LXNpemUoXG4gICAgICAgICRjcy1idG4tcGFkZGluZy15LXNtLFxuICAgICAgICAkY3MtYnRuLXBhZGRpbmcteC1zbSxcbiAgICAgICAgJGNzLWJ0bi1mb250LXNpemUtc20sXG4gICAgICAgICRjcy1pbnB1dC1saW5lLWhlaWdodCxcbiAgICAgICAgJGNzLWJ0bi1ib3JkZXItcmFkaXVzLXNtLFxuICAgICAgICAkY3MtYnRuLWJvcmRlci13aWR0aCk7XG5cbiAgICAgIC8vIGljb25zXG4gICAgICAmW2NsYXNzKj1cImljb24tXCJdOjpiZWZvcmUsXG4gICAgICAmIFtjbGFzcyo9XCJpY29uLVwiXTo6YmVmb3JlLFxuICAgICAgJiBbZGF0YS1pY29uXSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgyMHB4LCAxKTtcbiAgICAgICAgaGVpZ2h0OiBjcy1yZW0oMjBweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IGNzLXJlbSgtMjBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MSUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhcmlhbnRzXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRjcy1idG4tdmFyaWFudHMsICRtb2RpZmllcikge1xuICAgICRfYnRuOiBtYXAtZ2V0KCRjcy1idG4tdmFyaWFudHMsICRtb2RpZmllcik7XG5cbiAgICBAaW5jbHVkZSBjcy1idXR0b24tdmFyaWFudChcbiAgICAgIG1hcC1nZXQoJF9idG4sIFwiY29sb3JcIiksXG4gICAgICBtYXAtZ2V0KCRfYnRuLCBcImJnXCIpLFxuICAgICAgbWFwLWdldCgkX2J0biwgXCJib3JkZXJcIiksXG4gICAgICBtYXAtZ2V0KCRfYnRuLCBcImhvdmVyLWNvbG9yXCIpLFxuICAgICAgbWFwLWdldCgkX2J0biwgXCJob3Zlci1iZ1wiKSxcbiAgICAgIG1hcC1nZXQoJF9idG4sIFwiaG92ZXItYm9yZGVyXCIpKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5AbWl4aW4gY3MtYnV0dG9uLXZhcmlhbnQoJGNvbG9yOiAkY3MtYnRuLWNvbG9yLCAkYmc6ICRjcy1idG4tYmcsICRib3JkZXI6ICRjcy1idG4tYm9yZGVyLCAkaG92ZXItY29sb3I6ICRjcy1idG4taG92ZXItY29sb3IsICRob3Zlci1iZzogJGNzLWJ0bi1ob3Zlci1iZywgJGhvdmVyLWJvcmRlcjogJGNzLWJ0bi1ob3Zlci1ib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgQGluY2x1ZGUgY3MtaG92ZXIge1xuICAgIGNvbG9yOiAkaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLiN7JGNzLW5zfWFjdGl2ZSxcbiAgLiN7JGNzLW5zfW9wZW4gPiAmLiN7JGNzLW5zfWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJi4jeyRjcy1uc31kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAuNjtcblxuICAgIEBpbmNsdWRlIGNzLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cblxuQG1peGluIGNzLWJ1aWxkLWJ1dHRvbnMoJG5hbWU6ICRjcy1idXR0b24tc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtYnV0dG9ucy1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1idXR0b24oKTtcblxuICAgIC8vIFZhcmlhbnRzXG4gICAgQGVhY2ggJG1vZGlmaWVyLCAkYnRuIGluICRjcy1idG4tdmFyaWFudHMge1xuICAgICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKCRtb2RpZmllciwgJG1vZGlmaWVycykge1xuICAgICAgICAmLS0jeyRtb2RpZmllcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLWJ1dHRvbigkbW9kaWZpZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2l6ZXNcbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJsZ1wiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1sZyB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWJ1dHRvbihcImxnXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcInNtXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLXNtIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtYnV0dG9uKFwic21cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgYnV0dG9uXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiYmxvY2tcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tYmxvY2sge1xuICAgICAgICBAaW5jbHVkZSBjcy1idXR0b24oXCJibG9ja1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vdHlwb2dyYXBoeVwiO1xuXG4vLy8vXG4vLy8vIEBncm91cCB1dGlsaXRpZXNcbi8vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuLy8gRm9ybXNcblxuJGNzLWlucHV0LWZvbnQtc2l6ZTogJGNzLWZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGNzLWlucHV0LWZvbnQtc2l6ZS1zbTogLjg3NXJlbSAhZGVmYXVsdDtcbiRjcy1pbnB1dC1mb250LXNpemUtbGc6ICRjcy1mb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRjcy1pbnB1dC1saW5lLWhlaWdodDogMS4xMjUgIWRlZmF1bHQ7XG5cbiRjcy1pbnB1dC1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kY3MtaW5wdXQtcGFkZGluZy15OiAuNXJlbSAhZGVmYXVsdDtcblxuJGNzLWlucHV0LXBhZGRpbmcteC1zbTogMXJlbSAhZGVmYXVsdDtcbiRjcy1pbnB1dC1wYWRkaW5nLXktc206IC40Mzc1cmVtICFkZWZhdWx0O1xuXG4kY3MtaW5wdXQtcGFkZGluZy14LWxnOiAxcmVtICFkZWZhdWx0O1xuJGNzLWlucHV0LXBhZGRpbmcteS1sZzogLjY4NzVyZW0gIWRlZmF1bHQ7XG5cbiRjcy1pbnB1dC1iZzogJGNzLWNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGNzLWlucHV0LWJnLWRpc2FibGVkOiAkY3MtZ3JheS1mb2cgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtc2VsZWN0LXNpbmdsZS1iZzogJGNzLWlucHV0LWJnIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwIDYnPiUzQ2cgZmlsbD0nbm9uZSclM0UlM0NnIGZpbGw9JyUyMzNBM0EzQSclM0UlM0Nwb2x5Z29uIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC04MzIgLTUzOSl0cmFuc2xhdGUoNzIzIDUyNSl0cmFuc2xhdGUoMTE0IDE3KXNjYWxlKDEgLTEpdHJhbnNsYXRlKC0xMTQgLTE3KScgcG9pbnRzPScxMTQgMTQgMTE5IDIwIDEwOSAyMCcgY2xhc3M9J3VuZGVmaW5lZCcvJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIikgbm8tcmVwZWF0IHJpZ2h0IC43NXJlbSBjZW50ZXIgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtc2VsZWN0LXNpbmdsZS1iZy1zaXplOiAkY3Mtc3BhY2VyLXRpbnkgJGNzLXNwYWNlci10aW55ICFkZWZhdWx0O1xuXG4kY3MtaW5wdXQtY29sb3I6ICRjcy1icmFuZC1ibGFjayAhZGVmYXVsdDtcbiRjcy1pbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogJGNzLWdyYXktaXJvbiAhZGVmYXVsdDtcbiRjcy1pbnB1dC1jb2xvci1kaXNhYmxlZDogJGNzLWdyYXktc2lsdmVyICFkZWZhdWx0O1xuJGNzLWlucHV0LWNvbG9yLWludmFsaWQ6ICRjcy1jb2xvci1yZWQgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtYm9yZGVyLWNvbG9yOiAkY3MtZ3JheS1zaWx2ZXIgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtYm9yZGVyLXdpZHRoOiAkY3MtYm9yZGVyLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9ybSBjb250cm9scyBhbmQgYnV0dG9uc1xuXG4kY3MtaW5wdXQtYm9yZGVyLXJhZGl1czogJGNzLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogJGNzLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogJGNzLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRjcy1pbnB1dC1ib3JkZXItZm9jdXM6ICRjcy1icmFuZC1ibGFjayAhZGVmYXVsdDtcblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIGNvbW1vbiBzZXR0aW5ncy5cbiRjcy1pbnB1dC1jaGVjay1zaXplOiAkY3Mtc3BhY2VyLWJhc2UgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtY2hlY2stc2l6ZS1sYXJnZTogJGNzLXNwYWNlci1tZWRpdW0gIWRlZmF1bHQ7XG4kY3MtaW5wdXQtY2hlY2stY2hlY2tlZC1jb2xvcjogJGNzLWNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGNzLWlucHV0LWNoZWNrLWNoZWNrZWQtYmc6ICRjcy1icmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGNzLWlucHV0LWNoZWNrLWJvcmRlci1jb2xvcjogJGNzLWJyYW5kLWJsYWNrICFkZWZhdWx0O1xuJGNzLWlucHV0LWNoZWNrLWRpcy1ib3JkZXItY29sb3I6ICRjcy1ncmF5LXNpbHZlciAhZGVmYXVsdDtcbi8vIEFwcm94IDRweC5cbiRjcy1pbnB1dC1jaGVjay1pY29uLXNwYWNlcjogJGNzLXNwYWNlci10aW55IC8gMiAhZGVmYXVsdDtcblxuLy8gQ2hlY2tib3ggc3BlY2lmaWMgc2V0dGluZ3MuXG4vLyBBcHJveCAycHg7XG4kY3MtaW5wdXQtY2hlY2tib3gtYm9yZGVyLXJhZGl1czogJGNzLXNwYWNlci10aW55IC8gNCAhZGVmYXVsdDtcbiRjcy1pbnB1dC1jaGVja2JveC1tYXJrOiAoXG4gIHRvcDogM3B4LFxuICBsZWZ0OiAycHgsXG4gIGZvbnQtc2l6ZTogMTJweFxuKSAhZGVmYXVsdDtcbiRjcy1pbnB1dC1jaGVja2JveC1tYXJrLWxhcmdlOiAoXG4gIHRvcDogMXB4LFxuICBsZWZ0OiA0cHgsXG4gIGZvbnQtc2l6ZTogMTZweFxuKSAhZGVmYXVsdDtcblxuLy8gUmFkaW8gc3BlY2lmaWMgc2V0dGluZ3MuXG4kY3MtaW5wdXQtcmFkaW8tYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGNzLWlucHV0LXJhZGlvLW1hcms6IChcbiAgdG9wOiA0cHgsXG4gIGxlZnQ6IDRweCxcbiAgZm9udC1zaXplOiA4cHhcbikgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtcmFkaW8tbWFyay1sYXJnZTogKFxuICB0b3A6IDRweCxcbiAgbGVmdDogNnB4LFxuICBmb250LXNpemU6IDEycHhcbikgIWRlZmF1bHQ7XG5cbiRjcy1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBpY29uc1xuLy8gJGNzLWZvcm0taWNvbi1zdWNjZXNzOiAnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqTldOaU9EVmpJaUJrUFNKTk1qTXpMamdnTmpFd1l5MHhNeTR6SURBdE1qWXROaTB6TkMweE5pNDRURGt3TGpVZ05EUTRMamhETnpZdU15QTBNekFnT0RBZ05EQXpMak1nT1RndU9DQXpPRGxqTVRndU9DMHhOQzR5SURRMUxqVXRNVEF1TkNBMU9TNDRJRGd1Tkd3M01pQTVOVXcwTlRFdU15QXlOREpqTVRJdU5TMHlNQ0F6T0M0NExUSTJMaklnTlRndU9DMHhNeTQzSURJd0lERXlMalFnTWpZZ016Z3VOeUF4TXk0M0lEVTRMamhNTWpjd0lEVTVNR010Tnk0MElERXlMVEl3TGpJZ01Ua3VOQzB6TkM0eklESXdhQzB5ZWlJdlBqd3ZjM1puUGc9PScgIWRlZmF1bHQ7XG5cbi8vICRjcy1mb3JtLWljb24td2FybmluZzogJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTVRJZ056a3lJajQ4Y0dGMGFDQm1hV3hzUFNJalpqQmhaRFJsSWlCa1BTSk5OakF6SURZME1DNHliQzB5TnpndU5TMDFNRGxqTFRNdU9DMDJMall0TVRBdU9DMHhNQzQyTFRFNExqVXRNVEF1Tm5NdE1UUXVOeUEwTFRFNExqVWdNVEF1Tmt3NUlEWTBNQzR5WXkwekxqY2dOaTQxTFRNdU5pQXhOQzQwTGpJZ01qQXVPQ0F6TGpnZ05pNDFJREV3TGpnZ01UQXVOQ0F4T0M0eklERXdMalJvTlRVM1l6Y3VOaUF3SURFMExqWXROQ0F4T0M0MExURXdMalFnTXk0MUxUWXVOQ0F6TGpZdE1UUXVOQ0F3TFRJd0xqaDZiUzB5TmpZdU5DMHpNR2d0TmpFdU1sWTFORGxvTmpFdU1uWTJNUzR5ZW0wd0xURXdOMmd0TmpFdU1sWXpNRFJvTmpFdU1uWXhPVGw2SWk4K1BDOXpkbWMrJyAhZGVmYXVsdDtcblxuLy8gJGNzLWZvcm0taWNvbi1kYW5nZXI6ICdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBMk1USWdOemt5SWo0OGNHRjBhQ0JtYVd4c1BTSWpaRGsxTXpSbUlpQmtQU0pOTkRRM0lEVTBOQzQwWXkweE5DNDBJREUwTGpRdE16Y3VOaUF4TkM0MExUVXlJREJzTFRnNUxUa3lMamN0T0RrZ09USXVOMk10TVRRdU5TQXhOQzQwTFRNM0xqY2dNVFF1TkMwMU1pQXdMVEUwTGpRdE1UUXVOQzB4TkM0MExUTTNMallnTUMwMU1tdzVNaTQwTFRrMkxqTXRPVEl1TkMwNU5pNHpZeTB4TkM0MExURTBMalF0TVRRdU5DMHpOeTQySURBdE5USnpNemN1TmkweE5DNHpJRFV5SURCc09Ea2dPVEl1T0NBNE9TNHlMVGt5TGpkak1UUXVOQzB4TkM0MElETTNMall0TVRRdU5DQTFNaUF3SURFMExqTWdNVFF1TkNBeE5DNHpJRE0zTGpZZ01DQTFNa3d6TlRRdU5pQXpPVFpzT1RJdU5DQTVOaTQwWXpFMExqUWdNVFF1TkNBeE5DNDBJRE0zTGpZZ01DQTFNbm9pTHo0OEwzTjJaejQ9JyAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGNzLWJ0bi1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcbiRjcy1idG4tYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpICFkZWZhdWx0O1xuJGNzLWJ0bi1hY3RpdmUtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSkgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbiBkZWZhdWx0XG5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJ0bi1jb2xvcjogJGNzLWJyYW5kLWJsYWNrICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtYnRuLWJnOiAkY3MtZ3JheS1mb2cgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1idG4tYm9yZGVyOiAkY3MtZ3JheS1zaWx2ZXIgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1idG4taG92ZXItY29sb3I6ICRjcy1icmFuZC1ibGFjayAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJ0bi1ob3Zlci1iZzogJGNzLWdyYXktc2lsdmVyICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtYnRuLWhvdmVyLWJvcmRlcjogJGNzLWdyYXktc2lsdmVyICFkZWZhdWx0O1xuXG4vLyBCdXR0b24gdmFyaWFudHNcbiRjcy1idG4tdmFyaWFudHMtZGVmYXVsdDogKCkgIWRlZmF1bHQ7XG5cbi8vIE1lcmdlIGRlZmF1bHRzIHdpdGggcG9zc2libGUgY3VzdG9tIHZhcmlhbnRzXG4kY3MtYnRuLXZhcmlhbnRzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogKFxuICAgICAgXCJjb2xvclwiOiAkY3MtY29sb3Itd2hpdGUsXG4gICAgICBcImJnXCI6ICRjcy1icmFuZC1wcmltYXJ5LFxuICAgICAgXCJib3JkZXJcIjogJGNzLWJyYW5kLXByaW1hcnksXG4gICAgICBcImhvdmVyLWNvbG9yXCI6ICRjcy1jb2xvci13aGl0ZSxcbiAgICAgIFwiaG92ZXItYmdcIjogJGNzLWNvbG9yLWZvcmVzdCxcbiAgICAgIFwiaG92ZXItYm9yZGVyXCI6ICRjcy1jb2xvci1mb3Jlc3RcbiAgICApLFxuICAgIFwic2Vjb25kYXJ5XCI6IChcbiAgICAgIFwiY29sb3JcIjogJGNzLWJyYW5kLXByaW1hcnksXG4gICAgICBcImJnXCI6ICRjcy1jb2xvci13aGl0ZSxcbiAgICAgIFwiYm9yZGVyXCI6ICRjcy1icmFuZC1wcmltYXJ5LFxuICAgICAgXCJob3Zlci1jb2xvclwiOiAkY3MtYnJhbmQtYmxhY2ssXG4gICAgICBcImhvdmVyLWJnXCI6ICRjcy1jb2xvci13aGl0ZSxcbiAgICAgIFwiaG92ZXItYm9yZGVyXCI6ICRjcy1icmFuZC1ibGFja1xuICAgICksXG4gICAgXCJjdGFcIjogKFxuICAgICAgXCJjb2xvclwiOiAkY3MtY29sb3Itd2hpdGUsXG4gICAgICBcImJnXCI6ICRjcy1jb2xvci1ibHVlLFxuICAgICAgXCJib3JkZXJcIjogJGNzLWNvbG9yLWJsdWUsXG4gICAgICBcImhvdmVyLWNvbG9yXCI6ICRjcy1jb2xvci13aGl0ZSxcbiAgICAgIFwiaG92ZXItYmdcIjogJGNzLWNvbG9yLXBlcnNpYW4tYmx1ZSxcbiAgICAgIFwiaG92ZXItYm9yZGVyXCI6ICRjcy1jb2xvci1wZXJzaWFuLWJsdWVcbiAgICApLFxuICAgIFwibmV1dHJhbFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRjcy1icmFuZC1ibGFjayxcbiAgICAgIFwiYmdcIjogJGNzLWNvbG9yLXdoaXRlLFxuICAgICAgXCJib3JkZXJcIjogJGNzLWJyYW5kLWJsYWNrLFxuICAgICAgXCJob3Zlci1jb2xvclwiOiAkY3MtYnJhbmQtcHJpbWFyeSxcbiAgICAgIFwiaG92ZXItYmdcIjogJGNzLWNvbG9yLXdoaXRlLFxuICAgICAgXCJob3Zlci1ib3JkZXJcIjogJGNzLWJyYW5kLXByaW1hcnlcbiAgICApLFxuICAgIFwicmV2ZXJzZVwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRjcy1jb2xvci13aGl0ZSxcbiAgICAgIFwiYmdcIjogdHJhbnNwYXJlbnQsXG4gICAgICBcImJvcmRlclwiOiAkY3MtY29sb3Itd2hpdGUsXG4gICAgICBcImhvdmVyLWNvbG9yXCI6ICRjcy1ncmF5LXN0ZWVsLFxuICAgICAgXCJob3Zlci1iZ1wiOiB0cmFuc3BhcmVudCxcbiAgICAgIFwiaG92ZXItYm9yZGVyXCI6ICRjcy1ncmF5LXN0ZWVsXG4gICAgKVxuICApLFxuICAkY3MtYnRuLXZhcmlhbnRzLWRlZmF1bHRcbikgIWRlZmF1bHQ7XG5cblxuJGNzLWJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAkY3MtZ3JheS1pcm9uICFkZWZhdWx0O1xuXG5cbiRjcy1idG4tZm9udC1zaXplOiAkY3MtZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kY3MtYnRuLWZvbnQtc2l6ZS1zbTogLTEgIWRlZmF1bHQ7XG4kY3MtYnRuLWZvbnQtc2l6ZS1sZzogJGNzLWZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kY3MtYnRuLWJvcmRlci13aWR0aDogJGNzLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGNzLWJ0bi1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kY3MtYnRuLXBhZGRpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG5cbiRjcy1idG4tcGFkZGluZy14LXNtOiAxcmVtICFkZWZhdWx0O1xuJGNzLWJ0bi1wYWRkaW5nLXktc206IC40Mzc1cmVtICFkZWZhdWx0O1xuXG4kY3MtYnRuLXBhZGRpbmcteC1sZzogMXJlbSAhZGVmYXVsdDtcbiRjcy1idG4tcGFkZGluZy15LWxnOiAuNjg3NXJlbSAhZGVmYXVsdDtcblxuJGNzLWJ0bi1ibG9jay1zcGFjaW5nLXk6IC41cmVtICFkZWZhdWx0O1xuJGNzLWJ0bi10b29sYmFyLW1hcmdpbjogLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRjcy1idG4tYm9yZGVyLXJhZGl1czogJGNzLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3MtYnRuLWJvcmRlci1yYWRpdXMtc206ICRjcy1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNzLWJ0bi1ib3JkZXItcmFkaXVzLWxnOiAkY3MtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCIuL2JvcmRlclJhZGl1c1wiO1xuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG5AbWl4aW4gY3MtaW5wdXQtc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzLCAkYm9yZGVyLXdpZHRoKSB7XG4gIHBhZGRpbmc6IGNzLXJlbSgkcGFkZGluZy15ICRwYWRkaW5nLXgpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IGNzLXJlbSgkYm9yZGVyLXdpZHRoKTtcbiAgLy8gb3ZlcnJpZGUgZGVmYXVsdCBsaW5lLWhlaWdodFxuICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KTtcbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYHNlbGVjdGBzIGluIENTUy5cbiAgQGluY2x1ZGUgY3MtYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG4iLCIvLy8vXG4vLy8gR2xvYmFsIHZhcmlhYmxlc1xuLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzLmdsb2JhbHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vIENvbXBvbmVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY3MtYm9yZGVyLXJhZGl1czogLjI1cmVtICFkZWZhdWx0O1xuLy8vIEB0eXBlIE51bWJlclxuJGNzLWJvcmRlci1yYWRpdXMtbGc6IC4zcmVtICFkZWZhdWx0O1xuLy8vIEB0eXBlIE51bWJlclxuJGNzLWJvcmRlci1yYWRpdXMtc206IC4ycmVtICFkZWZhdWx0O1xuLy8vIEB0eXBlIE51bWJlclxuJGNzLWJvcmRlci13aWR0aDogLjA2MjVyZW0gIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cblxuLy8vIERlZmluZXMgdGhlIGJhc2Ugc3BhY2luZyB2YWx1ZS4gYDFyZW1gIGlzIHJlbGF0aXZlIHRvIHBpeGVsIHZhbHVlIHNldCBieSBgJGNzLWZvbnQtc2l6ZS1yb290YC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjcy1zcGFjZXItYmFzZTogMXJlbSAhZGVmYXVsdDsgLy8gMTZweFxuXG4vLy8gRGVmaW5lcyB0aGUgdGlueSBzcGFjaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNzLXNwYWNlci10aW55OiAoJGNzLXNwYWNlci1iYXNlICogLjUpICFkZWZhdWx0OyAvLyA4cHggfCAuNXJlbVxuXG4vLy8gRGVmaW5lcyB0aGUgbWVkaXVtIHNwYWNpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY3Mtc3BhY2VyLW1lZGl1bTogKCRjcy1zcGFjZXItYmFzZSAqIDEuNSkgIWRlZmF1bHQ7IC8vIDI0cHggfCAxLjVyZW1cblxuLy8vIERlZmluZXMgdGhlIGxhcmdlIHNwYWNpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY3Mtc3BhY2VyLWxhcmdlOiAoJGNzLXNwYWNlci1iYXNlICogMikgIWRlZmF1bHQ7IC8vIDMycHggfCAycmVtXG5cbi8vLyBEZWZpbmVzIHRoZSB4bGFyZ2Ugc3BhY2luZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjcy1zcGFjZXIteGxhcmdlOiAoJGNzLXNwYWNlci1iYXNlICogMykgIWRlZmF1bHQ7IC8vIDQ4cHggfCAzcmVtXG5cbi8vLyBEZWZpbmVzIHRoZSBodWdlIHNwYWNpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY3Mtc3BhY2VyLWh1Z2U6ICgkY3Mtc3BhY2VyLWJhc2UgKiA0KSAhZGVmYXVsdDsgLy8gNjRweCB8IDRyZW1cblxuLy8vIE1hcCBvZiBzcGFjaW5ncyB0byBnZW5lcmF0ZSBzcGFjZXIgY2xhc3NuYW1lcy5cbi8vLyBAdHlwZSBNYXBcbiRjcy1zcGFjZXJzOiAoXG4gIGJhc2U6ICRjcy1zcGFjZXItYmFzZSxcbiAgdGlueTogJGNzLXNwYWNlci10aW55LFxuICBtZWRpdW06ICRjcy1zcGFjZXItbWVkaXVtLFxuICBsYXJnZTogJGNzLXNwYWNlci1sYXJnZSxcbiAgeGxhcmdlOiAkY3Mtc3BhY2VyLXhsYXJnZSxcbiAgaHVnZTogJGNzLXNwYWNlci1odWdlLFxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLy8gQGdyb3VwIHV0aWxpdGllc1xuLy8vLyBAcGFyYW0ge2xlbmd0aH0gJHJhZGl1cyBbJGJvcmRlci1yYWRpdXNdXG4vLy8vXG5cbi8vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5AbWl4aW4gY3MtYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkY3MtYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGNzLWVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiBjcy1yZW0oJHJhZGl1cyk7XG4gIH1cbn1cblxuLy8vIFRvcCBzaWRlIG9ubHkgYm9yZGVyLXJhZGl1c1xuQG1peGluIGNzLWJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRjcy1ib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkY3MtZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNzLXJlbSgkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY3MtcmVtKCRyYWRpdXMpO1xuICB9XG59XG5cbi8vLyBSaWdodCBzaWRlIG9ubHkgYm9yZGVyLXJhZGl1c1xuQG1peGluIGNzLWJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1czogJGNzLWJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRjcy1lbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNzLXJlbSgkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogY3MtcmVtKCRyYWRpdXMpO1xuICB9XG59XG5cbi8vLyBCb3R0b20gc2lkZSBvbmx5IGJvcmRlci1yYWRpdXNcbkBtaXhpbiBjcy1ib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkY3MtYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGNzLWVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogY3MtcmVtKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNzLXJlbSgkcmFkaXVzKTtcbiAgfVxufVxuXG4vLy8gTGVmdCBzaWRlIG9ubHkgYm9yZGVyLXJhZGl1c1xuQG1peGluIGNzLWJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzOiAkY3MtYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGNzLWVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjcy1yZW0oJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY3MtcmVtKCRyYWRpdXMpO1xuICB9XG59XG4iLCIvL1xuLy8gQ1NFIFN0eWxlS2l0XG4vL1xuLy8gT3ZlcnJpZGUgU2V0dGluZ3Ncbi8vXG5cbkBpbXBvcnQgXCJzZXR0aW5ncy9zZXR0aW5nc1wiOyAvLyBpbXBvcnQgZmlyc3RcbkBpbXBvcnQgXCJtaXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG5cbi8vIExldFwicyBkbyBzb21lIGN1c3RvbWl6YXRpb25zXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY3MtYnRuLWJvcmRlci1yYWRpdXM6ICRjcy1idG4tZm9udC1zaXplICsgKCRjcy1idG4tcGFkZGluZy15ICogMikgKyAoJGNzLWJ0bi1ib3JkZXItd2lkdGggKiAyKTtcbiRjcy1idG4tYm9yZGVyLXJhZGl1cy1sZzogJGNzLWJ0bi1mb250LXNpemUgKyAoJGNzLWJ0bi1wYWRkaW5nLXktbGcgKiAyKSArICgkY3MtYnRuLWJvcmRlci13aWR0aCAqIDIpO1xuJGNzLWJ0bi1ib3JkZXItcmFkaXVzLXNtOiAkY3MtYnRuLWZvbnQtc2l6ZSArICgkY3MtYnRuLXBhZGRpbmcteS1zbSAqIDIpICsgKCRjcy1idG4tYm9yZGVyLXdpZHRoICogMik7XG4vLyBzdHlsZWxpbnQtZW5hYmxlXG5cbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwiYXRvbXMvYXRvbXNcIjtcbkBpbXBvcnQgXCJtb2xlY3VsZXMvbW9sZWN1bGVzXCI7XG5AaW1wb3J0IFwibGF5b3V0cy9sYXlvdXRzXCI7XG4iLCIvLy8gQGdyb3VwIHV0aWxpdGllc1xuQG1peGluIGNzLXRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRjcy1lbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICB9XG59XG5cbkBtaXhpbiBjcy1tYWtlLXRyYW5zaXRpb24oJHZhcmlhbnQ6IFwiXCIpIHtcbiAgQGlmICR2YXJpYW50ID09IFwiZmFkZVwiIHtcbiAgICAmIHtcbiAgICAgIEBpbmNsdWRlIGNzLXRyYW5zaXRpb24ob3BhY2l0eSAxNTBtcyBsaW5lYXIpO1xuXG4gICAgICAmLiN7JGNzLW5zfWZhZGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR2YXJpYW50ID09IFwiY29sbGFwc2VcIiB7XG4gICAgJi4jeyRjcy1uc31jb2xsYXBzZSB7XG4gICAgICAmOm5vdCguI3skY3MtbnN9c2hvdykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuI3skY3MtbnN9Y29sbGFwc2luZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgY3MtdHJhbnNpdGlvbihoZWlnaHQgLjM1cyBlYXNlKTtcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9mb2N1c1wiO1xuQGltcG9ydCBcIi4uL3V0aWxpdGllcy9zaGFkb3dzLm1peGluXCI7XG5cbi8vXG4vLyBQcm92aWRlcyBmb2N1cyBzdGF0ZSB1c2luZyBzaGFkb3cgYW5kIGJvcmRlci5cbi8vXG4vLyBUaGlzIHNob3VsZCBiZSB0aGUgcHJlZmVycmVkIG9wdGlvbiB0byBhZGQgZm9jdXMgc3RhdGUgc3R5bGVzIHRvIGFuIGVsZW1lbnRcbi8vIGJ1dCBtaWdodCBub3QgYmUgYXBwbGljYWJsZSB0byBlbGVtZW50cyB0aGF0IGRvbnQgdXNlIGJvcmRlciBsaWtlIGxpbmtzLlxuLy9cbkBtaXhpbiBjcy10YWItZm9jdXMoKSB7XG4gIEBpbmNsdWRlIGNzLXNoYWRvdyhcImZvY3VzXCIpO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY3MtZm9jdXMtY29sb3I7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8vXG4vLyBQcm92aWRlcyBmb2N1cyBzdGF0ZSB1c2luZyBvdXRsaW5lLlxuLy9cbkBtaXhpbiBjcy10YWItZm9jdXMtb3V0bGluZSgpIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZS1jb2xvcjogJGNzLWZvY3VzLWNvbG9yLW91dGxpbmU7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3MtY2xvc2UtaWNvbjogY3MtaWNvbi12YWx1ZShcImNsb3NlXCIpICFkZWZhdWx0O1xuJGNzLWNsb3NlLXNlbGVjdG9yOiBcImNsb3NlXCIgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBtaXhpblxuLy9cblxuQG1peGluIGNzLWNsb3NlKCkge1xuICBAaW5jbHVkZSBjcy1mb250LXNpemUoMTZweCwgMSk7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogLjc1O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4gIEBpbmNsdWRlIGNzLWhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzLWNsb3NlLWljb247XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIENsb3NlIGljb24gbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1jbG9zZS1pY29uKCkge1xuICBmb250LWZhbWlseTogY3MtZ2xvYmFsLWljb25zLCBzYW5zLXNlcmlmO1xuICBjb250ZW50OiAkY3MtY2xvc2UtaWNvbjtcbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtYnVpbGQtY2xvc2UoJG5hbWU6ICRjcy1jbG9zZS1zZWxlY3Rvcikge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWNsb3NlKCk7XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiXG4vLyBJbXBvcnQgZGlmZmVyZW50IGdyb3VwIG1peGlucyB0byBnZXQgaWNvbiBtYXBzIHdpdGggYXZhaWxhYmxlIGljb25zLlxuQGltcG9ydCBcImNzLWljb25zL3NyYy9zY3NzL2NvbnN1bWVyL2NvbnN1bWVyLm1peGluXCI7XG5AaW1wb3J0IFwiY3MtaWNvbnMvc3JjL3Njc3MvZWR1Y2F0aW9uL2VkdWNhdGlvbi5taXhpblwiO1xuQGltcG9ydCBcImNzLWljb25zL3NyYy9zY3NzL2dsb2JhbC9nbG9iYWwubWl4aW5cIjtcbkBpbXBvcnQgXCJjcy1pY29ucy9zcmMvc2Nzcy9raWRzLWFjdGlvbi9raWRzLWFjdGlvbi5taXhpblwiO1xuQGltcG9ydCBcImNzLWljb25zL3NyYy9zY3NzL3ByaXZhY3kvcHJpdmFjeS5taXhpblwiO1xuXG4kY3MtaWNvbi1jb25zdW1lci1mb250LWZhbWlseTogJGNzLWNvbnN1bWVyLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGNzLWljb24tZWR1Y2F0aW9uLWZvbnQtZmFtaWx5OiAkY3MtZWR1Y2F0aW9uLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGNzLWljb24tZ2xvYmFsLWZvbnQtZmFtaWx5OiAkY3MtZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGNzLWljb24ta2lkcy1hY3Rpb24tZm9udC1mYW1pbHk6ICRjcy1raWRzLWFjdGlvbi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjcy1pY29uLXByaXZhY3ktZm9udC1mYW1pbHk6ICRjcy1wcml2YWN5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vL1xuXG4vLyBXcmFwcGluZyBmdW5jdGlvbiBhcnJvdW5kIGNzLWljb25zIG1hcCBzZXR0aW5ncy5cbi8vXG4vLyBBYnN0cmFjdHMgdGhlIHVzYWdlIG9mIGNzLWljb25zLiBJbnN0ZWFkIG9mIGRpcmVjdGx5IHVzZSB0aGUgaWNvbiBjb2RlIHZhbHVlXG4vLyB0aGlzIGFsbG93cyB0byB1c2UgdGhlIGljb24gbmFtZSBkZWNsYXJlZCBpbiB0aGUgY3MtaWNvbnMgbWFwcy5cbi8vIFRoaXMgd2F5IGZ1dHVyZSBpY29uIGFkZC9yZW1vdmFsIGZyb20gY3MtaWNvbnMgc2hvdWxkIG5vdCBpbXBhY3Qga2l0IGNvZGUuXG4vLyBBZGRlZCBpdCBoZXJlIGJlY3Vhc2UgdGhpcyBpcyBhIHdyYXBwZXIgdG8gYWN0dWFsbHkgcHJvdmlkZSBhIHNldHRpbmcuXG4vL1xuQGZ1bmN0aW9uIGNzLWljb24tdmFsdWUoJGljb24tbmFtZSwgJGdyb3VwOiBcImdsb2JhbFwiKSB7XG4gIC8vIEJhc2VkIG9uIGdyb3VwLCBnZXQgdGhlIHJpZ2h0IGljb24gbWFwLlxuICAkaWNvbi1tYXA6ICgpO1xuICBAaWYgKCRncm91cCA9PSBcImdsb2JhbFwiKSB7XG4gICAgJGljb24tbWFwOiAkY3MtaWNvbi1nbG9iYWwtZ2x5cGhzLW1hcDtcbiAgfVxuICBAZWxzZSBpZiAoJGdyb3VwID09IFwiY3NlXCIpIHtcbiAgICAkaWNvbi1tYXA6ICRjcy1pY29uLWVkdWNhdGlvbi1nbHlwaHMtbWFwO1xuICB9XG4gIEBlbHNlIGlmICgkZ3JvdXAgPT0gXCJjc21cIikge1xuICAgICRpY29uLW1hcDogJGNzLWljb24tY29uc3VtZXItZ2x5cGhzLW1hcDtcbiAgfVxuICBAZWxzZSBpZiAoJGdyb3VwID09IFwiY3NrYVwiKSB7XG4gICAgJGljb24tbWFwOiAkY3MtaWNvbi1raWRzLWFjdGlvbi1nbHlwaHMtbWFwO1xuICB9XG4gIEBlbHNlIGlmICgkZ3JvdXAgPT0gXCJwcml2YWN5XCIpIHtcbiAgICAkaWNvbi1tYXA6ICRjcy1pY29uLXByaXZhY3ktZ2x5cGhzLW1hcDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBpY29uIGdyb3VwOiAjeyRncm91cH1cIjtcbiAgfVxuXG4gIC8vIFVzaW5nIGljb24gbmFtZSBhbmQgbWFwIGdldCB0aGUgaWNvbiBjb2RlIHZhbHVlLlxuICAkaWNvbi12YWx1ZTogbWFwLWdldCgkaWNvbi1tYXAsICRpY29uLW5hbWUpO1xuICBAaWYgKCRpY29uLXZhbHVlKSB7XG4gICAgJGNvbnRlbnQtdmFsdWU6IHVucXVvdGUoXCJcXFwiXCIpICsgdW5xdW90ZShzdHItaW5zZXJ0KCRpY29uLXZhbHVlLCBcIlxcXFxcIiwgMSkpICsgdW5xdW90ZShcIlxcXCJcIik7XG4gICAgQHJldHVybiAkY29udGVudC12YWx1ZTtcbiAgfVxuXG4gIEBlcnJvciBcIkljb24gZm9yIGdyb3VwICN7JGdyb3VwfSBub3QgZm91bmQ6ICN7JGljb24tbmFtZX1cIjtcbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL3NwYWNpbmdcIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3MtZGl2aWRlci1zZWxlY3RvcjogXCJkaXZpZGVyXCIgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBtaXhpblxuLy9cblxuQG1peGluIGNzLWRpdmlkZXIoJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICAmOmVtcHR5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjcy1ncmF5LXNpbHZlcjtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgQGluY2x1ZGUgY3Mtc3BhY2VyKG1hcmdpbi10b3AsIG1lZGl1bSk7XG4gICAgICBAaW5jbHVkZSBjcy1zcGFjZXIobWFyZ2luLWJvdHRvbSwgbWVkaXVtKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgY3Mtc3BhY2VyKG1hcmdpbi10b3AsIG1lZGl1bSk7XG4gICAgICBAaW5jbHVkZSBjcy1zcGFjZXIobWFyZ2luLWJvdHRvbSwgbWVkaXVtKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNzLWdyYXktc2lsdmVyO1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjcy1zcGFjZXIobWFyZ2luLXJpZ2h0LCBiYXNlKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjcy1zcGFjZXIobWFyZ2luLWxlZnQsIGJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJoZWF2eVwiKSB7XG4gICAgJjplbXB0eSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY3MtYnJhbmQtcHJpbWFyeTtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDJweDtcbiAgICB9XG5cbiAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNzLWJyYW5kLXByaW1hcnk7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuQG1peGluIGNzLWJ1aWxkLWRpdmlkZXJzKCRuYW1lOiAkY3MtZGl2aWRlci1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1kaXZpZGVycy1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1kaXZpZGVyKCk7XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJoZWF2eVwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1oZWF2eSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWRpdmlkZXIoXCJoZWF2eVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3MtZm9ybS1jb250cm9sLXNlbGVjdG9yOiBcImZvcm0tY29udHJvbFwiICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBNaXhpbnNcbi8vXG5cbi8vXG4vLyBNYWluIGJsb2NrIG1peGluIHRvIGNyZWF0ZSBpbnB1dCBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoaXMgcHJvdmlkZXMgYmFzZSBzdHlsZXMgZm9yIGZvcm0gY29udHJvbHMgYW5kIGlzIHByaW1hcnkgaW50ZW5kZWQgdG9cbi8vIHN0eWxlIHNpbXBsZSBpbnB1dCBlbGVtZW50cyBidXQgY2FuIGFsc28gYmUgdXNlZCBhcyBhIGJhc2UgZm9yIG90aGVyXG4vLyBmb3JtIGNvbnRyb2xzIGxpa2Ugc2VsZWN0cy5cbi8vIFRoaXMgYWxzbyBzdHlsZXMgdGV4dGFyZWEgZm9ybSBjb250cm9scyBzaW5jZSB0aGVyZSBpcyBub3QgZGlmZiB3aXRoIGlucHV0LlxuLy9cbkBtaXhpbiBjcy1mb3JtLWNvbnRyb2woJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIEBpbmNsdWRlIGNzLWlucHV0LXNpemUoXG4gICAgICAkY3MtaW5wdXQtcGFkZGluZy15LFxuICAgICAgJGNzLWlucHV0LXBhZGRpbmcteCxcbiAgICAgICRjcy1pbnB1dC1mb250LXNpemUsXG4gICAgICAkY3MtaW5wdXQtbGluZS1oZWlnaHQsXG4gICAgICAkY3MtaW5wdXQtYm9yZGVyLXJhZGl1cyxcbiAgICAgICRjcy1pbnB1dC1ib3JkZXItd2lkdGhcbiAgICApO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRjcy1pbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtaW5wdXQtYmc7XG4gICAgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0LlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXItY29sb3I6ICRjcy1pbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGNzLWlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRjcy1pbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgY3MtdGFiLWZvY3VzO1xuICAgIH1cblxuICAgIC8vIFJlYWQtb25seS5cbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQuXG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkLiBUaGlzIHByb3ZpZGVzIGxpa2UgYSBuYXRpdmUgZGlzYWJsZWQgc3VwcG9ydC5cbiAgICAvL1xuICAgIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gICAgLy8gZGlzYWJsZWQgaWYgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAgIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gSW52YWxpZC9lcnJvciBzdHlsZXMuIFdvcmsgaW4gY29tYmluYXRpb24gd2l0aCBmZWVkYmFjayBhbmQgaGVscC5cbiAgICAvLyBUaGlzIGNhbiBub3QgYmUgYXBwbGllZCB0byA6aW52YWxpZCBzZWxlY3RvciBiZWNhdXNlIHdvdWxkIHNob3dcbiAgICAvLyBlcnJvcnMgYmVmb3JlIGhhbmQuXG4gICAgJi5lcnJvciB7XG4gICAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLWludmFsaWQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBzdHlsZXMgZm9yIHRoZSBzZWxlY3QgZWxlbWVudC4gRGVmYXVsdCB0byBcInNlbGVjdC5mb3JtLWNvbnRyb2xcIi5cbiAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLXNlbGVjdCgpO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJzbVwiKSB7XG4gICAgQGluY2x1ZGUgY3MtaW5wdXQtc2l6ZShcbiAgICAgICRjcy1pbnB1dC1wYWRkaW5nLXktc20sXG4gICAgICAkY3MtaW5wdXQtcGFkZGluZy14LXNtLFxuICAgICAgJGNzLWlucHV0LWZvbnQtc2l6ZS1zbSxcbiAgICAgICRjcy1pbnB1dC1saW5lLWhlaWdodCxcbiAgICAgICRjcy1pbnB1dC1ib3JkZXItcmFkaXVzLXNtLFxuICAgICAgJGNzLWlucHV0LWJvcmRlci13aWR0aFxuICAgICk7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImxnXCIpIHtcbiAgICBAaW5jbHVkZSBjcy1pbnB1dC1zaXplKFxuICAgICAgJGNzLWlucHV0LXBhZGRpbmcteS1sZyxcbiAgICAgICRjcy1pbnB1dC1wYWRkaW5nLXgtbGcsXG4gICAgICAkY3MtaW5wdXQtZm9udC1zaXplLWxnLFxuICAgICAgJGNzLWlucHV0LWxpbmUtaGVpZ2h0LFxuICAgICAgJGNzLWlucHV0LWJvcmRlci1yYWRpdXMtbGcsXG4gICAgICAkY3MtaW5wdXQtYm9yZGVyLXdpZHRoXG4gICAgKTtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwiZGlzYWJsZWRcIikge1xuICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtZGlzYWJsZWQoKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIFByb3ZpZGVzIHN0eWxlcyBmb3IgdGhlIFwic2VsZWN0XCIgZm9ybS1jb250cm9sLlxuLy9cbkBtaXhpbiBfY3MtZm9ybS1jb250cm9sLXNlbGVjdCgpIHtcbiAgJHNlbGVjdG9yOiBjcy1zZWxlY3RvcigpO1xuXG4gIC8vIENoZWNrIGZvciBub24gdmFsaWQgc2VsZWN0IHNlbGVjdG9ycy5cbiAgLy8gU2luY2UgdGhlIGZvcm0tY29udHJvbCBpcyBnb2luZyB0byBiZSBhcHBsaWVkIHRvIGlucHV0LCB0ZXh0YXJlYSBhbmRcbiAgLy8gc2VsZWN0LCBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGFwcGx5IHNwZWNpZmljIHNlbGVjdCBzdHlsZXMgdG9cbiAgLy8gaW5wdXQgYW5kIHRleHRhcmVhIGVsZW1lbnRzLlxuICAkbm9uLXNlbGVjdC1pbnB1dC10eXBlOiAoXCJpbnB1dFwiLCBcInRleHRhcmVhXCIpO1xuICBAaWYgKGluZGV4KCRub24tc2VsZWN0LWlucHV0LXR5cGUsICRzZWxlY3RvcikgPT0gbnVsbCkge1xuICAgICRzZWxlY3Qtc2VsZWN0b3I6IFwic2VsZWN0XCI7XG5cbiAgICAvLyBTcGVjaWFsIGNhc2Ugd2hlbiB0aGUgc2VsZWN0b3Igd2hlcmUgdGhlIG1peGluIGlzIGJlaW5nIGFwcGxpZWQgaXNcbiAgICAvLyBhbiBhY3R1YWwgXCJzZWxlY3RcIiBlbGVtZW50LiBUaGlzIHByZXZlbnRzIFwic2VsZWN0c2VsZWN0XCIgc2VsZWN0b3IuXG4gICAgQGlmICgkc2VsZWN0b3IgPT0gXCJzZWxlY3RcIikge1xuICAgICAgJHNlbGVjdC1zZWxlY3RvcjogXCJcIjtcbiAgICB9XG5cbiAgICAvLyBBcHBlbmQgdG8gdGhlIGN1cnJlbnQgc2VsZWN0b3IgdGhlIFwic2VsZWN0XCIgc2VsZWN0b3IuXG4gICAgLy8gQnkgZGVmYXVsdCBzaG91bGQgYmUgXCJzZWxlY3QuZm9ybS1jb250cm9sXCIuXG4gICAgQGluY2x1ZGUgY3MtYXQtcm9vdCgkc2VsZWN0LXNlbGVjdG9yLCAkaGFzLXNwYWNlOiBmYWxzZSkge1xuICAgICAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYHNlbGVjdGBzIGluIElFMTArLlxuICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHRcbiAgICAgICAgLy8gZ2l2ZW4gdG8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+XG4gICAgICAgIC8vIHJlY2VpdmVzIGZvY3VzIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rc1xuICAgICAgICAvLyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgICAgY29sb3I6ICRjcy1pbnB1dC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWlucHV0LWJnO1xuICAgICAgfVxuXG4gICAgICAmOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjcy1pbnB1dC1zZWxlY3Qtc2luZ2xlLWJnO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRjcy1pbnB1dC1zZWxlY3Qtc2luZ2xlLWJnLXNpemU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBQcm92aWRlIGRpc2FibGVkIHN0eWxlcyBmb3IgaW5wdXQgZm9ybSBjb250cm9scy5cbi8vXG5AbWl4aW4gX2NzLWZvcm0tY29udHJvbC1kaXNhYmxlZCgpIHtcbiAgY29sb3I6ICRjcy1pbnB1dC1jb2xvci1kaXNhYmxlZDtcbiAgY3Vyc29yOiAkY3MtY3Vyc29yLWRpc2FibGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtaW5wdXQtYmctZGlzYWJsZWQ7XG4gIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudC5cbiAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gIGJvcmRlci1jb2xvcjogJGNzLWdyYXktc2lsdmVyO1xuICBvcGFjaXR5OiAxO1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNzLWlucHV0LWNvbG9yLWRpc2FibGVkO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBQcm92aWRlIHN0eWxlcyBmb3IgaW52YWxpZCBpbnB1dCBmb3JtIGNvbnRyb2xzLlxuLy9cbkBtaXhpbiBfY3MtZm9ybS1jb250cm9sLWludmFsaWQoKSB7XG4gIGJvcmRlci1jb2xvcjogJGNzLWlucHV0LWNvbG9yLWludmFsaWQ7XG5cbiAgLy8gU2hvdyBhIHNpYmxpbmcgaW52YWxpZCBmZWVkYmFjayBtZXNzYWdlLlxuICAmIH4gLiN7JGNzLW5zfWZvcm0tZmVlZGJhY2stLWludmFsaWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLy8gSGlkZSBhIHNpYmxpbmcgaGVscCB0ZXh0LlxuICAgICYgfiAuI3skY3MtbnN9Zm9ybS1oZWxwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpbi5cbi8vXG5AbWl4aW4gY3MtYnVpbGQtZm9ybS1jb250cm9sKCRuYW1lOiAkY3MtZm9ybS1jb250cm9sLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLWZvcm0tY29udHJvbC1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1mb3JtLWNvbnRyb2w7XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJzbVwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1zbSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWZvcm0tY29udHJvbChcInNtXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImxnXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWxnIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtZm9ybS1jb250cm9sKFwibGdcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiZGlzYWJsZWRcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICBAaW5jbHVkZSBjcy1mb3JtLWNvbnRyb2woXCJkaXNhYmxlZFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3RyaW5nXCI7XG5cbi8vIEV4dHJhY3RzIHRoZSBsYXN0IHNlbGVjdG9yIGZyb20gQW1wZXJzYW5kICgmKSBsaXN0LlxuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLyBAZXhhbXBsZVxuLy8vICAgQG1peGluIGNzLWNvbXBvbmVudCgpIHtcbi8vLyAgICAgJHNlbGVjdG9yOiBjcy1zZWxlY3RvcigpO1xuLy8vICAgICAmICsgJHNlbGVjdG9yIHsgLi4uIH1cbi8vLyAgIH1cbi8vLyBAb3V0cHV0IHtTdHJpbmd9ICdzZWxlY3RvcidcbkBmdW5jdGlvbiBjcy1zZWxlY3RvcigpIHtcbiAgJHN0cjogY3Mtc3RyLXNwbGl0KHF1b3RlKG50aCgmLCBsZW5ndGgoJikpKSwgXCIgXCIpO1xuICBAcmV0dXJuIG50aCgkc3RyLCBsZW5ndGgoJHN0cikpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgcGFyZW50IHNlbGVjdG9ycyBmcm9tIEFtcGVyc2FuZCAoJikgbGlzdFxuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLyBAZXhhbXBsZVxuLy8vICAgQG1peGluIGNzLWNvbXBvbmVudCgpIHtcbi8vLyAgICAgJHNlbGVjdG9yOiBjcy1wYXJlbnQtc2VsZWN0b3IoKTtcbi8vLyAgICAgJHNlbGVjdG9yIHsgLi4uIH1cbi8vLyAgIH1cbi8vLyBAb3V0cHV0IHtTdHJpbmd9ICdzZWxlY3RvcidcbkBmdW5jdGlvbiBjcy1wYXJlbnQtc2VsZWN0b3IoKSB7XG4gICRwYXJlbnQtc2VsZWN0b3I6ICgpO1xuICAkY2hpbGQtc2VsZWN0b3I6IGNzLXNlbGVjdG9yKCk7XG4gICRzdHI6IGNzLXN0ci1zcGxpdChxdW90ZShudGgoJiwgbGVuZ3RoKCYpKSksIFwiIFwiKTtcblxuICAvLyBJZiBsZW5ndGggaXMgbm90IGJpZ2dlciB0aGFuIDEgdGhlbiB0aGVyZSBpcyBubyBwYXJlbnQuXG4gIEBpZiBsZW5ndGgoJHN0cikgPiAxIHtcbiAgICBAZWFjaCAkdmFsIGluICRzdHIge1xuICAgICAgQGlmICR2YWwgIT0gJGNoaWxkLXNlbGVjdG9yIHtcbiAgICAgICAgJHBhcmVudC1zZWxlY3RvcjogYXBwZW5kKCRwYXJlbnQtc2VsZWN0b3IsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1zZWxlY3Rvcjtcbn1cblxuLy8vIFJldHVybnMgc2VsZWN0b3IgcGxhY2VkIGJldHdlZW4gdGhlIHBhcmVudCBhbmQgbGFzdCBzZWxlY3RvcnNcbi8vLyBmcm9tIEFtcGVyc2FuZCAoJikgbGlzdC4gSWRsZSBmb3IgZW5zdXJpbmcgcHJvcGVyIG5lc3Rpbmcgd2l0aCBgQGF0LXJvb3RgLlxuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLyBAZXhhbXBsZVxuLy8vICAgQGF0LXJvb3QgI3tjcy1hdC1yb290KGJ1dHRvbiwgZmFsc2UpfSB7XG4vLy8gICAgIC4uLlxuLy8vICAgfVxuLy8vIEBvdXRwdXQge1N0cmluZ30gJ3NlbGVjdG9yJ1xuQGZ1bmN0aW9uIGNzLWF0LXJvb3QoJHNlbGVjdG9yLCAkaGFzLXNwYWNlOiB0cnVlKSB7XG4gICRwYXJlbnQtc2VsZWN0b3I6IGNzLXBhcmVudC1zZWxlY3RvcigpO1xuICAkY2hpbGQtc2VsZWN0b3I6IGNzLXNlbGVjdG9yKCk7XG4gICRzZWxlY3RvcnM6ICgpO1xuXG4gIEBpZiAkcGFyZW50LXNlbGVjdG9yIHtcbiAgICAkc2VsZWN0b3JzOiBhcHBlbmQoJHNlbGVjdG9ycywgJHBhcmVudC1zZWxlY3Rvcik7XG4gIH1cblxuICBAaWYgJGhhcy1zcGFjZSA9PSBmYWxzZSB7XG4gICAgQGlmICgkc2VsZWN0b3IgPT0gXCJcIikge1xuICAgICAgLy8gU3BlY2lhbCBjYXNlIHdoZW4gdGhlICRzZWxlY3RvciBpcyBlbXB0eS5cbiAgICAgIC8vIFRoZSBhdC1yb290IGJlaGF2ZXMgbGlrZSBhcHBseWluZyB0aGUgQGNvbnRlbnQgdG8gXCImXCIuXG4gICAgICAkc2VsZWN0b3JzOiBhcHBlbmQoJHNlbGVjdG9ycywgJGNoaWxkLXNlbGVjdG9yKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNlbGVjdG9yczogYXBwZW5kKCRzZWxlY3RvcnMsIHNlbGVjdG9yLWFwcGVuZCgkc2VsZWN0b3IsICRjaGlsZC1zZWxlY3RvcikpO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHNlbGVjdG9yczogYXBwZW5kKCRzZWxlY3RvcnMsICRzZWxlY3Rvcik7XG4gICAgJHNlbGVjdG9yczogYXBwZW5kKCRzZWxlY3RvcnMsICRjaGlsZC1zZWxlY3Rvcik7XG4gIH1cblxuICBAcmV0dXJuICRzZWxlY3RvcnM7XG59XG5cbi8vLyBXcmFwcGVyIGFyb3VuZCBgQGF0LXJvb3RgXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuQG1peGluIGNzLWF0LXJvb3QoJHNlbGVjdG9yLCAkaGFzLXNwYWNlOiB0cnVlKSB7XG4gIEBhdC1yb290ICN7Y3MtYXQtcm9vdCgkc2VsZWN0b3IsICRoYXMtc3BhY2UpfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cbiRjcy1mb3JtLWNvbnRyb2wtY2hlY2tib3gtaWNvbjogY3MtaWNvbi12YWx1ZShcImNoZWNrYm94LWNoZWNrXCIpICFkZWZhdWx0O1xuJGNzLWZvcm0tY29udHJvbC1jaGVja2JveC1zZWxlY3RvcjogXCJmb3JtLWNvbnRyb2wtY2hlY2tib3hcIiAhZGVmYXVsdDtcblxuXG4vL1xuLy8gTWl4aW5zLlxuLy9cblxuLy9cbi8vIE1haW4gbWl4aW4gdG8gY3JlYXRlIGN1c3RvbSBjaGVja2JveCBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3MtZm9ybS1jb250cm9sLWNoZWNrYm94KCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgKG5vdCAkbW9kaWZpZXIpIHtcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgLy8gQ29tbW9uIGNoZWNrIHByb3BlcnRpZXMuXG4gICAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLWNoZWNrO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICArIGxhYmVsW2Zvcl0ge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRjcy1mb3JtLWNvbnRyb2wtY2hlY2tib3gtaWNvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgKyBsYWJlbFtmb3JdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY3MtaW5wdXQtY2hlY2tib3gtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLWNoZWNrLXNpemUtbWFyaygkY3MtaW5wdXQtY2hlY2tib3gtbWFyayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImxnXCIpIHtcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGluY2x1ZGUgX2NzLWZvcm0tY29udHJvbC1jaGVjayhcImxnXCIpO1xuXG4gICAgICArIGxhYmVsW2Zvcl0ge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgX2NzLWZvcm0tY29udHJvbC1jaGVjay1zaXplLW1hcmsoJGNzLWlucHV0LWNoZWNrYm94LW1hcmstbGFyZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQ29tbW9uIG1peGlucyBmb3IgYm90aCBjaGVja2JveCBhbmQgcmFkaW8uXG4vL1xuXG4vL1xuLy8gTWl4aW4gd2l0aCBjb21tb24gcHJvcGVydGllcyBmb3IgY2hlY2tib3ggYW5kIHJhZGlvIGVsZW1lbnRzLlxuLy9cbi8vIFRoZXNlIGVsZW1lbnRzIHJlcXVpcmUgYSBnaXZlbiBzdHJ1Y3R1cmU6IGEgcGFyZW50IGVsZW1lbnQgdG8gZ3JvdXAgYW5cbi8vIGlucHV0IHdpdGggdHlwZSBgY2hlY2tib3hgIG9yIGByYWRpb2AgYW5kIGEgc2libGluZyBsYWJlbCB3aXRoIGBmb3JgXG4vLyBhdHRyaWJ1dGUgcmVmZXJlbmNpbmcgdGhlIHNpYmxpbmcgaW5wdXQuXG4vLyA8cGFyZW50PjxpbnB1dCBpZD1cImlkMVwiIHR5cGU9XCJjaGVja2JveFwiPjxsYWJlbCBmb3I9XCJpZDFcIj48L2xhYmVsPjwvcGFyZW50PlxuLy9cbkBtaXhpbiBfY3MtZm9ybS1jb250cm9sLWNoZWNrKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgKG5vdCAkbW9kaWZpZXIpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC8vIEFkZCBmb2N1cyBzdHlsZXMgdG8gdGhlIGNoZWNrIHVuZGVyIHRoZSBsYWJlbC5cbiAgICAmOmZvY3VzIHtcbiAgICAgICsgbGFiZWxbZm9yXSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtdGFiLWZvY3VzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWFrZSB0aGUgbWFyayB1bmRlciB0aGUgbGFiZWwgZGlzYWJsZWQuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICArIGxhYmVsW2Zvcl0ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGN1cnNvcjogJGNzLWN1cnNvci1kaXNhYmxlZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgICAgICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50LlxuICAgICAgICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNzLWlucHV0LWNoZWNrLWRpcy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjdXJzb3I6ICRjcy1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPbmx5IGFwcGx5IGNoZWNrZWQgc3R5bGVzIHdoZW4gbm90IGRpc2FibGVkLlxuICAgICY6Y2hlY2tlZDpub3QoOmRpc2FibGVkKSB7XG4gICAgICArIGxhYmVsW2Zvcl0ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1pbnB1dC1jaGVjay1jaGVja2VkLWJnO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFwcGx5IGhvdmVyIHN0YXRlIG9ubHkgd2hlbiB1bmNoZWNrZWQuXG4gICAgJjpub3QoOmNoZWNrZWQpIHtcbiAgICAgICsgbGFiZWxbZm9yXTpob3ZlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWlucHV0LWJnLWRpc2FibGVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW52YWxpZC9lcnJvciBzdHlsZXMuIFdvcmsgaW4gY29tYmluYXRpb24gd2l0aCBmZWVkYmFjayBhbmQgaGVscC5cbiAgICAvLyBUaGlzIGNhbiBub3QgYmUgYXBwbGllZCB0byA6aW52YWxpZCBzZWxlY3RvciBiZWNhdXNlIHdvdWxkIHNob3dcbiAgICAvLyBlcnJvcnMgYmVmb3JlIGhhbmQuXG4gICAgJi5lcnJvciB7XG4gICAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLWNoZWNrLWludmFsaWQ7XG4gICAgfVxuXG4gICAgKyBsYWJlbFtmb3JdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogJGNzLWlucHV0LWNoZWNrLXNpemU7XG4gICAgICAgIGhlaWdodDogJGNzLWlucHV0LWNoZWNrLXNpemU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNzLWlucHV0LWNoZWNrLWljb24tc3BhY2VyO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtaW5wdXQtYmc7XG4gICAgICAgIGJvcmRlcjogJGNzLWlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkY3MtaW5wdXQtY2hlY2stYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGNzLWdsb2JhbC1pY29ucywgc2Fucy1zZXJpZjtcbiAgICAgICAgY29sb3I6ICRjcy1pbnB1dC1jaGVjay1jaGVja2VkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwibGdcIikge1xuICAgICsgbGFiZWxbZm9yXSB7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogJGNzLWlucHV0LWNoZWNrLXNpemUtbGFyZ2U7XG4gICAgICAgIGhlaWdodDogJGNzLWlucHV0LWNoZWNrLXNpemUtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gUHJvdmlkZSBzdHlsZXMgZm9yIGludmFsaWQgY2hlY2tib3ggYW5kIHJhZGlvIGZvcm0gY29udHJvbHMuXG4vL1xuQG1peGluIF9jcy1mb3JtLWNvbnRyb2wtY2hlY2staW52YWxpZCgpIHtcbiAgLy8gU2hvdyBhIHNpYmxpbmcgaW52YWxpZCBmZWVkYmFjayBtZXNzYWdlLlxuICAmIH4gLiN7JGNzLW5zfWZvcm0tZmVlZGJhY2stLWludmFsaWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLy8gSGlkZSBhIHNpYmxpbmcgaGVscCB0ZXh0LlxuICAgICYgfiAuI3skY3MtbnN9Zm9ybS1oZWxwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgKyBsYWJlbFtmb3JdIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3MtaW5wdXQtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFV0aWxpdHkgbWl4aW4gdG8gYXBwbHkgY2hlY2sgbWFyayBwcm9wZXJ0aWVzLlxuLy9cbkBtaXhpbiBfY3MtZm9ybS1jb250cm9sLWNoZWNrLXNpemUtbWFyaygkbWFyay1zZXR0aW5ncykge1xuICB0b3A6IGNzLXJlbShtYXAtZ2V0KCRtYXJrLXNldHRpbmdzLCB0b3ApKTtcbiAgbGVmdDogY3MtcmVtKG1hcC1nZXQoJG1hcmstc2V0dGluZ3MsIGxlZnQpKTtcbiAgZm9udC1zaXplOiBjcy1yZW0obWFwLWdldCgkbWFyay1zZXR0aW5ncywgZm9udC1zaXplKSk7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpbi5cbi8vXG5AbWl4aW4gY3MtYnVpbGQtZm9ybS1jb250cm9sLWNoZWNrYm94KCRuYW1lOiAkY3MtZm9ybS1jb250cm9sLWNoZWNrYm94LXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLWZvcm0tY29udHJvbC1jaGVja2JveC1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1mb3JtLWNvbnRyb2wtY2hlY2tib3g7XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJsZ1wiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1sZyB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWZvcm0tY29udHJvbC1jaGVja2JveChcImxnXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG5AaW1wb3J0IFwiZm9ybUNvbnRyb2xDaGVja2JveC5taXhpblwiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbi8vIFRoaXMgY29tZXMgZnJvbSBjb25zdW1lciBmb250LWZhbWlseSBpbnN0ZWFkIG9mIGdsb2JhbCBmb250LWZhbWlseS5cbiRjcy1mb3JtLWNvbnRyb2wtcmFkaW8taWNvbjogY3MtaWNvbi12YWx1ZShcImNpcmNsZS1zb2xpZFwiKSAhZGVmYXVsdDtcbiRjcy1mb3JtLWNvbnRyb2wtcmFkaW8tc2VsZWN0b3I6IFwiZm9ybS1jb250cm9sLXJhZGlvXCIgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIE1peGluc1xuLy9cblxuLy9cbi8vIE1haW4gbWl4aW4gdG8gY3JlYXRlIGN1c3RvbSByYWRpbyBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3MtZm9ybS1jb250cm9sLXJhZGlvKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgKG5vdCAkbW9kaWZpZXIpIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgLy8gQ29tbW9uIGNoZWNrIHByb3BlcnRpZXMuXG4gICAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLWNoZWNrO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICArIGxhYmVsW2Zvcl0ge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRjcy1mb3JtLWNvbnRyb2wtcmFkaW8taWNvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgKyBsYWJlbFtmb3JdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY3MtaW5wdXQtcmFkaW8tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLWNoZWNrLXNpemUtbWFyaygkY3MtaW5wdXQtcmFkaW8tbWFyayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImxnXCIpIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgQGluY2x1ZGUgX2NzLWZvcm0tY29udHJvbC1jaGVjayhcImxnXCIpO1xuXG4gICAgICArIGxhYmVsW2Zvcl0ge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgX2NzLWZvcm0tY29udHJvbC1jaGVjay1zaXplLW1hcmsoJGNzLWlucHV0LXJhZGlvLW1hcmstbGFyZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW4uXG4vL1xuQG1peGluIGNzLWJ1aWxkLWZvcm0tY29udHJvbC1yYWRpbygkbmFtZTogJGNzLWZvcm0tY29udHJvbC1yYWRpby1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1mb3JtLWNvbnRyb2wtcmFkaW8tbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtZm9ybS1jb250cm9sLXJhZGlvO1xuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwibGdcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tbGcge1xuICAgICAgICBAaW5jbHVkZSBjcy1mb3JtLWNvbnRyb2wtcmFkaW8oXCJsZ1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3MtZm9ybS1sYWJlbC1mb250LXNpemU6ICRjcy1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3MtZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAkY3Mtc3BhY2VyLXRpbnkgIWRlZmF1bHQ7XG4vLyBUaGlzIHNob3VsZCBiZSBwcmV0dHkgc21hbGwsIGFyb3VuZCA0cHguXG4kY3MtZm9ybS1sYWJlbC1yZXF1aXJlZC1jb2xvcjogJGNzLWlucHV0LWNvbG9yLWludmFsaWQgIWRlZmF1bHQ7XG4kY3MtZm9ybS1sYWJlbC1yZXF1aXJlZC1zcGFjZXI6ICRjcy1zcGFjZXItdGlueSAvIDIgIWRlZmF1bHQ7XG4kY3MtZm9ybS1sYWJlbC1zZWxlY3RvcjogXCJmb3JtLWxhYmVsXCIgIWRlZmF1bHQ7XG5cbiRjcy1mb3JtLWhlbHAtZm9udC1zaXplOiAkY3MtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGNzLWZvcm0taGVscC1tYXJnaW4tdG9wOiAuMzc1cmVtICFkZWZhdWx0O1xuJGNzLWZvcm0taGVscC1jb2xvcjogJGNzLWdyYXktaXJvbiAhZGVmYXVsdDtcbiRjcy1mb3JtLWhlbHAtbGluZS1oZWlnaHQ6IDEuMTI1ICFkZWZhdWx0O1xuJGNzLWZvcm0taGVscC1zZWxlY3RvcjogXCJmb3JtLWhlbHBcIiAhZGVmYXVsdDtcblxuJGNzLWZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAkY3MtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGNzLWZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogLjM3NXJlbSAhZGVmYXVsdDtcbiRjcy1mb3JtLWZlZWRiYWNrLWxpbmUtaGVpZ2h0OiAxLjEyNSAhZGVmYXVsdDtcbiRjcy1mb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICRjcy1pbnB1dC1jb2xvci1pbnZhbGlkICFkZWZhdWx0O1xuJGNzLWZvcm0tZmVlZGJhY2stc2VsZWN0b3I6IFwiZm9ybS1mZWVkYmFja1wiICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBNaXhpbnNcbi8vXG5cbi8vXG4vLyBCbG9jayBtaXhpbiB0byBjcmVhdGUgbGFiZWwgc3R5bGVzLlxuLy9cbkBtaXhpbiBjcy1mb3JtLWxhYmVsKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgKG5vdCAkbW9kaWZpZXIpIHtcbiAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGNzLWZvcm0tbGFiZWwtZm9udC1zaXplLCBub3JtYWwpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD5gIGRlZmF1bHQuXG4gICAgbWFyZ2luLWJvdHRvbTogJGNzLWZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwicmVxdWlyZWRcIikge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY3MtZm9ybS1sYWJlbC1yZXF1aXJlZC1zcGFjZXI7XG4gICAgICBjb2xvcjogJGNzLWZvcm0tbGFiZWwtcmVxdWlyZWQtY29sb3I7XG4gICAgICBjb250ZW50OiBcIipcIjtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCbG9jayBtaXhpbiB0byBjcmVhdGUgaGVscCB0ZXh0IHN0eWxlcy5cbi8vXG5AbWl4aW4gY3MtZm9ybS1oZWxwKCkge1xuICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGNzLWZvcm0taGVscC1mb250LXNpemUsICRjcy1mb3JtLWhlbHAtbGluZS1oZWlnaHQpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGNzLWZvcm0taGVscC1tYXJnaW4tdG9wO1xuICBjb2xvcjogJGNzLWZvcm0taGVscC1jb2xvcjtcblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEJsb2NrIG1peGluIHRvIGNyZWF0ZSBmZWVkYmFjayBzdHlsZXMuXG4vL1xuQG1peGluIGNzLWZvcm0tZmVlZGJhY2soJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkY3MtZm9ybS1mZWVkYmFjay1mb250LXNpemUsICRjcy1mb3JtLWZlZWRiYWNrLWxpbmUtaGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRjcy1mb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImludmFsaWRcIikge1xuICAgIGNvbG9yOiAkY3MtZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5zXG4vL1xuXG5AbWl4aW4gY3MtYnVpbGQtZm9ybS1sYWJlbCgkbmFtZTogJGNzLWZvcm0tbGFiZWwtc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtZm9ybS1sYWJlbC1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1mb3JtLWxhYmVsO1xuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwicmVxdWlyZWRcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tcmVxdWlyZWQge1xuICAgICAgICBAaW5jbHVkZSBjcy1mb3JtLWxhYmVsKFwicmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGNzLWJ1aWxkLWZvcm0taGVscCgkbmFtZTogJGNzLWZvcm0taGVscC1zZWxlY3Rvcikge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWZvcm0taGVscDtcblxuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBjcy1idWlsZC1mb3JtLWZlZWRiYWNrKCRuYW1lOiAkY3MtZm9ybS1mZWVkYmFjay1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1mb3JtLWZlZWRiYWNrLW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWZvcm0tZmVlZGJhY2s7XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJpbnZhbGlkXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWludmFsaWQge1xuICAgICAgICBAaW5jbHVkZSBjcy1mb3JtLWZlZWRiYWNrKFwiaW52YWxpZFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7IC8vIGltcG9ydCBmaXJzdFxuQGltcG9ydCBcIi4uLy4uL21peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cblxuJGNzLWhlYWRpbmdzLXNlbGVjdG9yOiBcImhlYWRpbmdcIiAhZGVmYXVsdDtcbiRjcy1kaXNwbGF5cy1zZWxlY3RvcjogXCJkaXNwbGF5XCIgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBtaXhpblxuLy9cbkBtaXhpbiBjcy1oZWFkaW5nKCRtb2RpZmllcjogbnVsbCkge1xuICAvLyBoZWFkaW5nIGxldmVsc1xuICBAaWYgbWFwLWhhcy1rZXkoJGNzLWhlYWRpbmctc2l6ZXMsICRtb2RpZmllcikge1xuICAgIG1hcmdpbi1ib3R0b206IGNzLXJlbSgkY3MtaGVhZGluZ3MtbWFyZ2luLWJvdHRvbSk7XG4gICAgZm9udC1mYW1pbHk6ICRjcy1oZWFkaW5ncy1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNzLWhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY3MtaGVhZGluZ3MtY29sb3I7XG4gICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKFxuICAgICAgbWFwLWdldCgkY3MtaGVhZGluZy1zaXplcywgJG1vZGlmaWVyKSxcbiAgICAgICRjcy1oZWFkaW5ncy1saW5lLWhlaWdodFxuICAgICk7XG5cbiAgICAvLyBoNSBzdHlsaW5nXG4gICAgQGlmICgkbW9kaWZpZXIgPT0gNSkge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBjcy1yZW0oLjVweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzcGxheSBoZWFkaW5nc1xuICBAZWxzZSBpZiBpbmRleCgoXCJkaXNwbGF5LTFcIiwgXCJkaXNwbGF5LTJcIiksICRtb2RpZmllcikge1xuICAgIG1hcmdpbi1ib3R0b206IGNzLXJlbSgkY3MtaGVhZGluZ3MtbWFyZ2luLWJvdHRvbSk7XG4gICAgY29sb3I6ICRjcy1oZWFkaW5ncy1jb2xvcjtcblxuICAgIEBpZiAoJG1vZGlmaWVyID09IFwiZGlzcGxheS0xXCIpIHtcbiAgICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZShcbiAgICAgICAgJGNzLWRpc3BsYXktMS1zaXplLFxuICAgICAgICAkY3MtaGVhZGluZ3MtbGluZS1oZWlnaHRcbiAgICAgICk7XG4gICAgICBmb250LXdlaWdodDogJGNzLWRpc3BsYXktMS13ZWlnaHQ7XG4gICAgfVxuICAgIEBlbHNlIGlmKCRtb2RpZmllciA9PSBcImRpc3BsYXktMlwiKSB7XG4gICAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoXG4gICAgICAgICRjcy1kaXNwbGF5LTItc2l6ZSxcbiAgICAgICAgJGNzLWhlYWRpbmdzLWxpbmUtaGVpZ2h0XG4gICAgICApO1xuICAgICAgZm9udC13ZWlnaHQ6ICRjcy1kaXNwbGF5LTItd2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmKCRtb2RpZmllciA9PSBcIm9zd2FsZFwiKSB7XG4gICAgZm9udC1mYW1pbHk6ICRjcy1mb250LWZhbWlseS1vc3dhbGQ7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtYnVpbGQtaGVhZGluZ3MoJG5hbWU6ICRjcy1oZWFkaW5ncy1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1oZWFkaW5ncy1tb2RpZmllcnMpIHtcblxuICAvLyBIZWFkaW5nIHRhZ3NcbiAgQGVhY2ggJGkgaW4gbWFwLWtleXMoJGNzLWhlYWRpbmctc2l6ZXMpIHtcbiAgICBAaWYgJGNzLWVuYWJsZS1oZWFkaW5ncy10YWdzIHtcbiAgICAgIGgjeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWhlYWRpbmcoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgY2xhc3Nlc1xuICAvLyBUaGVzZSBkZWNsYXJhdGlvbnMgYXJlIGtlcHQgc2VwYXJhdGUgZnJvbSBhbmQgcGxhY2VkIGFmdGVyXG4gIC8vIHRoZSBwcmV2aW91cyB0YWctYmFzZWQgZGVjbGFyYXRpb25zIHNvIHRoYXQgdGhlIGNsYXNzZXMgYmVhdFxuICAvLyB0aGUgdGFncyBpbiB0aGUgQ1NTIGNhc2NhZGUsIGFuZCB0aHVzIDxoMSBjbGFzcz1cImhlYWRpbmctMlwiPlxuICAvLyB3aWxsIGJlIHN0eWxlZCBsaWtlIGFuIGgyLlxuICBAZWFjaCAkaSBpbiBtYXAta2V5cygkY3MtaGVhZGluZy1zaXplcykge1xuICAgICRfc2VsZWN0b3I6IHVucXVvdGUoI3skbmFtZX0tI3skaX0pO1xuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZCgkX3NlbGVjdG9yLCAkbW9kaWZpZXJzKSB7XG4gICAgICAuI3skY3MtbnN9I3skX3NlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWhlYWRpbmcoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC4jeyRjcy1uc30jeyRuYW1lfS0tb3N3YWxkIHtcbiAgICBAaW5jbHVkZSBjcy1oZWFkaW5nKFwib3N3YWxkXCIpO1xuICB9XG5cbiAgLy8gRGlzcGxheSBoZWFkaW5nc1xuICBAZWFjaCAkZGlzcGxheSBpbiAoXCJkaXNwbGF5LTFcIiwgXCJkaXNwbGF5LTJcIikge1xuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZCgkZGlzcGxheSwgJG1vZGlmaWVycykge1xuICAgICAgLiN7JGNzLW5zfSN7JGRpc3BsYXl9IHtcbiAgICAgICAgQGluY2x1ZGUgY3MtaGVhZGluZygkZGlzcGxheSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjsgLy8gaW1wb3J0IGZpcnN0XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuLy9cbi8vIEJsb2NrIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtaW5saW5lLXRleHQoJG1vZGlmaWVyOiBudWxsKSB7XG4gIC8vIERlZmF1bHQgcGFyYWdyYXBoXG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRjcy1zcGFjZXItbWVkaXVtO1xuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwibGVhZFwiIHtcbiAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGNzLWxlYWQtZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogJGNzLWxlYWQtZm9udC13ZWlnaHQ7XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJzbWFsbFwiIHtcbiAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGNzLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJjYXB0aW9uXCIge1xuICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkY3MtY2FwdGlvbi1mb250LXNpemUpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IGNzLXJlbSguMDlweCk7XG4gICAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJsZWdhbFwiIHtcbiAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGNzLWxlZ2FsLWZvbnQtc2l6ZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IGNzLXJlbSguMDlweCk7XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJtYXJrXCIge1xuICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLCB0aW55KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtbWFyay1iZy1jb2xvcjtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1pbmxpbmUtdGV4dCgkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLWlubGluZS10ZXh0LW1vZGlmaWVycykge1xuICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJwYXJhZ3JhcGhcIiwgJG1vZGlmaWVycykge1xuICAgIHAge1xuICAgICAgQGluY2x1ZGUgY3MtaW5saW5lLXRleHQoKTtcbiAgICB9XG4gIH1cblxuICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJsZWFkXCIsICRtb2RpZmllcnMpIHtcbiAgICAuI3skY3MtbnN9bGVhZCB7XG4gICAgICBAaW5jbHVkZSBjcy1pbmxpbmUtdGV4dChcImxlYWRcIik7XG4gICAgfVxuICB9XG5cbiAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwic21hbGxcIiwgJG1vZGlmaWVycykge1xuICAgIC4jeyRjcy1uc31zbWFsbCxcbiAgICBzbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjcy1pbmxpbmUtdGV4dChcInNtYWxsXCIpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImNhcHRpb25cIiwgJG1vZGlmaWVycykge1xuICAgIC4jeyRjcy1uc31jYXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGNzLWlubGluZS10ZXh0KFwiY2FwdGlvblwiKTtcbiAgICB9XG4gIH1cblxuICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJsZWdhbFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgLiN7JGNzLW5zfWxlZ2FsIHtcbiAgICAgIEBpbmNsdWRlIGNzLWlubGluZS10ZXh0KFwibGVnYWxcIik7XG4gICAgfVxuICB9XG5cbiAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwibWFya1wiLCAkbW9kaWZpZXJzKSB7XG4gICAgLiN7JGNzLW5zfW1hcmssXG4gICAgbWFyayB7XG4gICAgICBAaW5jbHVkZSBjcy1pbmxpbmUtdGV4dChcIm1hcmtcIik7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29sb3JzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29uZmlndXJhdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2xpbmtzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL3RhYkZvY3VzXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL3JlbVwiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbiRjcy1saW5rLXNlbGVjdG9yOiBcImxpbmtcIiAhZGVmYXVsdDtcbiRjcy1saW5rLWN0YS1jb2xvcjogJGNzLWNvbG9yLWJsdWUgIWRlZmF1bHQ7XG4kY3MtbGluay1jdGEtdmlzaXRlZC1jb2xvcjogJGNzLWNvbG9yLXJveWFsLWJsdWUgIWRlZmF1bHQ7XG4kY3MtbGluay1yZXZlcnNlLWNvbG9yOiAkY3MtY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY3MtbGluay1yZXZlcnNlLWhvdmVyLWNvbG9yOiAkY3MtZ3JheS1zdGVlbCAhZGVmYXVsdDtcbiRjcy1saW5rLXJldmVyc2UtdmlzaXRlZC1jb2xvcjogJGNzLWdyYXktc2lsdmVyICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBCbG9jayBtaXhpbnNcbi8vXG5cbi8vXG4vLyBNYWluIG1peGluIHRvIGNyZWF0ZSBsaW5rIGF0b21zLlxuLy9cbi8vIEFuIG9wdGlvbmFsIG9wdGlvbnMgbWFwIGNhbiBiZSBwYXNzZWQgZm9yIHNvbWUgbGluayBtb2RpZmljYXRpb25zLlxuLy9cbkBtaXhpbiBjcy1saW5rKCRtb2RpZmllcjogbnVsbCwgJG9wdGlvbnM6IChpY29uOiBmYWxzZSkpIHtcbiAgQGlmIChub3QgJG1vZGlmaWVyKSB7XG4gICAgcGFkZGluZy1ib3R0b206IGNzLXJlbSgycHgpO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogJGNzLWxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkY3MtbGluay1kZWNvcmF0aW9uO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGNzLWdyYXktY2hhcmNvYWw7XG5cbiAgICAvLyBBZGQgc3VwcG9ydCBmb3IgaW5saW5lIGljb25zLlxuICAgICRpY29uLXN1cHBvcnQ6IG1hcC1nZXQoJG9wdGlvbnMsIFwiaWNvblwiKTtcbiAgICBAaWYgKCRpY29uLXN1cHBvcnQpIHtcbiAgICAgID4gW2NsYXNzXj1cIiN7JGNzLW5zfWljb25cIl0ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY3MtaG92ZXItYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkY3MtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJGNzLWxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGNzLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQWNjZXNzaWJpbGl0eSBpbXByb3ZlbWVudC5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGNzLXRhYi1mb2N1cy1vdXRsaW5lKCk7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJjdGFcIikge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAkY3MtbGluay1jdGEtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAvLyBNdXN0IGVuZm9yY2UgY29sb3IgYWZ0ZXIgOnZpc2l0ZWQgZm9yIDpob3Zlci5cbiAgICBAaW5jbHVkZSBjcy1ob3Zlci1hY3RpdmUge1xuICAgICAgY29sb3I6ICRjcy1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwicmV2ZXJzZVwiKSB7XG4gICAgY29sb3I6ICRjcy1saW5rLXJldmVyc2UtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNzLWxpbmstcmV2ZXJzZS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGNzLWhvdmVyLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGNzLWxpbmstcmV2ZXJzZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjcy1saW5rLXJldmVyc2UtaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAkY3MtbGluay1yZXZlcnNlLWNvbG9yO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwidGl0bGVcIikge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1saW5rcygkbmFtZTogJGNzLWxpbmstc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtbGlua3MtbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtbGluaygkb3B0aW9uczogKGljb246IHRydWUpKTtcblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImN0YVwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1jdGEge1xuICAgICAgICBAaW5jbHVkZSBjcy1saW5rKFwiY3RhXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcInJldmVyc2VcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tcmV2ZXJzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWxpbmsoXCJyZXZlcnNlXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcInRpdGxlXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbGluayhcInRpdGxlXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjsgLy8gaW1wb3J0IGZpcnN0XG5AaW1wb3J0IFwiLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuJGNzLWxpc3QtaW5saW5lLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRjcy1saXN0LWlubGluZS1kZWxpbWl0OiBcIixcXDAwQTBcIiAhZGVmYXVsdDtcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCxcbi8vIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGNzLWxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi4jeyRjcy1uc31saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgY3MtbGlzdC11bnN0eWxlZDtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbiUjeyRjcy1uc31saXN0LWlubGluZSxcbi4jeyRjcy1uc31saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGNzLWxpc3QtdW5zdHlsZWQ7XG5cbiAgbGkge1xuICAgIEBleHRlbmQgJSN7JGNzLW5zfWxpc3QtaW5saW5lX19pdGVtO1xuICB9XG59XG5cbiUjeyRjcy1uc31saXN0LWlubGluZV9faXRlbSxcbi4jeyRjcy1uc31saXN0LWlubGluZV9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogY3MtcmVtKCRjcy1saXN0LWlubGluZS1wYWRkaW5nKTtcbiAgfVxufVxuXG5cbkBpZiAkY3MtZW5hYmxlLWxpc3QtaW5saW5lLS1kZWxpbWl0ZWQge1xuXG4gIC8vXG4gIC8vIENvbW1hIGRlbGltaXRlZCBsaXN0IHRvIHNlbWFudGljYWxseSBtYXJrIHVwIGxpc3RzIG9mIHRhZ3MsIGV0Yy5cbiAgLy9cbiAgLy8gTi5CLiBUaGlzIGNvbXBvbmVudCByZXF1aXJlcyB0aGF0IHlvdSByZW1vdmUgdGhlIHdoaXRlc3BhY2UgYmV0d2VlbiBMSXMuXG4gIC8vICAgICBUaGUgc2ltcGxlc3QgKGFuZCB2YWxpZCkgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyBieSBvbWl0dGluZyB0aGVcbiAgLy8gICAgIGNsb3NpbmcgYDwvbGk+YCB0YWcuXG4gIC8vXG5cbiAgLiN7JGNzLW5zfWxpc3QtaW5saW5lLS1kZWxpbWl0ZWQge1xuXG4gICAgPiBsaSArIGxpLFxuICAgID4gLiN7JGNzLW5zfWxpc3QtaW5saW5lX19pdGVtICsgLiN7JGNzLW5zfWxpc3QtaW5saW5lX19pdGVtIHtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIjeyRjcy1saXN0LWlubGluZS1kZWxpbWl0fVwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2NvbG9yc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2NvbmZpZ3VyYXRpb25cIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9nbG9iYWxzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvemluZGV4XCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2NvbXBvbmVudHNcIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3MtbG9hZGVyLXNlbGVjdG9yOiBcImxvYWRlclwiICFkZWZhdWx0O1xuJGNzLWxvYWRlci1jb2xvcjogJGNzLWdyYXktaXJvbiAhZGVmYXVsdDtcbiRjcy1sb2FkZXItc2l6ZS1zbTogKFxuICBzaXplOiAkY3Mtc3BhY2VyLWJhc2UsXG4gIGJvcmRlci13aWR0aDogM3B4XG4pICFkZWZhdWx0O1xuJGNzLWxvYWRlci1zaXplLW1kOiAoXG4gIHNpemU6ICRjcy1zcGFjZXItbGFyZ2UsXG4gIGJvcmRlci13aWR0aDogNXB4XG4pICFkZWZhdWx0O1xuJGNzLWxvYWRlci1zaXplLWxnOiAoXG4gIHNpemU6ICRjcy1zcGFjZXIteGxhcmdlLFxuICBib3JkZXItd2lkdGg6IDZweFxuKSAhZGVmYXVsdDtcblxuLy9cbi8vIE1peGluc1xuLy9cblxuLy9cbi8vIE1haW4gbWl4aW4gdG8gY3JlYXRlIGxvYWRlciBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3MtbG9hZGVyKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgKG5vdCAkbW9kaWZpZXIpIHtcbiAgICBAaW5jbHVkZSBfY3MtbG9hZGVyLXNpemUoJGNzLWxvYWRlci1zaXplLW1kKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAkY3MtbG9hZGVyLWNvbG9yO1xuXG4gICAgZGl2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGFuaW1hdGlvbjogY3MtbG9hZGVyIDEuMnMgY3ViaWMtYmV6aWVyKC41LCAwLCAuNSwgMSkgaW5maW5pdGU7XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtLjQ1cztcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtLjNzO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0uMTVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgY3MtbG9hZGVyIHtcbiAgICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICB9XG4gICAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcInNtYWxsXCIpIHtcbiAgICBAaW5jbHVkZSBfY3MtbG9hZGVyLXNpemUoJGNzLWxvYWRlci1zaXplLXNtKTtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwibGFyZ2VcIikge1xuICAgIEBpbmNsdWRlIF9jcy1sb2FkZXItc2l6ZSgkY3MtbG9hZGVyLXNpemUtbGcpO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJjZW50ZXJlZFwiKSB7XG4gICAgQGluY2x1ZGUgX2NzLWxvYWRlci1jZW50ZXJlZCgkY3MtbG9hZGVyLXNpemUtbWQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkY3MtemluZGV4O1xuXG4gICAgJi4jeyRjcy1uc30jeyRjcy1sb2FkZXItc2VsZWN0b3J9LS1zbSB7XG4gICAgICBAaW5jbHVkZSBfY3MtbG9hZGVyLWNlbnRlcmVkKCRjcy1sb2FkZXItc2l6ZS1zbSk7XG4gICAgfVxuXG4gICAgJi4jeyRjcy1uc30jeyRjcy1sb2FkZXItc2VsZWN0b3J9LS1sZyB7XG4gICAgICBAaW5jbHVkZSBfY3MtbG9hZGVyLWNlbnRlcmVkKCRjcy1sb2FkZXItc2l6ZS1sZyk7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxufVxuXG5AbWl4aW4gX2NzLWxvYWRlci1zaXplKCRzaXplKSB7XG4gIHdpZHRoOiBtYXAtZ2V0KCRzaXplLCBcInNpemVcIik7XG4gIGhlaWdodDogbWFwLWdldCgkc2l6ZSwgXCJzaXplXCIpO1xuXG4gIGRpdiB7XG4gICAgd2lkdGg6IG1hcC1nZXQoJHNpemUsIFwic2l6ZVwiKTtcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJHNpemUsIFwic2l6ZVwiKTtcbiAgICBib3JkZXItd2lkdGg6IG1hcC1nZXQoJHNpemUsIFwiYm9yZGVyLXdpZHRoXCIpO1xuICB9XG59XG5cbkBtaXhpbiBfY3MtbG9hZGVyLWNlbnRlcmVkKCRzaXplKSB7XG4gICRzaXplVmFsdWU6IG1hcC1nZXQoJHNpemUsIFwic2l6ZVwiKSAhZGVmYXVsdDtcbiAgdG9wOiBjYWxjKDUwJSAtICN7JHNpemVWYWx1ZX0gLyAyKTtcbiAgbGVmdDogY2FsYyg1MCUgLSAjeyRzaXplVmFsdWV9IC8gMik7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cbkBtaXhpbiBjcy1idWlsZC1sb2FkZXIoJG5hbWU6ICRjcy1sb2FkZXItc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtbG9hZGVyLW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWxvYWRlcjtcblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcInNtYWxsXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLXNtIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbG9hZGVyKFwic21hbGxcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwibGFyZ2VcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tbGcge1xuICAgICAgICBAaW5jbHVkZSBjcy1sb2FkZXIoXCJsYXJnZVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJjZW50ZXJlZFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1jZW50ZXJlZCB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWxvYWRlcihcImNlbnRlcmVkXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kY3MtemluZGV4OiAxMDAwICFkZWZhdWx0O1xuJGNzLXppbmRleC1uYXZiYXI6IDEwMDEgIWRlZmF1bHQ7XG4kY3MtemluZGV4LWRyb3Bkb3duOiAxMDAxICFkZWZhdWx0O1xuJGNzLXppbmRleC1wb3BvdmVyOiAxMDYwICFkZWZhdWx0O1xuJGNzLXppbmRleC10b29sdGlwOiAxMDcwICFkZWZhdWx0O1xuJGNzLXppbmRleC1uYXZiYXItZml4ZWQ6IDEwMzAgIWRlZmF1bHQ7XG4kY3MtemluZGV4LW5hdmJhci1zdGlja3k6IDEwMzAgIWRlZmF1bHQ7XG4kY3MtemluZGV4LW1vZGFsLWJhY2tkcm9wOiAxMDQwICFkZWZhdWx0O1xuJGNzLXppbmRleC1tb2RhbDogMTA1MCAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9jb25maWd1cmF0aW9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29sb3JzXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL3JlbVwiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL2JvcmRlclJhZGl1c1wiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbiRjcy1hdmF0YXItc2VsZWN0b3I6IFwiYXZhdGFyXCIgIWRlZmF1bHQ7XG4kY3MtYXZhdGFyLWxvZ28tdXJsOiBcImltYWdlcy9sb2dvLS1jaGVja21hcmstLWdyZWVuLS1ibGFjay0td2hpdGUuc3ZnXCIgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBtaXhpblxuLy9cblxuQG1peGluIGNzLWF2YXRhcigkbW9kaWZpZXI6IG51bGwpIHtcbiAgLy8gRGVmYXVsdCBzdHlsZVxuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgQGluY2x1ZGUgY3MtYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2lkdGg6IGNzLXJlbSgzMnB4KTtcbiAgICBoZWlnaHQ6IGNzLXJlbSgzMnB4KTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIGNzLWJvcmRlci1yYWRpdXMoMTAwJSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgJjpub3QoW2RhdGEtdG9nZ2xlPVwiYXZhdGFyXCJdKSB7XG4gICAgICAgIHBhZGRpbmc6IGNzLXJlbSgxcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gICAgICAgIGJvcmRlcjogY3MtcmVtKDJweCkgc29saWQgJGNzLWNvbG9yLXRlYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiY2VydGlmaWVkXCIge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogY3MtcmVtKC02cHgpO1xuICAgICAgYm90dG9tOiBjcy1yZW0oLTZweCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBjcy1yZW0oMjRweCk7XG4gICAgICBoZWlnaHQ6IGNzLXJlbSgyNHB4KTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGNzLWF2YXRhci1sb2dvLXVybCk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgIHdpZHRoOiBjcy1yZW0oNjRweCk7XG4gICAgaGVpZ2h0OiBjcy1yZW0oNjRweCk7XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJzbWFsbFwiIHtcbiAgICB3aWR0aDogY3MtcmVtKDI0cHgpO1xuICAgIGhlaWdodDogY3MtcmVtKDI0cHgpO1xuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwibGFyZ2VcIiB7XG4gICAgd2lkdGg6IGNzLXJlbSg2NHB4KTtcbiAgICBoZWlnaHQ6IGNzLXJlbSg2NHB4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1hdmF0YXJzKCRuYW1lOiAkY3MtYXZhdGFyLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLWF2YXRhcnMtbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtYXZhdGFyKCk7XG5cbiAgICAvLyBDZXJ0aWZpZWQgTW9kaWZpZXJcbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJjZXJ0aWZpZWRcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tY2VydGlmaWVkIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtYXZhdGFyKFwiY2VydGlmaWVkXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpemUgbW9kaWZpZXJzXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwic21hbGxcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tc21hbGwge1xuICAgICAgICBAaW5jbHVkZSBjcy1hdmF0YXIoXCJzbWFsbFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJsYXJnZVwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1sYXJnZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWF2YXRhcihcImxhcmdlXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL2F0b21zL21peGlucy9jbG9zZVwiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG4kY3MtdGFnLXNlbGVjdG9yOiBcInRhZ1wiICFkZWZhdWx0O1xuJGNzLXRhZy1mb250LXNpemU6IDEzcHggIWRlZmF1bHQ7XG4vLyBJbmxpbmUgZWxlbWVudHMgaW5jbHVkZSBzb21lIGRlZmF1bHQgc3BhY2luZywgc28gdGhlIGhvcml6b250YWwgc2VwYXJhdGlvblxuLy8gY2FuIG5vdCBiZSA4cHgsIGl0IGhhcyB0byBiZSA1cHggaW5zdGVhZC5cbiRjcy10YWctc3BhY2VyLWhvcjogNXB4ICFkZWZhdWx0O1xuJGNzLXRhZy1zcGFjZXItdmVyOiAkY3Mtc3BhY2VyLXRpbnkgIWRlZmF1bHQ7XG4kY3MtdGFnLWJnLWNvbG9yOiAkY3MtZ3JheS1mb2cgIWRlZmF1bHQ7XG4kY3MtdGFnLWJnLWNvbG9yLWhvdmVyOiAkY3MtZ3JheS1zaWx2ZXIgIWRlZmF1bHQ7XG4kY3MtdGFnLWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiRjcy10YWctY29sb3I6ICRjcy1ncmF5LWNoYXJjb2FsICFkZWZhdWx0O1xuJGNzLXRhZy1jbG9zZS1zcGFjZXItbGVmdDogNnB4ICFkZWZhdWx0O1xuJGNzLXRhZy1jbG9zZS1mb250LXNpemU6IDExcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBtaXhpbnNcbi8vXG5cbkBtaXhpbiBjcy10YWcoJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkY3MtdGFnLWZvbnQtc2l6ZSwgMSk7XG4gICAgQGluY2x1ZGUgY3MtYm9yZGVyLXJhZGl1cygkY3MtYm9yZGVyLXJhZGl1cyk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6ICRjcy1zcGFjZXItdGlueSAkY3Mtc3BhY2VyLWJhc2U7XG4gICAgbWFyZ2luLXJpZ2h0OiBjcy1yZW0oJGNzLXRhZy1zcGFjZXItaG9yKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjcy1yZW0oJGNzLXRhZy1zcGFjZXItdmVyKTtcbiAgICBjb2xvcjogJGNzLXRhZy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtdGFnLWJnLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgY3MtaG92ZXIge1xuICAgICAgY29sb3I6ICRjcy10YWctY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtdGFnLWJnLWNvbG9yLWhvdmVyO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgY3MtdGFiLWZvY3VzO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwiY2xvc2VcIikge1xuICAgIEBpbmNsdWRlIGNzLW1ha2UtdHJhbnNpdGlvbihcImZhZGVcIik7XG4gICAgcGFkZGluZy1yaWdodDogJGNzLXNwYWNlci10aW55O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKCRjcy10YWctY2xvc2UtZm9udC1zaXplLCAxKTtcbiAgICAgIEBpbmNsdWRlIGNzLWNsb3NlLWljb247XG4gICAgICBtYXJnaW4tbGVmdDogY3MtcmVtKCRjcy10YWctY2xvc2Utc3BhY2VyLWxlZnQpO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtYnVpbGQtdGFncygkbmFtZTogJGNzLXRhZy1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS10YWdzLW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLXRhZztcblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImNsb3NlXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWNsb3NlLFxuICAgICAgJltkYXRhLWRpc21pc3M9XCJ0YWdcIl0ge1xuICAgICAgICBAaW5jbHVkZSBjcy10YWcoXCJjbG9zZVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7IC8vIGltcG9ydCBmaXJzdFxuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL3NlbGVjdG9yc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9zcGFjaW5nXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL2ZvbnRTaXplXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL3RyYW5zaXRpb25cIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvX3NoYWRvd3MubWl4aW4uc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uL2F0b21zL21peGlucy9oZWFkaW5nc1wiO1xuQGltcG9ydCBcImNzLWljb25zL3NyYy9zY3NzL2dsb2JhbC9nbG9iYWwubWl4aW5cIjtcblxuLy9cbi8vIEFjY29yZGlvbiBzZXR0aW5nc1xuLy9cblxuJGNzLWFjY29yZGlvbi1zZWxlY3RvcjogXCJhY2NvcmRpb25cIiAhZGVmYXVsdDtcbiRjcy1hY2NvcmRpb24taGVhZGVyLWFycm93LW9wZW5lZDogXCJcXGYxMDRcIiAhZGVmYXVsdDtcbiRjcy1hY2NvcmRpb24taGVhZGVyLWFycm93LWNvbGxhcHNlZDogXCJcXGYxMDZcIiAhZGVmYXVsdDtcbiRjcy1hY2NvcmRpb24taGVhZGVyLWFycm93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEJsb2NrIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtYWNjb3JkaW9uKCRtb2RpZmllcjogbnVsbCkge1xuICAvLyBEZWZhdWx0IHN0eWxpbmdcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgICYgKyAmIHtcbiAgICAgIEBpbmNsdWRlIGNzLXNwYWNlcihtYXJnaW4tdG9wLCBtZWRpdW0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdyb3VwIG1vZGlmaWVyXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImdyb3VwXCIge1xuICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLXJpZ2h0LCBiYXNlKTtcbiAgICBAaW5jbHVkZSBjcy1zcGFjZXIocGFkZGluZy1sZWZ0LCBiYXNlKTtcbiAgICBAaW5jbHVkZSBjcy1ib3gtc2hhZG93KG1hcC1nZXQoJGNzLXNoYWRvdywgc2hhZG93KSk7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY3MtZ3JheS1zaWx2ZXI7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW5zXG4vL1xuXG5AbWl4aW4gY3MtYWNjb3JkaW9uX19ncm91cC10aXRsZSgkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIEBpbmNsdWRlIGNzLWhlYWRpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBjcy1zcGFjZXIocGFkZGluZywgKHhzOiBtZWRpdW0gMXB4IGJhc2UsIHNtOiBtZWRpdW0gYmFzZSBiYXNlKSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY3MtYWNjb3JkaW9uX19pdGVtKCRtb2RpZmllcjogbnVsbCkge1xuICAkc2VsZWN0b3I6IGNzLXNlbGVjdG9yKCk7XG5cbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLCAoeHM6IDFweCBiYXNlLCBzbTogMXB4IGxhcmdlKSk7XG4gICAgQGluY2x1ZGUgY3MtYm94LXNoYWRvdyhtYXAtZ2V0KCRjcy1zaGFkb3csIHNoYWRvdykpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcblxuICAgICYgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGluY2x1ZGUgY3Mtc3BhY2VyKG1hcmdpbi10b3AsIG1lZGl1bSk7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZ3JvdXBcIiB7XG4gICAgQGluY2x1ZGUgY3Mtc3BhY2VyKHBhZGRpbmcsICh4czogMXB4LCBzbTogMXB4IGJhc2UpKTtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmICsgI3skc2VsZWN0b3J9IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNzLWdyYXktc2lsdmVyO1xuICAgIH1cblxuICAgIC8vIHJlc2V0IHNoYWRvd3NcbiAgICAmLFxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBjcy1hY2NvcmRpb25fX2hlYWRlcigkbW9kaWZpZXI6IG51bGwpIHtcbiAgJHNlbGVjdG9yOiBjcy1zZWxlY3RvcigpO1xuXG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBAaW5jbHVkZSBjcy1zcGFjZXIocGFkZGluZy10b3AsIGJhc2UpO1xuICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLWJvdHRvbSwgYmFzZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgPiAqIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gU3R5bGVzIHRoZSBhY2NvcmRpb24gaGVhZGVyIHRpdGxlIGFuZCBpY29uc1xuICAgIEBpZiAkY3MtZW5hYmxlLWhlYWRpbmdzLXRhZ3Mge1xuICAgICAgaDEsXG4gICAgICBoMixcbiAgICAgIGgzLFxuICAgICAgaDQsXG4gICAgICBoNSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXG4gICAgICAgICYuaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6ICRjcy1zcGFjZXItbGFyZ2U7XG4gICAgICAgIH1cblxuICAgICAgICA+IGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAkY3Mtc3BhY2VyLWxhcmdlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb246OmJlZm9yZSxcbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJGNzLXNwYWNlci1iYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pbmZvIHtcbiAgICAgIGZsZXg6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoI3skY3Mtc3BhY2VyLWJhc2V9ICsgI3skY3MtYWNjb3JkaW9uLWhlYWRlci1hcnJvdy1zaXplfSk7IC8vIGFsbG93IHNwYWNpbmcgdG8gYXJyb3cgaWNvblxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAmLWFycm93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbGV4OiAwO1xuICAgICAgY29sb3I6ICRjcy1jb2xvci1saW1lO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC01MCUpO1xuICAgICAgQGluY2x1ZGUgY3MtaWNvbi1nbG9iYWwoXCJhcnJvdy1kb3duXCIsICRjcy1hY2NvcmRpb24taGVhZGVyLWFycm93LXNpemUpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjcy10cmFuc2l0aW9uKHRyYW5zZm9ybSAuMnMgZWFzZSk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4wOHM7XG5cbiAgICAgICAgQGluY2x1ZGUgY3MtYXQtcm9vdCh1bnF1b3RlKFwiLiN7JGNzLW5zfWNvbGxhcHNlZFwiKSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImdyb3VwXCIge1xuICAgIGgzLFxuICAgICY6bm90KC4jeyRjcy1uc31jbG9zZSkge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGNzLWFjY29yZGlvbl9fYm9keSgkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLWJvdHRvbSwgXCJtZWRpdW1cIik7XG4gICAgfVxuXG4gICAgJi4jeyRjcy1uc31jb2xsYXBzZSB7XG4gICAgICAmOm5vdCguI3skY3MtbnN9c2hvdykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuI3skY3MtbnN9Y29sbGFwc2luZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgY3MtdHJhbnNpdGlvbihoZWlnaHQgLjVzIGVhc2UpO1xuICAgIH1cblxuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5zXG4vL1xuXG5AbWl4aW4gY3MtYnVpbGQtYWNjb3JkaW9ucygkbmFtZTogJGNzLWFjY29yZGlvbi1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1hY2NvcmRpb25zLW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWFjY29yZGlvbigpO1xuXG4gICAgLy8gRWxlbWVudHNcbiAgICAmX19ncm91cC10aXRsZSB7XG4gICAgICBAaW5jbHVkZSBjcy1hY2NvcmRpb25fX2dyb3VwLXRpdGxlKCk7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBjcy1hY2NvcmRpb25fX2l0ZW0oKTtcbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgY3MtYWNjb3JkaW9uX19oZWFkZXIoKTtcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgIEBpbmNsdWRlIGNzLWFjY29yZGlvbl9fYm9keSgpO1xuICAgIH1cblxuICAgIC8vIE1vZGlmaWVyc1xuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImdyb3VwXCIsICRtb2RpZmllcnMpIHtcblxuICAgICAgJi0tZ3JvdXAge1xuICAgICAgICBAaW5jbHVkZSBjcy1hY2NvcmRpb24oXCJncm91cFwiKTtcblxuICAgICAgICAuI3skY3MtbnN9I3skbmFtZX1fX2l0ZW0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLWFjY29yZGlvbl9faXRlbShcImdyb3VwXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JGNzLW5zfSN7JG5hbWV9X19oZWFkZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLWFjY29yZGlvbl9faGVhZGVyKFwiZ3JvdXBcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvc2hhZG93cy5taXhpblwiO1xuQGltcG9ydCBcImNzLWljb25zL3NyYy9zY3NzL2dsb2JhbC9nbG9iYWwubWl4aW5cIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuJGNzLWRyb3Bkb3duLXNlbGVjdG9yOiBcImRyb3Bkb3duXCIgIWRlZmF1bHQ7XG4kY3MtZHJvcGRvd24tbWF4LXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJGNzLWRyb3Bkb3duLXRvZ2dsZS1tYXgtd2lkdGg6IDI2MHB4ICFkZWZhdWx0O1xuJGNzLWRyb3Bkb3duLWFycm93LXNwYWNlcjogNDJweCAhZGVmYXVsdDsgLy8gYmFzZSAqIDIgKyBhcnJvdyB3aWR0aFxuJGNzLWRyb3Bkb3duLWFycm93LXNpemU6IDEwcHggIWRlZmF1bHQ7XG4kY3MtZHJvcGRvd24tYXJyb3ctaGVpZ2h0OiA2cHggIWRlZmF1bHQ7XG4kY3MtZHJvcGRvd24tbWVudS16LWluZGV4OiAkY3MtemluZGV4LWRyb3Bkb3duICFkZWZhdWx0O1xuJGNzLWRyb3Bkb3duLW1lbnUtbWluLXdpZHRoOiAxODJweCAhZGVmYXVsdDtcbiRjcy1kcm9wZG93bi1tZW51LW1heC13aWR0aDogMjYwcHggIWRlZmF1bHQ7XG4kY3MtZHJvcGRvd24tbWVudS1tYXgtaGVpZ2h0OiAyNDBweCAhZGVmYXVsdDtcbiRjcy1kcm9wZG93bi1tZW51LXNwYWNlcjogJGNzLXNwYWNlci10aW55IDAgIWRlZmF1bHQ7XG4kY3MtZHJvcGRvd24tbWVudS1pdGVtLWhvdmVyOiAkY3MtZ3JheS1mb2cgIWRlZmF1bHQ7XG4kY3MtZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yOiAkY3MtY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG4kY3MtZHJvcGRvd24tbWVudS1pdGVtLWFjdGl2ZTogJGNzLWJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBtaXhpbnNcbi8vXG5cbkBtaXhpbiBjcy1kcm9wZG93bigkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiBjcy1yZW0oJGNzLWRyb3Bkb3duLW1heC13aWR0aCk7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9IFwiYmxvY2tcIikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLy8gTWFrZSBkcm9wZG93bl9fdG9nZ2xlIGFuZCBkcm9wZG93bl9fbWVudSBmdWxsIHdpZHRoIHdoZW4gb24gYmxvY2sgbW9kZS5cbiAgICAuI3skY3MtbnN9I3skY3MtZHJvcGRvd24tc2VsZWN0b3J9IHtcbiAgICAgICZfX3RvZ2dsZSxcbiAgICAgICZfX21lbnUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW5zXG4vL1xuXG5AbWl4aW4gY3MtZHJvcGRvd25fX292ZXJsYXkoKSB7XG4gICRzZWxlY3RvcjogY3Mtc2VsZWN0b3IoKTtcblxuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRjcy1kcm9wZG93bi1tZW51LXotaW5kZXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjcy1jb2xvci1ibGFjaztcbiAgb3BhY2l0eTogLjU7XG5cbiAgLy8gT25seSBzaG93IHRoZSBvdmVybGF5IHdoZW4gdGhlIGRyb3Bkb3duIGlzIG9wZW5lZCwgaWUsIGhhcyBzaG93IGNsYXNzLlxuICBAaW5jbHVkZSBjcy1hdC1yb290KFwiLiN7JGNzLW5zfSN7JGNzLWRyb3Bkb3duLXNlbGVjdG9yfS5zaG93XCIpIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbn1cblxuQG1peGluIGNzLWRyb3Bkb3duX190b2dnbGUoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiBjcy1yZW0oJGNzLWRyb3Bkb3duLXRvZ2dsZS1tYXgtd2lkdGgpO1xuICBwYWRkaW5nLXJpZ2h0OiBjcy1yZW0oJGNzLWRyb3Bkb3duLWFycm93LXNwYWNlcik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gIC8vIHRvZ2dsZSBhcnJvd1xuICBAaW5jbHVkZSBjcy1pY29uLWdsb2JhbChcImNhcmV0LWRvd25cIiwgJGNzLWRyb3Bkb3duLWFycm93LXNpemUsIFwiYWZ0ZXJcIikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gI3tjcy1yZW0oJGNzLWRyb3Bkb3duLWFycm93LXNpemUgLyAyKX0pO1xuICAgIHJpZ2h0OiBjcy1yZW0oJGNzLXNwYWNlci1iYXNlKTtcbiAgfVxuXG4gIC8vIE9ubHkgYXBwbHkgei1pbmRleCB3aGVuIHRoZSBkcm9wZG93biBpcyBvcGVuZWQsIGllLCBoYXMgc2hvdyBjbGFzcy5cbiAgQGluY2x1ZGUgY3MtYXQtcm9vdChcIi4jeyRjcy1uc30jeyRjcy1kcm9wZG93bi1zZWxlY3Rvcn0uc2hvd1wiKSB7XG4gICAgei1pbmRleDogJGNzLWRyb3Bkb3duLW1lbnUtei1pbmRleCArIDE7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGNzLWRyb3Bkb3duX19tZW51KCkge1xuICBAaW5jbHVkZSBjcy1zaGFkb3c7XG4gIEBpbmNsdWRlIGNzLWJvcmRlci1yYWRpdXMoNHB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IGNzLXJlbSgkY3MtZHJvcGRvd24tbWVudS1taW4td2lkdGgpO1xuICBtYXgtd2lkdGg6IGNzLXJlbSgkY3MtZHJvcGRvd24tbWVudS1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiBjcy1yZW0oJGNzLWRyb3Bkb3duLW1lbnUtbWF4LWhlaWdodCk7XG4gIHBhZGRpbmc6ICRjcy1kcm9wZG93bi1tZW51LXNwYWNlcjtcbiAgbWFyZ2luOiAkY3Mtc3BhY2VyLXRpbnkgMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgY29sb3I6ICRjcy1kcm9wZG93bi1tZW51LWl0ZW0tY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjcy1jb2xvci13aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNzLWdyYXktZm9nO1xuXG4gICYuc2hvdyB7XG4gICAgei1pbmRleDogJGNzLWRyb3Bkb3duLW1lbnUtei1pbmRleCArIDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGNzLWRyb3Bkb3duX19pdGVtKCkge1xuICAmLFxuICAmID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGNzLXNwYWNlci10aW55ICRjcy1zcGFjZXItYmFzZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY3MtZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGNzLWhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRjcy1kcm9wZG93bi1tZW51LWl0ZW0tY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtZHJvcGRvd24tbWVudS1pdGVtLWhvdmVyO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkY3MtZ3JheS1zdGVlbDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkY3MtZHJvcGRvd24tbWVudS1pdGVtLWFjdGl2ZTtcbiAgICB9XG5cbiAgICBsYWJlbFtmb3JdIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogJGNzLXNwYWNlci10aW55O1xuICAgIH1cbiAgfVxuXG4gICYgPiBhIHtcbiAgICBtYXJnaW4tdG9wOiAtKCRjcy1zcGFjZXItdGlueSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAtKCRjcy1zcGFjZXItYmFzZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogLSgkY3Mtc3BhY2VyLXRpbnkpO1xuICAgIG1hcmdpbi1sZWZ0OiAtKCRjcy1zcGFjZXItYmFzZSk7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGNzLWRyb3Bkb3duX19kaXZpZGVyKCkge1xuICBtYXJnaW46ICRjcy1zcGFjZXItdGlueSAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNzLWdyYXktc2lsdmVyO1xufVxuXG5AbWl4aW4gY3MtZHJvcGRvd25fX2hlYWRlcigpIHtcbiAgQGluY2x1ZGUgY3MtZm9udC1zaXplKDE0cHgsIDEpO1xuICBwYWRkaW5nOiAkY3Mtc3BhY2VyLXRpbnkgJGNzLXNwYWNlci1iYXNlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1kcm9wZG93bnMoJG5hbWU6ICRjcy1kcm9wZG93bi1zZWxlY3Rvcikge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWRyb3Bkb3duO1xuXG4gICAgJi0tYmxvY2sge1xuICAgICAgQGluY2x1ZGUgY3MtZHJvcGRvd24oXCJibG9ja1wiKTtcbiAgICB9XG5cbiAgICAmX190b2dnbGUge1xuICAgICAgQGluY2x1ZGUgY3MtZHJvcGRvd25fX3RvZ2dsZTtcbiAgICB9XG5cbiAgICAmX19vdmVybGF5IHtcbiAgICAgIEBpbmNsdWRlIGNzLWRyb3Bkb3duX19vdmVybGF5O1xuICAgIH1cblxuICAgICZfX21lbnUge1xuICAgICAgQGluY2x1ZGUgY3MtZHJvcGRvd25fX21lbnU7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBjcy1kcm9wZG93bl9faXRlbTtcbiAgICB9XG5cbiAgICAmX19kaXZpZGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzLWRyb3Bkb3duX19kaXZpZGVyO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICBAaW5jbHVkZSBjcy1kcm9wZG93bl9faGVhZGVyO1xuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcblxuQGltcG9ydCBcIi4uLy4uL2F0b21zL21peGlucy9mb3JtQ29udHJvbC5taXhpblwiO1xuQGltcG9ydCBcIi4uLy4uL2F0b21zL21peGlucy9mb3JtQ29udHJvbENoZWNrYm94Lm1peGluXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cblxuJGNzLWZvcm0tdmFsaWRhdGVkLXNlbGVjdG9yOiBcImZvcm0tdmFsaWRhdGVkXCIgIWRlZmF1bHQ7XG5cbiRjcy1mb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICRjcy1zcGFjZXItYmFzZSAhZGVmYXVsdDtcbiRjcy1mb3JtLWdyb3VwLXNlbGVjdG9yOiBcImZvcm0tZ3JvdXBcIiAhZGVmYXVsdDtcblxuXG4vL1xuLy8gTWl4aW5zXG4vL1xuXG4vL1xuLy8gQmxvY2sgbWl4aW4gdG8gY3JlYXRlIGZvcm0gZ3JvdXAgc3R5bGVzLlxuLy9cbkBtaXhpbiBjcy1mb3JtLWdyb3VwKCkge1xuICBtYXJnaW4tYm90dG9tOiAkY3MtZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gTWl4aW4gdG8gc3R5bGUgdmFsaWRhdGVkIGZvcm0gY29udHJvbHMgdXNpbmcgdGhlIDppbnZhbGlkIHNlbGVjdG9yLlxuLy9cbkBtaXhpbiBjcy1mb3JtLXZhbGlkYXRlZCgpIHtcbiAgLiN7JGNzLW5zfWZvcm0tY29udHJvbCB7XG4gICAgJjppbnZhbGlkIHtcbiAgICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgJjppbnZhbGlkIHtcbiAgICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtY2hlY2staW52YWxpZDtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluc1xuLy9cblxuQG1peGluIGNzLWJ1aWxkLWZvcm0tdmFsaWRhdGVkKCRuYW1lOiAkY3MtZm9ybS12YWxpZGF0ZWQtc2VsZWN0b3IpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1mb3JtLXZhbGlkYXRlZDtcblxuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBjcy1idWlsZC1mb3JtLWdyb3VwKCRuYW1lOiAkY3MtZm9ybS1ncm91cC1zZWxlY3Rvcikge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWZvcm0tZ3JvdXA7XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL3NwYWNpbmdcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvcmVtXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL21vZHVsYXJzY2FsZVwiO1xuQGltcG9ydCBcIi4uLy4uL2F0b21zL21peGlucy9saW5rc1wiO1xuQGltcG9ydCBcIi4uLy4uL2F0b21zL21peGlucy9idXR0b25zXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cbiRjcy1oZXJvLXNlbGVjdG9yOiBcImhlcm9cIiAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIG1peGluXG4vL1xuQG1peGluIGNzLWhlcm8oJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBAaW5jbHVkZSBjcy1zcGFjZXIocGFkZGluZywgbGFyZ2UpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiA0MHZoO1xuICAgIG1pbi1oZWlnaHQ6IGNzLXJlbSgzMDBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcbiAgICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMDNzIGVhc2UsIG1hcmdpbi1sZWZ0IC4wM3MgZWFzZSwgaGVpZ2h0IC4wM3MgZWFzZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAuMSksIHJnYmEoMCwgMCwgMCwgLjQ1KSwgcmdiYSgwLCAwLCAwLCAuNSkpO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJzbGltXCIpIHtcbiAgICBoZWlnaHQ6IDMwdmg7XG4gICAgbWluLWhlaWdodDogY3MtcmVtKDI1MHB4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbnNcbi8vXG5cbkBtaXhpbiBjcy1oZXJvX19hcnQoJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIC8vIHJlc2V0c1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwidG9wXCIge1xuICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiYm90dG9tXCIge1xuICAgIG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG59XG5cbkBtaXhpbiBjcy1oZXJvX19jb250ZW50KCkge1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwibWRcIikge1xuICAgIG1heC13aWR0aDogNjUlO1xuICB9XG5cbiAgLy8gQWRqdXN0IHZlcnRpY2FsIGNlbnRlcmluZyB3aXRoIGRpc3BsYXkgZm9udHNpemVcbiAgLy8gbXVsdGlwbGllZCBieSB0aGUgaGVhZGluZyBsaW5lIGhlaWdodCB2YWx1ZXMuXG4gIEBpZiB0eXBlLW9mKCRjcy1kaXNwbGF5LTEtc2l6ZSkgPT0gXCJtYXBcIiB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICRzaXplIGluICRjcy1kaXNwbGF5LTEtc2l6ZSB7XG4gICAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgICRfZGlzcGxheV9zaXplOiBpZihub3QgdW5pdCgkc2l6ZSksIGNzLXJlbSgkc2l6ZSksIGNzLW1vZHVsYXJzY2FsZSgkc2l6ZSkpO1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JF9kaXNwbGF5X3NpemV9IC0gI3skY3Mtc3BhY2VyLW1lZGl1bX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJF9kaXNwbGF5X3NpemU6IGlmKG5vdCB1bml0KCRjcy1kaXNwbGF5LTEtc2l6ZSksIGNzLXJlbSgkY3MtZGlzcGxheS0xLXNpemUpLCBjcy1tb2R1bGFyc2NhbGUoJGNzLWRpc3BsYXktMS1zaXplKSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygjeyRfZGlzcGxheV9zaXplfSAtICN7JGNzLXNwYWNlci1tZWRpdW19KTtcbiAgfVxufVxuXG5AbWl4aW4gY3MtaGVyb19fYW5jaG9yKCkge1xuICBAaW5jbHVkZSBjcy1zcGFjZXIobWFyZ2luLXRvcCwgbWVkaXVtKTtcbiAgei1pbmRleDogMTtcbiAgZmxleDogMCAwIGF1dG87XG5cbiAgLy8gc3R5bGUgbGluayBjb2xvclxuICBhLiN7JGNzLW5zfSN7JGNzLWxpbmstc2VsZWN0b3J9IHtcbiAgICBjb2xvcjogJGNzLWNvbG9yLXdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogJGNzLWNvbG9yLXdoaXRlO1xuICB9XG59XG5cbkBtaXhpbiBjcy1oZXJvX19hY3Rpb25zKCkge1xuICAkX2J0bi1zZWxlY3RvcjogI3skY3MtbnN9I3skY3MtYnV0dG9uLXNlbGVjdG9yfTtcbiAgLiN7JF9idG4tc2VsZWN0b3J9ICsgLiN7JF9idG4tc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSBjcy1zcGFjZXIobWFyZ2luLWxlZnQsIG1lZGl1bSk7XG4gIH1cbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuQG1peGluIGNzLWJ1aWxkLWhlcm9lcygkbmFtZTogJGNzLWhlcm8tc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtaGVyb2VzLW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWhlcm8oKTtcblxuICAgICZfX2FydCB7XG4gICAgICBAaW5jbHVkZSBjcy1oZXJvX19hcnQoKTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGNzLWhlcm9fX2NvbnRlbnQoKTtcbiAgICB9XG5cbiAgICAmX19hbmNob3Ige1xuICAgICAgQGluY2x1ZGUgY3MtaGVyb19fYW5jaG9yKCk7XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICBAaW5jbHVkZSBjcy1oZXJvX19hY3Rpb25zKCk7XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwic2xpbVwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1zbGltIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtaGVybyhcInNsaW1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwidG9wXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLXRvcCAmX19hcnQge1xuICAgICAgICBAaW5jbHVkZSBjcy1oZXJvX19hcnQoXCJ0b3BcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiYm90dG9tXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWJvdHRvbSAmX19hcnQge1xuICAgICAgICBAaW5jbHVkZSBjcy1oZXJvX19hcnQoXCJib3R0b21cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9jb2xvcnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9nbG9iYWxzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29uZmlndXJhdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3ppbmRleFwiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9ib3hTaGFkb3dcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvZm9udFNpemVcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9zZWxlY3RvcnNcIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3MtbW9kYWwtc2VsZWN0b3I6IFwibW9kYWxcIiAhZGVmYXVsdDtcbiRjcy1tb2RhbC1vdmVybGF5LW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuJGNzLW1vZGFsLXdpZHRoOiA1NzZweCAhZGVmYXVsdDtcbiRjcy1tb2RhbC10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJGNzLW1vZGFsLWZhZGUtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJGNzLW1vZGFsLXNob3ctdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGNzLW1vZGFsLWRpYWxvZy1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKCRjcy1jb2xvci1ibGFjaywgLjIpICFkZWZhdWx0O1xuJGNzLW1vZGFsLWRpYWxvZy1tYXJnaW4teTogMTQwcHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBNaXhpbnNcbi8vXG5cbi8vXG4vLyBNYWluIG1peGluIHRvIGNyZWF0ZSBtb2RhbCBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3MtbW9kYWwoJG1vZGFsLXNlbGVjdG9yOiAkY3MtbW9kYWwtc2VsZWN0b3IsICRtb2RpZmllcjogbnVsbCkge1xuICAkc2VsZWN0b3I6IGNzLXNlbGVjdG9yKCk7XG5cbiAgLy8gRGVmYXVsdFxuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkY3MtemluZGV4LW1vZGFsO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIFdlIGRlbGliZXJhdGVseSBkb25cInQgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAgIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAgIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcblxuICAgIC8vIFRoaXMgaXMgc2V0IGhlcmUgdG8gZW5zdXJlIG1vZGFsIHBhcmVudCBpcyBub3Qgc2Nyb2xsYWJsZVxuICAgIEBhdC1yb290ICN7JHNlbGVjdG9yfS1vcGVuIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJtZWRpYVwiKSB7XG4gICAgLiN7JGNzLW5zfSN7JG1vZGFsLXNlbGVjdG9yfSB7XG4gICAgICAmX19kaWFsb2cge1xuICAgICAgICBAaW5jbHVkZSBjcy1tb2RhbF9fZGlhbG9nKFwibWVkaWFcIik7XG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19oZWFkZXIoXCJtZWRpYVwiKTtcbiAgICAgIH1cblxuICAgICAgJl9fc3ViLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX3N1Yi10aXRsZSgpO1xuICAgICAgfVxuXG4gICAgICAmX19ib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX2JvZHkoJG1vZGFsLXNlbGVjdG9yLCBcIm1lZGlhXCIpO1xuICAgICAgfVxuXG4gICAgICAmX19tZWRpYSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19tZWRpYSgpO1xuICAgICAgfVxuXG4gICAgICAmX19tZWRpYS1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX21lZGlhLWluZm8oJG1vZGFsLXNlbGVjdG9yKTtcbiAgICAgIH1cblxuICAgICAgJl9fbWVkaWEtaW5mby10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX21lZGlhLWluZm8tdGV4dCgpO1xuICAgICAgfVxuXG4gICAgICAmX19tZWRpYS1pbmZvLWFjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19tZWRpYS1pbmZvLWFjdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIE1haW4gbWl4aW4gdG8gY3JlYXRlIG1vZGFsLWJhY2tkcm9wIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1tb2RhbC1iYWNrZHJvcCgkbW9kaWZpZXI6IG51bGwpIHtcbiAgLy8gRGVmYXVsdFxuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkY3MtemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWNvbG9yLWJsYWNrO1xuXG4gICAgJi4jeyRjcy1uc31mYWRlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJi4jeyRjcy1uc31zaG93IHtcbiAgICAgIG9wYWNpdHk6ICRjcy1tb2RhbC1vdmVybGF5LW9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgLy8gRXJyb3JcbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIHRoZSBkaWFsb2cgZWxlbWVudCBvZiBhIG1vZGFsLlxuLy9cbkBtaXhpbiBjcy1tb2RhbF9fZGlhbG9nKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgICAvLyBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gICAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICBAaW5jbHVkZSBjcy1hdC1yb290KFwiLiN7JGNzLW5zfWZhZGVcIikge1xuICAgICAgQGluY2x1ZGUgY3MtdHJhbnNpdGlvbigkY3MtbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgICB0cmFuc2Zvcm06ICRjcy1tb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjcy1hdC1yb290KFwiLiN7JGNzLW5zfXNob3dcIikge1xuICAgICAgdHJhbnNmb3JtOiAkY3MtbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcInNtXCIpIHtcbiAgICAgIC8vIEBtZWRpYSAobWluLXdpZHRoOiA2MjRweCkge1xuICAgICAgQGluY2x1ZGUgY3MtYm94LXNoYWRvdygkY3MtbW9kYWwtZGlhbG9nLXNoYWRvdyk7XG4gICAgICB3aWR0aDogY3MtcmVtKCRjcy1tb2RhbC13aWR0aCk7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IGNzLXJlbSgkY3MtbW9kYWwtZGlhbG9nLW1hcmdpbi15KSBhdXRvIDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY3MtZ3JheS1zaWx2ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3MtYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAuI3skY3MtbnN9Y2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkY3Mtc3BhY2VyLWJhc2U7XG4gICAgICByaWdodDogJGNzLXNwYWNlci1iYXNlO1xuICAgICAgei1pbmRleDogJGNzLXppbmRleC1tb2RhbDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImZ1bGxcIiB7XG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcIm1kXCIpIHtcbiAgICAgIEBpbmNsdWRlIGNzLWJveC1zaGFkb3cobm9uZSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJtZWRpYVwiKSB7XG4gICAgY29sb3I6ICRjcy1jb2xvci13aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtY29sb3ItYmxhY2s7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcInNtXCIpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBBTkQgKG1heC13aWR0aDogY3MtYnJlYWtwb2ludC1tYXgoXCJtZFwiKSkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwibGdcIikge1xuICAgICAgd2lkdGg6IDgzJTtcbiAgICAgIG1heC13aWR0aDogMTA0MnB4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gc3R5bGUgdGhlIGhlYWRlciBlbGVtZW50IG9mIGEgbW9kYWwuXG4vL1xuQG1peGluIGNzLW1vZGFsX19oZWFkZXIoJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAkY3Mtc3BhY2VyLWxhcmdlICRjcy1zcGFjZXItbWVkaXVtICRjcy1zcGFjZXItYmFzZTtcbiAgICBjb2xvcjogJGNzLWJyYW5kLWJsYWNrO1xuXG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcIm1kXCIpIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNzLXJlbSgkY3MtYm9yZGVyLXJhZGl1cyk7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY3MtcmVtKCRjcy1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZGFya1wiIHtcbiAgICBjb2xvcjogJGNzLWNvbG9yLXdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1icmFuZC1ibGFjaztcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwibWVkaWFcIikge1xuICAgIGNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG5cbiAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIEFORCAobWF4LXdpZHRoOiBjcy1icmVha3BvaW50LW1heChcIm1kXCIpKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJmdWxsXCIge1xuICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJtZFwiKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gc3R5bGUgdGhlIHN1Yi10aXRsZSBlbGVtZW50IG9mIGEgbW9kYWwuXG4vL1xuQG1peGluIGNzLW1vZGFsX19zdWItdGl0bGUoKSB7XG4gIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgxM3B4KTtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogY3MtcmVtKCRjcy1zcGFjZXItdGlueSk7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBzdHlsZSB0aGUgdGl0bGUgZWxlbWVudCBvZiBhIG1vZGFsLlxuLy9cbkBtaXhpbiBjcy1tb2RhbF9fdGl0bGUoKSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjcy1zcGFjZXItbWVkaXVtO1xuICBtYXJnaW46IDAgYXV0byAwIDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBzdHlsZSB0aGUgc2hhcmUgZWxlbWVudCBvZiBhIG1vZGFsLlxuLy9cbkBtaXhpbiBjcy1tb2RhbF9fc2hhcmUoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICRjcy1zcGFjZXItbWVkaXVtO1xuICBib3R0b206ICRjcy1zcGFjZXItYmFzZTtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwic21cIikge1xuICAgIGZvbnQtc2l6ZTogJGNzLWZvbnQtc2l6ZS1iYXNlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNzLXNwYWNlci10aW55O1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBzdHlsZSB0aGUgYm9keSBlbGVtZW50IG9mIGEgbW9kYWwuXG4vL1xuQG1peGluIGNzLW1vZGFsX19ib2R5KCRtb2RhbC1zZWxlY3RvcjogJGNzLW1vZGFsLXNlbGVjdG9yLCAkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6ICRjcy1zcGFjZXItbWVkaXVtO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcIm1lZGlhXCIpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwic21cIikge1xuICAgICAgZmxleDogdW5zZXQ7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGNzLXNwYWNlci1tZWRpdW07XG4gICAgfVxuXG4gICAgQG1lZGlhIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBBTkQgKG1heC13aWR0aDogY3MtYnJlYWtwb2ludC1tYXgoXCJtZFwiKSkge1xuICAgICAgbWFyZ2luLXRvcDogJGNzLXNwYWNlci1tZWRpdW07XG4gICAgfVxuXG4gICAgLy8gVGhpcyBpcyBnb2luZyB0byBhcHBseSBmb3IgXCJsZ1wiIGFuZCB1cCBvciBmb3IgbGFuZHNjYW5wZSB1cCB0byBcIm1kXCIuXG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cC1sYW5kc2NhcGUoXCJsZ1wiLCBcIm1kXCIpIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gc3R5bGUgdGhlIG1lZGlhIGVsZW1lbnQgb2YgYSBtb2RhbC5cbi8vXG5AbWl4aW4gY3MtbW9kYWxfX21lZGlhKCkge1xuICBmbGV4OiAxO1xuXG4gIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJzbVwiKSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cC1sYW5kc2NhcGUoXCJsZ1wiLCBcIm1kXCIpIHtcbiAgICBmbGV4OiAwIDAgNzAlO1xuICAgIG1heC13aWR0aDogNzAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBzdHlsZSB0aGUgbWVkaWEtaW5mbyBlbGVtZW50IG9mIGEgbW9kYWwuXG4vL1xuQG1peGluIGNzLW1vZGFsX19tZWRpYS1pbmZvKCRtb2RhbC1zZWxlY3Rvcikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDM7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogJGNzLXNwYWNlci1sYXJnZSAwICRjcy1zcGFjZXItbWVkaXVtO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAkY3MtYnJhbmQtYmxhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjcy1jb2xvci13aGl0ZTtcblxuICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwic21cIikge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICB9XG5cbiAgQG1lZGlhIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBBTkQgKG1heC13aWR0aDogY3MtYnJlYWtwb2ludC1tYXgoXCJtZFwiKSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwLWxhbmRzY2FwZShcImxnXCIsIFwibWRcIikge1xuICAgIGZsZXg6IDAgMCAzMCU7XG4gIH1cblxuICAmLnNjcm9sbC1ib3gge1xuICAgIC4jeyRjcy1uc30jeyRtb2RhbC1zZWxlY3Rvcn1fX21lZGlhLWluZm8tdGV4dCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgLiN7JGNzLW5zfSN7JG1vZGFsLXNlbGVjdG9yfV9fbWVkaWEtaW5mby1hY3Rpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0yNXB4O1xuICAgICAgICByaWdodDogJGNzLXNwYWNlci1tZWRpdW07XG4gICAgICAgIGxlZnQ6ICRjcy1zcGFjZXItbWVkaXVtO1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoJGNzLWNvbG9yLXdoaXRlLCAuMiksICRjcy1jb2xvci13aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIHRoZSBtZWRpYS1pbmZvLXRleHQgZWxlbWVudCBvZiBhIG1vZGFsLlxuLy9cbkBtaXhpbiBjcy1tb2RhbF9fbWVkaWEtaW5mby10ZXh0KCkge1xuICBwYWRkaW5nOiAwICRjcy1zcGFjZXItbWVkaXVtICRjcy1zcGFjZXItbWVkaXVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBzdHlsZSB0aGUgbWVkaWEtaW5mby1hY3Rpb24gZWxlbWVudCBvZiBhIG1vZGFsLlxuLy9cbkBtaXhpbiBjcy1tb2RhbF9fbWVkaWEtaW5mby1hY3Rpb24oKSB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6ICRjcy1zcGFjZXItbWVkaXVtICRjcy1zcGFjZXItbWVkaXVtIDA7XG5cbiAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcIm1kXCIpIHtcbiAgICA+IC5idG4ge1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJsZ1wiKSB7XG4gICAgPiAuYnRuIHtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIHRoZSBhY3Rpb25zIGVsZW1lbnQgb2YgYSBtb2RhbC5cbi8vXG5AbWl4aW4gY3MtbW9kYWxfX2FjdGlvbnMge1xuICBwYWRkaW5nOiAkY3Mtc3BhY2VyLW1lZGl1bTtcbiAgZm9udC1zaXplOiAwOyAvLyByZW1vdmVzIHdoaXRlc3BhY2UgYmV0d2VlbiBpbmxpbmUgZWxlbWVudHNcblxuICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwic21cIikge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIHRoZSBmb290ZXIgZWxlbWVudCBvZiBhIG1vZGFsLlxuLy9cbkBtaXhpbiBjcy1tb2RhbF9fZm9vdGVyIHtcbiAgQGluY2x1ZGUgY3MtZm9udC1zaXplKDEzcHgpO1xuICBwYWRkaW5nOiAkY3Mtc3BhY2VyLW1lZGl1bTtcbiAgY29sb3I6ICRjcy1ncmF5LWlyb247XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY3MtZ3JheS1zaWx2ZXI7XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cbkBtaXhpbiBjcy1idWlsZC1tb2RhbHMoJG1vZGFsLXNlbGVjdG9yOiAkY3MtbW9kYWwtc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtbW9kYWxzLW1vZGlmaWVycykge1xuICAvLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbiAgLiN7JGNzLW5zfSN7JG1vZGFsLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgY3MtbW9kYWwoJG1vZGFsLXNlbGVjdG9yKTtcblxuICAgICYtYmFja2Ryb3Age1xuICAgICAgQGluY2x1ZGUgY3MtbW9kYWwtYmFja2Ryb3AoKTtcbiAgICB9XG5cbiAgICAmX19kaWFsb2cge1xuICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX2RpYWxvZygpO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICBAaW5jbHVkZSBjcy1tb2RhbF9faGVhZGVyKCk7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX3RpdGxlKCk7XG4gICAgfVxuXG4gICAgJl9fc3ViLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19zdWItdGl0bGUoKTtcbiAgICB9XG5cbiAgICAmX19zaGFyZSB7XG4gICAgICBAaW5jbHVkZSBjcy1tb2RhbF9fc2hhcmUoKTtcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19ib2R5KCRtb2RhbC1zZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICBAaW5jbHVkZSBjcy1tb2RhbF9fYWN0aW9ucygpO1xuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICBAaW5jbHVkZSBjcy1tb2RhbF9fZm9vdGVyKCk7XG4gICAgfVxuXG4gICAgLy8gTWVkaWEgbW9kaWZpZXJcbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJtZWRpYVwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1tZWRpYSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLW1vZGFsKCRtb2RhbC1zZWxlY3RvciwgXCJtZWRpYVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrIE1vZGlmaWVyXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiZGFya1wiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS0je2Rhcmt9IHtcbiAgICAgICAgLiN7JGNzLW5zfSN7JG1vZGFsLXNlbGVjdG9yfV9faGVhZGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBjcy1tb2RhbF9faGVhZGVyKFwiZGFya1wiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZ1bGwgTW9kaWZpZXJcbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJmdWxsXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLSN7ZnVsbH0ge1xuICAgICAgICAuI3skY3MtbnN9I3skbW9kYWwtc2VsZWN0b3J9X19kaWFsb2cge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19kaWFsb2coXCJmdWxsXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JGNzLW5zfSN7JG1vZGFsLXNlbGVjdG9yfV9faGVhZGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBjcy1tb2RhbF9faGVhZGVyKFwiZnVsbFwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG4vL1xuLy8gTm90aWZpY2F0aW9uIHNldHRpbmdzXG4vL1xuXG4kY3Mtbm90aWZpY2F0aW9uLXNlbGVjdG9yOiBcIm5vdGlmaWNhdGlvblwiICFkZWZhdWx0O1xuJGNzLW5vdGlmaWNhdGlvbi1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XG4kY3Mtbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXM6IDRweCAhZGVmYXVsdDtcbiRjcy1ub3RpZmljYXRpb24taWNvbi1mb250LXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kY3Mtbm90aWZpY2F0aW9uLXN1Y2Nlc3M6IChcbiAgY29sb3I6ICRjcy1jb2xvci1mb3Jlc3QsXG4gIGJhY2tncm91bmQtY29sb3I6ICRjcy1jb2xvci1taW50LFxuICBib3JkZXItY29sb3I6ICRjcy1jb2xvci1saW1lLFxuICBjb250ZW50OiBjcy1pY29uLXZhbHVlKFwiZW1vamktc3VjY2Vzc1wiKVxuKSAhZGVmYXVsdDtcbiRjcy1ub3RpZmljYXRpb24tZXJyb3I6IChcbiAgY29sb3I6ICRjcy1jb2xvci1tYXJvb24sXG4gIGJhY2tncm91bmQtY29sb3I6ICRjcy1jb2xvci1ibHVzaCxcbiAgYm9yZGVyLWNvbG9yOiAkY3MtY29sb3ItcmVkLFxuICBjb250ZW50OiBjcy1pY29uLXZhbHVlKFwiZW1vamktZXJyb3JcIilcbikgIWRlZmF1bHQ7XG4kY3Mtbm90aWZpY2F0aW9uLWFsZXJ0OiAoXG4gIGNvbG9yOiAkY3MtY29sb3Itd2FsbnV0LFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtY29sb3ItY3JlYW0sXG4gIGJvcmRlci1jb2xvcjogJGNzLWNvbG9yLWFtYmVyLFxuICBjb250ZW50OiBjcy1pY29uLXZhbHVlKFwiYWxlcnRcIilcbikgIWRlZmF1bHQ7XG4kY3Mtbm90aWZpY2F0aW9uLWluZm86IChcbiAgY29sb3I6ICRjcy1icmFuZC1ibGFjayxcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWdyYXktZm9nLFxuICBib3JkZXItY29sb3I6ICRjcy1ncmF5LXN0ZWVsLFxuICBjb250ZW50OiBjcy1pY29uLXZhbHVlKFwiaW5mby1vdXRsaW5lXCIpXG4pICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBOb3RpZmljYXRpb24gbWl4aW5zXG4vL1xuXG4vL1xuLy8gTWFpbiBtaXhpbiB0byBjcmVhdGUgbm90aWZpY2F0aW9uIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1ub3RpZmljYXRpb24oJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkY3Mtbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSwgMSk7XG4gICAgQGluY2x1ZGUgY3MtbWFrZS10cmFuc2l0aW9uKFwiZmFkZVwiKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRjcy1zcGFjZXItYmFzZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiBjcy1yZW0oJGNzLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjcy1zcGFjZXItdGlueTtcbiAgICAgIGZvbnQtZmFtaWx5OiBjcy1nbG9iYWwtaWNvbnMsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IGNzLXJlbSgkY3Mtbm90aWZpY2F0aW9uLWljb24tZm9udC1zaXplKTtcbiAgICB9XG5cbiAgICAvLyBTbWFsbCBhbGlnbm1lbnQgZml4IGZvciBpbmxpbmUgbGlua3MuXG4gICAgLiN7JGNzLW5zfWxpbmsge1xuICAgICAgbWFyZ2luLWJvdHRvbTogY3MtcmVtKC0ycHgpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwic3VjY2Vzc1wiKSB7XG4gICAgQGluY2x1ZGUgX2NzLW5vdGlmaWNhdGlvbi10eXBlLXByb3BlcnRpZXMoJGNzLW5vdGlmaWNhdGlvbi1zdWNjZXNzKTtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwiZXJyb3JcIikge1xuICAgIEBpbmNsdWRlIF9jcy1ub3RpZmljYXRpb24tdHlwZS1wcm9wZXJ0aWVzKCRjcy1ub3RpZmljYXRpb24tZXJyb3IpO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJhbGVydFwiKSB7XG4gICAgQGluY2x1ZGUgX2NzLW5vdGlmaWNhdGlvbi10eXBlLXByb3BlcnRpZXMoJGNzLW5vdGlmaWNhdGlvbi1hbGVydCk7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImluZm9cIikge1xuICAgIEBpbmNsdWRlIF9jcy1ub3RpZmljYXRpb24tdHlwZS1wcm9wZXJ0aWVzKCRjcy1ub3RpZmljYXRpb24taW5mbyk7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcIm5vLWljb25cIikge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1bnNldDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIHRoZSBjbG9zZSBlbGVtZW50IG9mIGEgbm90aWZpY2F0aW9uLlxuLy9cbkBtaXhpbiBjcy1ub3RpZmljYXRpb25fX2Nsb3NlKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAkY3Mtc3BhY2VyLWJhc2U7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vL1xuLy8gVXRpbGl5IG1peGluIHRoYXQgY3JlYXRlcyBjb21tb24gcHJvcGVydGllcyBvZiBub3RpZmljYXRpb24gdHlwZXMuXG4vL1xuQG1peGluIF9jcy1ub3RpZmljYXRpb24tdHlwZS1wcm9wZXJ0aWVzKCR0eXBlKSB7XG4gIGNvbG9yOiBtYXAtZ2V0KCR0eXBlLCBcImNvbG9yXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0eXBlLCBcImJhY2tncm91bmQtY29sb3JcIik7XG4gIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdHlwZSwgXCJib3JkZXItY29sb3JcIik7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBtYXAtZ2V0KCR0eXBlLCBcImNvbnRlbnRcIik7XG4gIH1cbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuQG1peGluIGNzLWJ1aWxkLW5vdGlmaWNhdGlvbigkbmFtZTogJGNzLW5vdGlmaWNhdGlvbi1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1ub3RpZmljYXRpb24tbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3Mtbm90aWZpY2F0aW9uO1xuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgQGluY2x1ZGUgY3Mtbm90aWZpY2F0aW9uX19jbG9zZTtcbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJzdWNjZXNzXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgICBAaW5jbHVkZSBjcy1ub3RpZmljYXRpb24oXCJzdWNjZXNzXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImVycm9yXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgY3Mtbm90aWZpY2F0aW9uKFwiZXJyb3JcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiYWxlcnRcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tYWxlcnQge1xuICAgICAgICBAaW5jbHVkZSBjcy1ub3RpZmljYXRpb24oXCJhbGVydFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJpbmZvXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBjcy1ub3RpZmljYXRpb24oXCJpbmZvXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcIm5vLWljb25cIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tbm8taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGNzLW5vdGlmaWNhdGlvbihcIm5vLWljb25cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5cbi8vXG4vLyBQYWdpbmF0aW9uIHNldHRpbmdzXG4vL1xuXG4kY3MtcGFnaW5hdGlvbi1zZWxlY3RvcjogXCJwYWdpbmF0aW9uXCIgIWRlZmF1bHQ7XG4kY3MtcGFnaW5hdGlvbi1pdGVtLXNpemU6ICRjcy1zcGFjZXItbGFyZ2UgIWRlZmF1bHQ7XG4kY3MtcGFnaW5hdGlvbi1pdGVtLXNwYWNlOiAkY3Mtc3BhY2VyLXRpbnkgIWRlZmF1bHQ7XG4kY3MtcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzogJGNzLWdyYXktc2lsdmVyICFkZWZhdWx0O1xuJGNzLXBhZ2luYXRpb24tbGluay1ob3Zlci1jb2xvcjogJGNzLWNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGNzLXBhZ2luYXRpb24tbGluay1ob3Zlci1iZzogJGNzLWJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kY3MtcGFnaW5hdGlvbi1wcmV2aW91cy1pY29uLWNvZGU6IGNzLWljb24tdmFsdWUoXCJhcnJvdy1sZWZ0XCIpICFkZWZhdWx0O1xuJGNzLXBhZ2luYXRpb24tbmV4dC1pY29uLWNvZGU6IGNzLWljb24tdmFsdWUoXCJhcnJvdy1yaWdodFwiKSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gUGFnaW5hdGlvbiBtaXhpbnNcbi8vXG5cbi8vXG4vLyBCbG9jayBtaXhpbiB0byBjcmVhdGUgcGFnaW5hdGlvbiByb290IGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1wYWdpbmF0aW9uKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgKG5vdCAkbW9kaWZpZXIpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImNlbnRlcmVkXCIpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHBhZ2luYXRpb24gaXRlbSBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3MtcGFnaW5hdGlvbl9faXRlbSgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IGNzLXJlbSgkY3MtcGFnaW5hdGlvbi1pdGVtLXNpemUpO1xuICBoZWlnaHQ6IGNzLXJlbSgkY3MtcGFnaW5hdGlvbi1pdGVtLXNpemUpO1xuICBtYXJnaW4tcmlnaHQ6IGNzLXJlbSgkY3MtcGFnaW5hdGlvbi1pdGVtLXNwYWNlKTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gIC8vIERvIG5vdCBzaG93IGl0ZW1zIHRoYXQgYXJlIGhpZGRlbiBmb3IgbW9iaWxlLlxuICAmLnNtYWxsLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFNvbWUgY29tbW9uIHByb3BlcnRpZXMgZm9yIGVsZW1lbnRzIGluc2lkZSBpdGVtIGVsZW1lbnRzLlxuICAvLyBQcmV2ZW50IHN0eWxlIHJlcGV0aXRpb24gZm9yIGRpZmZlcmVudCBpdGVtIGVsZW1lbnRzLlxuICA+IFtjbGFzc149XCJwYWdpbmF0aW9uX19cIl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcIm1kXCIpIHtcbiAgICAvLyBJdGVtcyBoaWRkZW4gb24gbW9iaWxlIGFyZSBub3cgdmlzaWJsZSBmb3IgZGVza3RvcC5cbiAgICAmLnNtYWxsLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC8vIERvIG5vdCBzaG93IGl0ZW1zIHRoYXQgYXJlIGhpZGRlbiBmb3IgZGVza3RvcC5cbiAgICAmLmxhcmdlLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgcGFnaW5hdGlvbiBsaW5rIGl0ZW0gZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLXBhZ2luYXRpb25fX2xpbmsoKSB7XG4gIC8vIEFkZCBzdGF0ZSBiZWhhdmlvciBvbmx5IGZvciBzaXplIGJpZ2dlciB0aGFuIHRhYmxldC5cbiAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcIm1kXCIpIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZztcbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKSB7XG4gICAgICBAaW5jbHVkZSBjcy1ob3Zlci1mb2N1cy1hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGNzLXBhZ2luYXRpb24tbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLXBhZ2luYXRpb24tbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHBhZ2luYXRpb24gcHJldmlvdXMgYXJyb3cgaXRlbSBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3MtcGFnaW5hdGlvbl9fcHJldmlvdXMoKSB7XG4gIEBpbmNsdWRlIF9jcy1wYWdpbmF0aW9uLWl0ZW0tYXJyb3coJGNzLXBhZ2luYXRpb24tcHJldmlvdXMtaWNvbi1jb2RlKTtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHBhZ2luYXRpb24gbmV4dCBhcnJvdyBpdGVtIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1wYWdpbmF0aW9uX19uZXh0KCkge1xuICBAaW5jbHVkZSBfY3MtcGFnaW5hdGlvbi1pdGVtLWFycm93KCRjcy1wYWdpbmF0aW9uLW5leHQtaWNvbi1jb2RlKTtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHBhZ2luYXRpb24gZWxsaXBzaXMgaXRlbSBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3MtcGFnaW5hdGlvbl9fZWxsaXBzaXMoKSB7XG4gIC8vIFNob3cgdGhlIGBvZmAgc3RyaW5nIGZvciBtb2JpbGUgc2l6ZS5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwib2ZcIjtcbiAgfVxuXG4gIC8vIFNob3cgdGhlIGAuLi5gIHN0cmluZyBmb3Igc2l6ZSBiaWdnZXIgdGhhbiBtb2JpbGUuXG4gIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJtZFwiKSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIuLi5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFV0aWxpdHkgbWl4aW4gdG8gYXBwbHkgcGFnaW5hdGlvbiBhcnJvdyBpdGVtIHN0eWxlcy5cbi8vXG5AbWl4aW4gX2NzLXBhZ2luYXRpb24taXRlbS1hcnJvdygkYXJyb3ctaWNvbi1jb2RlKSB7XG4gIEBpbmNsdWRlIGNzLWhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgY29sb3I6ICRjcy1wYWdpbmF0aW9uLWxpbmstaG92ZXItYmc7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6ICRjcy1pY29uLWdsb2JhbC1mb250LWZhbWlseTtcbiAgICBjb250ZW50OiAkYXJyb3ctaWNvbi1jb2RlO1xuICB9XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cblxuQG1peGluIGNzLWJ1aWxkLXBhZ2luYXRpb24oJG5hbWU6ICRjcy1wYWdpbmF0aW9uLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLXBhZ2luYXRpb24tbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtcGFnaW5hdGlvbjtcblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImNlbnRlcmVkXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWNlbnRlcmVkIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtcGFnaW5hdGlvbihcImNlbnRlcmVkXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgY3MtcGFnaW5hdGlvbl9faXRlbTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgIEBpbmNsdWRlIGNzLXBhZ2luYXRpb25fX2xpbms7XG4gICAgfVxuXG4gICAgJl9fcHJldmlvdXMge1xuICAgICAgQGluY2x1ZGUgY3MtcGFnaW5hdGlvbl9fcHJldmlvdXM7XG4gICAgfVxuXG4gICAgJl9fbmV4dCB7XG4gICAgICBAaW5jbHVkZSBjcy1wYWdpbmF0aW9uX19uZXh0O1xuICAgIH1cblxuICAgICZfX2VsbGlwc2lzIHtcbiAgICAgIEBpbmNsdWRlIGNzLXBhZ2luYXRpb25fX2VsbGlwc2lzO1xuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcblxyXG4uI3skZ2xpZGUtY2xhc3N9IHtcclxuICAkdGhpczogJjtcclxuXHJcbiAgJHNlOiAkZ2xpZGUtZWxlbWVudC1zZXBhcmF0b3I7XHJcbiAgJHNtOiAkZ2xpZGUtbW9kaWZpZXItc2VwYXJhdG9yO1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgKiB7XHJcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgJiN7JHNlfXRyYWNrIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAmI3skc2V9c2xpZGVzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgICB0b3VjaC1hY3Rpb246IHBhbi1ZO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcclxuXHJcbiAgICAmI3skZ2xpZGUtbW9kaWZpZXItc2VwYXJhdG9yfWRyYWdnaW5nIHtcclxuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmI3skc2V9c2xpZGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcclxuICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJiN7JHNlfWFycm93cyB7XHJcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB9XHJcblxyXG4gICYjeyRzZX1idWxsZXRzIHtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIH1cclxuXHJcbiAgJiN7JHNtfXJ0bCB7XHJcbiAgICBkaXJlY3Rpb246IHJ0bDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2NvbG9yc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2NvbmZpZ3VyYXRpb25cIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9nbG9iYWxzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL3NlbGVjdG9yc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9jb21wb25lbnRzXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cblxuJGNzLXNsaWRlci1zZWxlY3RvcjogXCJzbGlkZXJcIiAhZGVmYXVsdDtcblxuLy9cbi8vIE1peGluc1xuLy9cblxuLy9cbi8vIE1haW4gbWl4aW4gdG8gY3JlYXRlIHNsaWRlciBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc2xpZGVyKCRtb2RpZmllcjogbnVsbCwgJHNsaWRlci1zZWxlY3RvcjogJGNzLXNsaWRlci1zZWxlY3Rvcikge1xuICBAaWYgKCRtb2RpZmllciA9PSBcInBlZWtpbmdcIikge1xuICAgIHdpZHRoOiA5MCU7XG5cbiAgICAuI3skY3MtbnN9I3skc2xpZGVyLXNlbGVjdG9yfSB7XG4gICAgICAmX190cmFjayxcbiAgICAgICZfX2Fycm93cyxcbiAgICAgICZfX2J1bGxldHMge1xuICAgICAgICB3aWR0aDogMTExJTtcbiAgICAgIH1cblxuICAgICAgJl9fdHJhY2s6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0gJGNzLXNwYWNlci1tZWRpdW07XG4gICAgICAgIHJpZ2h0OiAtMTElO1xuICAgICAgICBib3R0b206IC0gJGNzLXNwYWNlci1tZWRpdW07XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChhdCAxMDAlIDUwJSwgcmdiYSgkY3MtY29sb3ItYmxhY2ssIC41KSAwJSwgdHJhbnNwYXJlbnQgNzUlKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgkY3MtY29sb3Itd2hpdGUsIC4yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImxhenlcIikge1xuICAgICY6bm90KC5nbGlkZS0tY2Fyb3VzZWwpOm5vdCguZ2xpZGUtLXNsaWRlcikge1xuICAgICAgLiN7JGNzLW5zfSN7JHNsaWRlci1zZWxlY3Rvcn0ge1xuICAgICAgICAmX190cmFjayB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc2xpZGVzIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgc2xpZGVyIHNsaWRlcyBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc2xpZGVyX19zbGlkZXMoKSB7XG4gIG1hcmdpbjogMDtcblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHNsaWRlciBhcnJvd3MgZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLXNsaWRlcl9fYXJyb3dzKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogLTEycHg7XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSBzbGlkZXIgYXJyb3cgZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLXNsaWRlcl9fYXJyb3coKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICAmLS1sZWZ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTI4cHg7XG4gIH1cblxuICAmLS1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMjhweDtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgc2xpZGVyIGJ1bGxldHMgZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLXNsaWRlcl9fYnVsbGV0cygpIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgc2xpZGVyIGJ1bGxldCBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc2xpZGVyX19idWxsZXQoKSB7XG4gICRzZWxlY3RvcjogY3Mtc2VsZWN0b3IoKTtcblxuICB3aWR0aDogMTFweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjcy1ncmF5LXNpbHZlcjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgJjpob3ZlcixcbiAgJi0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtYnJhbmQtYmxhY2s7XG4gIH1cblxuICAmICsgI3skc2VsZWN0b3J9IHtcbiAgICBtYXJnaW4tbGVmdDogJGNzLXNwYWNlci1iYXNlO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cbkBtaXhpbiBjcy1idWlsZC1zbGlkZXIoJHNsaWRlci1zZWxlY3RvcjogJGNzLXNsaWRlci1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1zbGlkZXItbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRzbGlkZXItc2VsZWN0b3J9IHtcbiAgICAmLS1wZWVraW5nIHtcbiAgICAgIEBpbmNsdWRlIGNzLXNsaWRlcihcInBlZWtpbmdcIiwgJHNsaWRlci1zZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgJi0tbGF6eSB7XG4gICAgICBAaW5jbHVkZSBjcy1zbGlkZXIoXCJsYXp5XCIsICRzbGlkZXItc2VsZWN0b3IpO1xuICAgIH1cblxuICAgICZfX3NsaWRlcyB7XG4gICAgICBAaW5jbHVkZSBjcy1zbGlkZXJfX3NsaWRlcztcbiAgICB9XG5cbiAgICAmX19hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgY3Mtc2xpZGVyX19hcnJvd3M7XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuICAgICAgQGluY2x1ZGUgY3Mtc2xpZGVyX19hcnJvdztcbiAgICB9XG5cbiAgICAmX19idWxsZXRzIHtcbiAgICAgIEBpbmNsdWRlIGNzLXNsaWRlcl9fYnVsbGV0cztcbiAgICB9XG5cbiAgICAmX19idWxsZXQge1xuICAgICAgQGluY2x1ZGUgY3Mtc2xpZGVyX19idWxsZXQ7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29sb3JzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvZ2xvYmFsc1wiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbiRjcy1zb2NpYWwtc2hhcmUtc2VsZWN0b3I6IFwic29jaWFsLXNoYXJlXCIgIWRlZmF1bHQ7XG5cbi8vXG4vLyBNaXhpbnNcbi8vXG5cbi8vXG4vLyBNYWluIG1peGluIHRvIGNyZWF0ZSBzb2NpYWwgc2hhcmUgZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLXNvY2lhbC1zaGFyZSgpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkY3Mtc3BhY2VyLWJhc2U7XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSBzb2NpYWwgc2hhcmUgbGFiZWwgaXRlbSBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc29jaWFsLXNoYXJlX19sYWJlbCgpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSBzb2NpYWwgc2hhcmUgaWNvbiBsaW5rIGl0ZW0gZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLXNvY2lhbC1zaGFyZV9faWNvbi1saW5rKCkge1xuICBtYXJnaW4tbGVmdDogJGNzLXNwYWNlci1sYXJnZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYuaWNvbi1mYWNlYm9vayB7XG4gICAgY29sb3I6ICRjcy1jb2xvci1zb2NpYWwtZmFjZWJvb2s7XG4gIH1cblxuICAmLmljb24tdHdpdHRlciB7XG4gICAgY29sb3I6ICRjcy1jb2xvci1zb2NpYWwtdHdpdHRlcjtcbiAgfVxuXG4gICYuaWNvbi1waW50ZXJlc3Qge1xuICAgIGNvbG9yOiAkY3MtY29sb3Itc29jaWFsLXBpbnRlcmVzdDtcbiAgfVxuXG4gICYuaWNvbi1lbWFpbCB7XG4gICAgY29sb3I6ICRjcy1jb2xvci1zb2NpYWwtZW1haWw7XG4gIH1cblxuICAmLmljb24tcHJpbnRlci1zb2xpZCB7XG4gICAgY29sb3I6ICRjcy1jb2xvci1zb2NpYWwtcHJpbnRlcjtcbiAgfVxuXG4gICYuaWNvbi1tb3JlLW91dGxpbmUge1xuICAgIGNvbG9yOiAkY3MtYnJhbmQtYmxhY2s7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNzLWJyYW5kLWJsYWNrO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSBzb2NpYWwgc2hhcmUgYm94IGl0ZW0gZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLXNvY2lhbC1zaGFyZV9fYm94KCkge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmLWRpdmlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkY3Mtc3BhY2VyLXRpbnk7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNzLXNwYWNlci10aW55O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY3MtZ3JheS1zaWx2ZXI7XG4gIH1cblxuICAuI3skY3MtbnN9I3skY3Mtc29jaWFsLXNoYXJlLXNlbGVjdG9yfV9faWNvbi1saW5rIHtcbiAgICBtYXJnaW46IDAgJGNzLXNwYWNlci1iYXNlIDAgMDtcbiAgfVxufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1zb2NpYWwtc2hhcmUoJG5hbWU6ICRjcy1zb2NpYWwtc2hhcmUtc2VsZWN0b3IpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1zb2NpYWwtc2hhcmUoKTtcblxuICAgICZfX2xhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGNzLXNvY2lhbC1zaGFyZV9fbGFiZWwoKTtcbiAgICB9XG5cbiAgICAmX19pY29uLWxpbmsge1xuICAgICAgQGluY2x1ZGUgY3Mtc29jaWFsLXNoYXJlX19pY29uLWxpbms7XG4gICAgfVxuXG4gICAgJl9fYm94IHtcbiAgICAgIEBpbmNsdWRlIGNzLXNvY2lhbC1zaGFyZV9fYm94O1xuICAgIH1cbiAgfVxuXG4gIEBjb250ZW50O1xufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2NvbG9yc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2dsb2JhbHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy96aW5kZXhcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvY29tcG9uZW50c1wiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9zaGFkb3dzLm1peGluXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cblxuJGNzLXN0aWNreS1zaGFyZS1zZWxlY3RvcjogXCJzdGlja3ktc2hhcmVcIiAhZGVmYXVsdDtcblxuLy9cbi8vIE1peGluc1xuLy9cblxuLy9cbi8vIE1haW4gbWl4aW4gdG8gY3JlYXRlIHN0aWNreSBzaGFyZSBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc3RpY2t5LXNoYXJlKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgKG5vdCAkbW9kaWZpZXIpIHtcbiAgICBAaW5jbHVkZSBjcy1zaGFkb3coXCJkYXJrXCIpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkY3MtemluZGV4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWNvbG9yLXdoaXRlO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJsb2FkZWRcIikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJjZW50ZXJcIikge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtYnVpbGQtc3RpY2t5LXNoYXJlKCRuYW1lOiAkY3Mtc3RpY2t5LXNoYXJlLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLXN0aWNreS1zaGFyZS1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1zdGlja3ktc2hhcmUoKTtcblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImxvYWRlZFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1sb2FkZWQge1xuICAgICAgICBAaW5jbHVkZSBjcy1zdGlja3ktc2hhcmUoXCJsb2FkZWRcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiY2VudGVyXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWNlbnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzLXN0aWNreS1zaGFyZShcImNlbnRlclwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiOyAvLyBpbXBvcnQgZmlyc3RcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvY29tcG9uZW50c1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9zZWxlY3RvcnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvc3BhY2luZ1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9mb250U2l6ZVwiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9fc2hhZG93cy5taXhpbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi9kcm9wZG93bnNcIjtcbkBpbXBvcnQgXCJjcy1pY29ucy9zcmMvc2Nzcy9nbG9iYWwvZ2xvYmFsLm1peGluXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cblxuJGNzLXRhYi1zZWxlY3RvcjogXCJ0YWJcIiAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIG1peGluXG4vL1xuQG1peGluIGNzLXRhYigkbW9kaWZpZXI6IG51bGwpIHtcbiAgLy8gRGVmYXVsdCBzdHlsaW5nXG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY3MtZ3JheS1zaWx2ZXI7XG4gICAgQGluY2x1ZGUgY3MtYm94LXNoYWRvdyhtYXAtZ2V0KCRjcy1zaGFkb3csIHNoYWRvdykpO1xuICB9XG5cbiAgLy8gTW9kaWZpZXJzXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImZsb2F0aW5nXCIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBAaW5jbHVkZSBjcy1ib3gtc2hhZG93LXJlc2V0KCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW5zXG4vL1xuQG1peGluIGNzLXRhYl9fbmF2KCRtb2RpZmllcjogbnVsbCkge1xuICAvLyBEZWZhdWx0IHN0eWxpbmdcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcbiAgfVxuXG4gIC8vIE1vZGlmaWVyXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImZsb2F0aW5nXCIge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGNzLXRhYl9faXRlbSgkbW9kaWZpZXI6IG51bGwpIHtcbiAgLy8gRGVmYXVsdCBzdHlsaW5nXG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICAmOm5vdCguI3skY3MtbnN9I3skY3MtZHJvcGRvd24tc2VsZWN0b3J9X19pdGVtKTpub3QoLmRyb3BwZXJfX2l0ZW0pIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY3MtZ3JheS1zaWx2ZXI7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgIH1cblxuICAgICAgPiBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLCBiYXNlKTtcbiAgICAgICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKC0xKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgY3MtaG92ZXItZm9jdXMoKSB7XG4gICAgICAgICAgY29sb3I6ICRjcy1icmFuZC1wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWNvbG9yLWxpbWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgY29sb3I6ICRjcy1ncmF5LWlyb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLiN7JGNzLW5zfSN7JGNzLWRyb3Bkb3duLXNlbGVjdG9yfSxcbiAgICAmLmRyb3BwZXIge1xuICAgICAgPiBbZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXSxcbiAgICAgID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWljb24tZ2xvYmFsKFwiY2FyZXQtZG93blwiLCAxMHB4LCBcImFmdGVyXCIpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjcy1zcGFjZXItdGlueTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBkcm9wIG1lbnVcbiAgICAgIC4jeyRjcy1uc30jeyRjcy1kcm9wZG93bi1zZWxlY3Rvcn1fX21lbnUsXG4gICAgICAuZHJvcHBlcl9fbWVudSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgtMSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vZGlmaWVyXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImZsb2F0aW5nXCIge1xuICAgICY6bm90KC4jeyRjcy1uc30jeyRjcy1kcm9wZG93bi1zZWxlY3Rvcn1fX2l0ZW0pOm5vdCguZHJvcHBlcl9faXRlbSkge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY3MtdGFiX19jb250ZW50KCRtb2RpZmllcjogbnVsbCkge1xuICAvLyBEZWZhdWx0IHN0eWluZ1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgQGluY2x1ZGUgY3Mtc3BhY2VyKHBhZGRpbmcsICh4czogbWVkaXVtIGJhc2UsIHNtOiBtZWRpdW0gbGFyZ2UpKTtcbiAgfVxuXG4gIC8vIE1vZGlmaWVyc1xuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJmbG9hdGluZ1wiIHtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWNvbG9yLXdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNzLWdyYXktc2lsdmVyO1xuICAgICAgQGluY2x1ZGUgY3MtYm94LXNoYWRvdyhtYXAtZ2V0KCRjcy1zaGFkb3csIHNoYWRvdykpO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcInJhaXNlZFwiIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjcy1yZW0oMTAwcHgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogY3MtcmVtKC0xMDBweCk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1ncmF5LWZvZztcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGNzLXRhYl9fcGFuZSgkbW9kaWZpZXI6IG51bGwpIHtcbiAgLy8gRGVmYXVsdCBzdHlpbmdcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIEBpbmNsdWRlIGNzLW1ha2UtdHJhbnNpdGlvbihcImZhZGVcIik7XG5cbiAgICAmOm5vdCgjeyRjcy1uc30uYWN0aXZlKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImZsb2F0aW5nXCIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5zXG4vL1xuQG1peGluIGNzLWJ1aWxkLXRhYnMoJG5hbWU6ICRjcy10YWItc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtdGFicy1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy10YWIoKTtcblxuICAgICZfX25hdiB7XG4gICAgICBAaW5jbHVkZSBjcy10YWJfX25hdigpO1xuICAgIH1cblxuICAgIC8vIEVsZW1lbnRzXG4gICAgJl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBjcy10YWJfX2l0ZW0oKTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGNzLXRhYl9fY29udGVudCgpO1xuICAgIH1cblxuICAgICZfX3BhbmUge1xuICAgICAgQGluY2x1ZGUgY3MtdGFiX19wYW5lKCk7XG4gICAgfVxuXG4gICAgLy8gTW9kaWZpZXJzXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiZmxvYXRpbmdcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tZmxvYXRpbmcge1xuICAgICAgICBAaW5jbHVkZSBjcy10YWIoXCJmbG9hdGluZ1wiKTtcblxuICAgICAgICAuI3skY3MtbnN9I3skbmFtZX1fX25hdiB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtdGFiX19uYXYoXCJmbG9hdGluZ1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRjcy1uc30jeyRuYW1lfV9faXRlbSB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtdGFiX19pdGVtKFwiZmxvYXRpbmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skY3MtbnN9I3skbmFtZX1fX2NvbnRlbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLXRhYl9fY29udGVudChcImZsb2F0aW5nXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwicmFpc2VkXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLXJhaXNlZCB7XG4gICAgICAgIC4jeyRjcy1uc30jeyRuYW1lfV9fY29udGVudCB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtdGFiX19jb250ZW50KFwicmFpc2VkXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL3NoYWRvd3MubWl4aW5cIjtcblxuLy9cbi8vIFNldHR0aW5nc1xuLy9cblxuJGNzLXRvb2x0aXAtc2VsZWN0b3I6IFwidG9vbHRpcFwiICFkZWZhdWx0O1xuXG4vL1xuLy8gQmxvY2sgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy10b29sdGlwKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgQGluY2x1ZGUgY3MtdHJhbnNpdGlvbihvcGFjaXR5IDE1MG1zIGxpbmVhcik7XG4gICAgQGluY2x1ZGUgY3MtYm9yZGVyLXJhZGl1cygkY3MtYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRjcy16aW5kZXgtdG9vbHRpcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IGNzLXJlbSgkY3MtdG9vbHRpcC1tYXgtd2lkdGgpO1xuICAgIHBhZGRpbmc6ICRjcy10b29sdGlwLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLXRvb2x0aXAtYmc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNzLXRvb2x0aXAtYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGNzLXRvb2x0aXAtYXJyb3c7XG4gICAgfVxuICAgICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjcy10b29sdGlwLWFycm93O1xuICAgIH1cbiAgICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgICBtYXJnaW4tdG9wOiAkY3MtdG9vbHRpcC1hcnJvdztcbiAgICB9XG4gICAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNzLXRvb2x0aXAtYXJyb3c7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZGFya1wiIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtdG9vbHRpcC1kYXJrLWJnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjcy10b29sdGlwLWRhcmstYm9yZGVyO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluc1xuLy9cblxuQG1peGluIGNzLXRvb2x0aXBfX2lubmVyKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKCRjcy10b29sdGlwLWZvbnRzaXplKTtcbiAgICBjb2xvcjogJGNzLXRvb2x0aXAtdGV4dDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJkYXJrXCIge1xuICAgIGNvbG9yOiAkY3MtdG9vbHRpcC1kYXJrLXRleHQ7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGNzLXRvb2x0aXBfX2Fycm93KCRtb2RpZmllcjogbnVsbCkge1xuICAkX2Fycm93LWFmdGVyOiAkY3MtdG9vbHRpcC1hcnJvdyAtIDFweDtcblxuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgbWFyZ2luOiAkY3MtdG9vbHRpcC1hcnJvdztcbiAgICBib3JkZXItY29sb3I6ICRjcy10b29sdGlwLWJvcmRlcjtcblxuICAgICYsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6ICRjcy10b29sdGlwLWJnO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGNzLWF0LXJvb3QoXCIuI3skY3MtdG9vbHRpcC1zZWxlY3Rvcn1beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXVwiLCAkaGFzLXNwYWNlOiB0cnVlKSB7XG4gICAgICBib3R0b206IC0oJGNzLXRvb2x0aXAtYXJyb3cpO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAjeyRjcy10b29sdGlwLWFycm93fSk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJGNzLXRvb2x0aXAtYXJyb3cgJGNzLXRvb2x0aXAtYXJyb3cgMCAkY3MtdG9vbHRpcC1hcnJvdztcblxuICAgICAgJixcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IC0oJGNzLXRvb2x0aXAtYXJyb3cpO1xuICAgICAgICBsZWZ0OiAtKCRfYXJyb3ctYWZ0ZXIpO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRfYXJyb3ctYWZ0ZXIgJF9hcnJvdy1hZnRlciAwICRfYXJyb3ctYWZ0ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY3MtYXQtcm9vdChcIi4jeyRjcy10b29sdGlwLXNlbGVjdG9yfVt4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl1cIiwgJGhhcy1zcGFjZTogdHJ1ZSkge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtICN7JGNzLXRvb2x0aXAtYXJyb3d9KTtcbiAgICAgIGxlZnQ6IC0oJGNzLXRvb2x0aXAtYXJyb3cpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRjcy10b29sdGlwLWFycm93ICRjcy10b29sdGlwLWFycm93ICRjcy10b29sdGlwLWFycm93IDA7XG5cbiAgICAgICYsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogLSgkX2Fycm93LWFmdGVyKTtcbiAgICAgICAgbGVmdDogMXB4O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRfYXJyb3ctYWZ0ZXIgJF9hcnJvdy1hZnRlciAkX2Fycm93LWFmdGVyIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY3MtYXQtcm9vdChcIi4jeyRjcy10b29sdGlwLXNlbGVjdG9yfVt4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdXCIsICRoYXMtc3BhY2U6IHRydWUpIHtcbiAgICAgIHRvcDogLSgkY3MtdG9vbHRpcC1hcnJvdyk7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7JGNzLXRvb2x0aXAtYXJyb3d9KTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICRjcy10b29sdGlwLWFycm93ICRjcy10b29sdGlwLWFycm93ICRjcy10b29sdGlwLWFycm93O1xuXG4gICAgICAmLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBsZWZ0OiAtKCRfYXJyb3ctYWZ0ZXIpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgJF9hcnJvdy1hZnRlciAkX2Fycm93LWFmdGVyICRfYXJyb3ctYWZ0ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY3MtYXQtcm9vdChcIi4jeyRjcy10b29sdGlwLXNlbGVjdG9yfVt4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXVwiLCAkaGFzLXNwYWNlOiB0cnVlKSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gI3skY3MtdG9vbHRpcC1hcnJvd30pO1xuICAgICAgcmlnaHQ6IC0oJGNzLXRvb2x0aXAtYXJyb3cpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRjcy10b29sdGlwLWFycm93IDAgJGNzLXRvb2x0aXAtYXJyb3cgJGNzLXRvb2x0aXAtYXJyb3c7XG5cbiAgICAgICYsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IC0oJF9hcnJvdy1hZnRlcik7XG4gICAgICAgIGxlZnQ6IC0oJGNzLXRvb2x0aXAtYXJyb3cpO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRfYXJyb3ctYWZ0ZXIgMCAkX2Fycm93LWFmdGVyICRfYXJyb3ctYWZ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZGFya1wiIHtcbiAgICBib3JkZXItY29sb3I6ICRjcy10b29sdGlwLWRhcmstYm9yZGVyO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3MtdG9vbHRpcC1kYXJrLWJnO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC10b29sdGlwcygkbmFtZTogJGNzLXRvb2x0aXAtc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtdG9vbHRpcHMtbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtdG9vbHRpcDtcblxuICAgIC8qIFRvb2x0aXAgdGV4dCAqL1xuICAgICZfX2lubmVyIHtcbiAgICAgIEBpbmNsdWRlIGNzLXRvb2x0aXBfX2lubmVyO1xuICAgIH1cblxuICAgICZfX2Fycm93IHtcbiAgICAgIEBpbmNsdWRlIGNzLXRvb2x0aXBfX2Fycm93O1xuICAgIH1cblxuICAgIC8qIE1vZGlmaWVycyAqL1xuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImRhcmtrXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWRhcmsge1xuICAgICAgICBAaW5jbHVkZSBjcy10b29sdGlwKFwiZGFya1wiKTtcblxuICAgICAgICAuI3skY3MtbnN9I3skbmFtZX1fX2lubmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBjcy10b29sdGlwX19pbm5lcihcImRhcmtcIik7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skY3MtbnN9I3skbmFtZX1fX2Fycm93IHtcbiAgICAgICAgICBAaW5jbHVkZSBjcy10b29sdGlwX19hcnJvdyhcImRhcmtcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vZ2xvYmFsc1wiO1xuXG4kY3MtdG9vbHRpcC1tYXgtd2lkdGg6IDI4OHB4ICFkZWZhdWx0O1xuJGNzLXRvb2x0aXAtcGFkZGluZzogJGNzLXNwYWNlci1iYXNlICFkZWZhdWx0O1xuJGNzLXRvb2x0aXAtZm9udHNpemU6IC0xICFkZWZhdWx0O1xuJGNzLXRvb2x0aXAtYXJyb3c6IDZweCAhZGVmYXVsdDtcbiRjcy10b29sdGlwLWJnOiAkY3MtY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY3MtdG9vbHRpcC10ZXh0OiAkY3MtY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG4kY3MtdG9vbHRpcC1ib3JkZXI6ICRjcy1ncmF5LXNpbHZlciAhZGVmYXVsdDtcbiRjcy10b29sdGlwLWRhcmstYmc6ICRjcy1jb2xvci1ibGFjayAhZGVmYXVsdDtcbiRjcy10b29sdGlwLWRhcmstdGV4dDogJGNzLWNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGNzLXRvb2x0aXAtZGFyay1ib3JkZXI6ICRjcy1jb2xvci1ibGFjayAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5cbkBpbXBvcnQgXCIuLi8uLi9hdG9tcy9taXhpbnMvYXZhdGFyc1wiO1xuQGltcG9ydCBcIi4uLy4uL2F0b21zL21peGlucy9saW5rc1wiO1xuQGltcG9ydCBcIi4uLy4uL2xheW91dHMvZmxleEdyaWQubWl4aW5cIjtcblxuLy9cbi8vIFVzZXIgc3VtbWFyeSBzZXR0aW5nc1xuLy9cblxuJGNzLXVzZXItc3VtbWFyeS1zZWxlY3RvcjogXCJ1c2VyLXN1bW1hcnlcIiAhZGVmYXVsdDtcbiRjcy11c2VyLXN1bW1hcnktc3BhY2U6ICRjcy1zcGFjZXItYmFzZSAhZGVmYXVsdDtcblxuJGNzLXVzZXItc3VtbWFyeS1hdmF0YXItc3BhY2VyOiAkY3Mtc3BhY2VyLXRpbnkgIWRlZmF1bHQ7XG4kY3MtdXNlci1zdW1tYXJ5LWF2YXRhci1mdWxsLXNwYWNlcjogJGNzLXVzZXItc3VtbWFyeS1hdmF0YXItc3BhY2VyICogMiAhZGVmYXVsdDtcblxuLy8gQm9keSBtYXgtd2lkdGg6IH4gMjQwcHguXG4kY3MtdXNlci1zdW1tYXJ5LWJvZHktbWF4LXdpZHRoOiAkY3Mtc3BhY2VyLWJhc2UgKiAxNSAhZGVmYXVsdDtcbiRjcy11c2VyLXN1bW1hcnktYm9keS1mb250LXNpemU6IDEzcHggIWRlZmF1bHQ7XG4kY3MtdXNlci1zdW1tYXJ5LWJvZHktbGluZS1oZWlnaHQ6IDEuMzUgIWRlZmF1bHQ7XG4kY3MtdXNlci1zdW1tYXJ5LW5hbWUtZm9udC1zaXplOiAxNHB4ICFkZWZhdWx0O1xuJGNzLXVzZXItc3VtbWFyeS1uYW1lLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kY3MtdXNlci1zdW1tYXJ5LWluZm8tY29sb3I6ICRjcy1ncmF5LXN0ZWVsICFkZWZhdWx0O1xuXG4vL1xuLy8gVXNlciBzdW1tYXJ5IG1peGluc1xuLy9cblxuLy9cbi8vIEJsb2NrIG1peGluIHRvIGNyZWF0ZSB1c2VyLXN1bW1hcnkgc3R5bGVzLlxuLy9cbkBtaXhpbiBjcy11c2VyLXN1bW1hcnkoKSB7XG4gIEBpbmNsdWRlIGNzLWZsZXgtZ3JpZF9fcm93O1xuXG4gICYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiBjcy1yZW0oJGNzLXVzZXItc3VtbWFyeS1zcGFjZSk7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHVzZXItc3VtbWFyeSBhdmF0YXIgc2VjdGlvbiBzdHlsZXMuXG4vL1xuQG1peGluIGNzLXVzZXItc3VtbWFyeV9fYXZhdGFyKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgKG5vdCAkbW9kaWZpZXIpIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGNzLXJlbSgkY3MtdXNlci1zdW1tYXJ5LWF2YXRhci1zcGFjZXIpO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJmdWxsXCIpIHtcbiAgICAvLyBUaGUgZnVsbCB1c2VyLXN1bW1hcnkgYXZhdGFyIHdpbGwgdXNlIHRoZSBsYXJnZSBhdmF0YXIgc2l6ZS5cbiAgICBAaW5jbHVkZSBjcy1hdmF0YXIoXCJsYXJnZVwiKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNzLXJlbSgkY3MtdXNlci1zdW1tYXJ5LWF2YXRhci1mdWxsLXNwYWNlcik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSB1c2VyLXN1bW1hcnkgYm9keSBzZWN0aW9uIHN0eWxlcy5cbi8vXG5AbWl4aW4gY3MtdXNlci1zdW1tYXJ5X19ib2R5KCkge1xuICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGNzLXVzZXItc3VtbWFyeS1ib2R5LWZvbnQtc2l6ZSwgJGNzLXVzZXItc3VtbWFyeS1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgZmxleDogMSAxIDA7XG4gIG1heC13aWR0aDogY3MtcmVtKCRjcy11c2VyLXN1bW1hcnktYm9keS1tYXgtd2lkdGgpO1xuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgdXNlci1zdW1tYXJ5IG5hbWUgc3R5bGVzIGluc2lkZSBib2R5IHNlY3Rpb24uXG4vL1xuQG1peGluIGNzLXVzZXItc3VtbWFyeV9fbmFtZSgpIHtcbiAgQGluY2x1ZGUgY3MtZm9udC1zaXplKCRjcy11c2VyLXN1bW1hcnktbmFtZS1mb250LXNpemUsICRjcy11c2VyLXN1bW1hcnktbmFtZS1saW5lLWhlaWdodCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDtcblxuICAvLyBJdCBpcyBzdXBwb3NlZCB0aGUgdGl0bGUgZWxlbWVudCB3aWxsIGNvbnRhaW4gYW4gYDxhPmAgZm9yIGNsaWNrYWJsZS5cbiAgYSB7XG4gICAgLy8gU3R5bGVkIHdpdGggdGl0bGUgbGluayB2YXJpYW50LlxuICAgIEBpbmNsdWRlIGNzLWxpbms7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHVzZXItc3VtbWFyeSB0aXRsZSBzdHlsZXMgaW5zaWRlIGJvZHkgc2VjdGlvbi5cbi8vXG5AbWl4aW4gY3MtdXNlci1zdW1tYXJ5X190aXRsZSgpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJGNzLXVzZXItc3VtbWFyeS1pbmZvLWNvbG9yO1xuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgdXNlci1zdW1tYXJ5IGluZm8gc3R5bGVzIGluc2lkZSBib2R5IHNlY3Rpb24uXG4vL1xuQG1peGluIGNzLXVzZXItc3VtbWFyeV9faW5mbygpIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBjb2xvcjogJGNzLXVzZXItc3VtbWFyeS1pbmZvLWNvbG9yO1xuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY3MtYnVpbGQtdXNlci1zdW1tYXJpZXMoJG5hbWU6ICRjcy11c2VyLXN1bW1hcnktc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtdXNlci1zdW1tYXJpZXMtbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtdXNlci1zdW1tYXJ5O1xuXG4gICAgLy8gQXZhdGFyIHNlY3Rpb24uXG4gICAgJl9fYXZhdGFyIHtcbiAgICAgIEBpbmNsdWRlIGNzLXVzZXItc3VtbWFyeV9fYXZhdGFyO1xuICAgIH1cblxuICAgIC8vIEJvZHkgc2VjdGlvbi5cbiAgICAmX19ib2R5IHtcbiAgICAgIEBpbmNsdWRlIGNzLXVzZXItc3VtbWFyeV9fYm9keTtcbiAgICB9XG5cbiAgICAvLyBCb2R5IGVsZW1lbnRzLlxuICAgICZfX25hbWUge1xuICAgICAgQGluY2x1ZGUgY3MtdXNlci1zdW1tYXJ5X19uYW1lO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGNzLXVzZXItc3VtbWFyeV9fdGl0bGU7XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICBAaW5jbHVkZSBjcy11c2VyLXN1bW1hcnlfX2luZm87XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiZnVsbFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1mdWxsIHtcbiAgICAgICAgLiN7JGNzLW5zfSN7JG5hbWV9X19hdmF0YXIge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLXVzZXItc3VtbWFyeV9fYXZhdGFyKFwiZnVsbFwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG4vL1xuLy8gRmxleCBncmlkIG1peGluc1xuLy9cblxuLy8gUm93IG1peGluc1xuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBzdHlsZSBhIGdyaWQgcm93LlxuLy9cbkBtaXhpbiBjcy1mbGV4LWdyaWRfX3JvdygpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbW9kaWZpZXIgbWl4aW4gdG8gYWRkIG1hcmdpbiB0byBhIGdyaWQgcm93LlxuLy9cbkBtaXhpbiBjcy1mbGV4LWdyaWRfX3Jvdy0tbWFyZ2luKCRtYXJnaW5zOiAkY3MtZ3JpZC1yb3ctbWFyZ2lucywgJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgICRtYXJnaW46IG1hcC1nZXQoJG1hcmdpbnMsICRicmVha3BvaW50KTtcbiAgICAgIEBpZiAoJG1hcmdpbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNzLXJlbSgkbWFyZ2luIC8gMik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjcy1yZW0oJG1hcmdpbiAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtb2RpZmllciBtaXhpbiB0byByZW1vdmUgY29sdW1uIGd1dHRlcnMuXG4vL1xuLy8gVGFrZXMgdGhlIGNsYXNzIHVzZWQgdG8gc3R5bGUgY29sdW1ucyBhcyBwYXJhbWV0ZXIuXG4vL1xuQG1peGluIGNzLWZsZXgtZ3JpZF9fcm93LS1uby1ndXR0ZXJzKCRjb2x1bW4tY2xhc3M6IFwiY29sXCIpIHtcbiAgPiAuI3skY3MtbnN9I3skY29sdW1uLWNsYXNzfSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbW9kaWZpZXIgbWl4aW4gdG8gYWxpZ24gY29sdW1ucyBpbiBhIHJvdy5cbi8vXG5AbWl4aW4gY3MtZmxleC1ncmlkX19yb3ctLWFsaWduKCRtb2RpZmllcjogXCJcIikge1xuICBAaWYgKCRtb2RpZmllciA9PSBcImxlZnRcIikge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwiY2VudGVyXCIpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwicmlnaHRcIikge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBcIlRoZSBtb2RpZmllciBgI3skbW9kaWZpZXJ9YCBpcyBub3QgdmFsaWQuXCI7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEludGVybmFsIG1peGluIHRoYXQgY3JlYXRlcyB0aGUgZ3JpZCByb3cgcmVsYXRlZCBjbGFzc2VzLlxuLy9cbkBtaXhpbiBjcy1mbGV4LWdyaWRfX3Jvdy1jbGFzc2VzKCkge1xuICAuI3skY3MtbnN9cm93IHtcbiAgICBAaW5jbHVkZSBjcy1mbGV4LWdyaWRfX3JvdztcbiAgfVxuXG4gIC4jeyRjcy1uc31yb3ctLW1hcmdpbiB7XG4gICAgQGluY2x1ZGUgY3MtZmxleC1ncmlkX19yb3ctLW1hcmdpbjtcbiAgfVxuXG4gIC4jeyRjcy1uc31yb3ctLW5vLWd1dHRlcnMge1xuICAgIEBpbmNsdWRlIGNzLWZsZXgtZ3JpZF9fcm93LS1uby1ndXR0ZXJzO1xuICB9XG5cbiAgQGlmICgkY3MtZW5hYmxlLWNsYXNzZXMtZmxleC1ncmlkLXJvdy0tYWxpZ24pIHtcbiAgICAuI3skY3MtbnN9cm93LS1hbGlnbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIGNzLWZsZXgtZ3JpZF9fcm93LS1hbGlnbihcImxlZnRcIik7XG4gICAgfVxuXG4gICAgLiN7JGNzLW5zfXJvdy0tYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzLWZsZXgtZ3JpZF9fcm93LS1hbGlnbihcImNlbnRlclwiKTtcbiAgICB9XG5cbiAgICAuI3skY3MtbnN9cm93LS1hbGlnbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBjcy1mbGV4LWdyaWRfX3Jvdy0tYWxpZ24oXCJyaWdodFwiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uIG1peGluc1xuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBzdHlsZSBhIGdyaWQgY29sdW1uLlxuLy9cbkBtaXhpbiBjcy1mbGV4LWdyaWRfX2NvbCgkY29sdW1uOiAxLCAkY29sdW1uczogJGNzLWdyaWQtY29sdW1ucykge1xuICBAaWYgKCRjb2x1bW4gQU5EICRjb2x1bW5zIEFORCAkY29sdW1uIDw9ICRjb2x1bW5zKSB7XG4gICAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJGNvbHVtbiAvICRjb2x1bW5zKTtcbiAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbiAvICRjb2x1bW5zKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtb2RpZmllciBtaXhpbiB0byBzdHlsZSBhIGdyaWQgY29sdW1uIG9mZnNldC5cbkBtaXhpbiBjcy1mbGV4LWdyaWRfX2NvbC0tb2ZzZXQoJGNvbHVtbjogMSwgJGNvbHVtbnM6ICRjcy1ncmlkLWNvbHVtbnMpIHtcbiAgQGlmICgkY29sdW1uIEFORCAkY29sdW1ucyBBTkQgJGNvbHVtbiA8ICRjb2x1bW5zKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGNvbHVtbiAvICRjb2x1bW5zKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtb2RpZmllciBtaXhpbiB0byBzdHlsZSBhIGdyaWQgY29sdW1uIGd1dHRlci5cbi8vXG5AbWl4aW4gY3MtZmxleC1ncmlkX19jb2wtLWd1dHRlcigkZ3V0dGVyOiAxcmVtKSB7XG4gIEBpZiAoJGd1dHRlcikge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNzLXJlbSgkZ3V0dGVyIC8gMik7XG4gICAgcGFkZGluZy1sZWZ0OiBjcy1yZW0oJGd1dHRlciAvIDIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBJbnRlcm5hbCBtaXhpbiB0byBjcmVhdGUgYWxsIHJlbGF0ZWQgY29sIGNsYXNzZXMuXG4vL1xuLy8gQ3JlYXRlcyBgY29sYCBhbmQgYWxsIGBjb2wte2JyZWFrcG9pbnR9LXtjb2x1bW59YCBjbGFzc2VzIGFuZFxuLy8gdGhlIGBjb2wtb2Zmc2V0LXticmVha3BvaW50fS17Y29sdW1ufWAgY2xhc3Nlcy5cbi8vIEFsc28gYWRkcyB0aGUgZ3VldHRlcnMgdG8gdGhlIGJhc2UgYGNvbGAgY2xhc3MuXG4vL1xuQG1peGluIGNzLWZsZXgtZ3JpZF9fY29sLWNsYXNzZXMoXG4gICRjb2x1bW5zOiAkY3MtZ3JpZC1jb2x1bW5zLFxuICAkZ3V0dGVyczogJGNzLWdyaWQtZ3V0dGVyLXdpZHRocyxcbiAgJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGNzLWJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIC8vIFRoaXMgYXBwbHkgdGhlIGd1dHRlciB0byB0aGUgYmFzZSBgY29sYCBjbGFzcyB0byByZWR1Y2UgY29tcGxleGl0eVxuICAgICAgLy8gYW5kIGFtb3VudCBvZiBjc3MsIHRob3VnaCB0aGlzIHJlcXVpcmVzIGFsd2F5cyB1c2UgdGhlIGBjb2xgIGNsYXNzLlxuICAgICAgJGd1dHRlcjogbWFwLWdldCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgICAgQGlmICgkZ3V0dGVyKSB7XG4gICAgICAgIC4jeyRjcy1uc31jb2wge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLWZsZXgtZ3JpZF9fY29sLS1ndXR0ZXIoJGd1dHRlcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjbGFzcyBwYXR0ZXJuOiAue3ByZWZpeH1jb2wte2JyZWFrcG9pbnR9XG4gICAgICAvLyBTdXBwb3J0IGZvciBiYXNlIGNvbCBjbGFzcyBsaWtlIGBjb2xgLCBgY29sLXNtYCwgZXRjLlxuICAgICAgLiN7JGNzLW5zfWNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgfVxuXG4gICAgICAvLyBDb2x1bW5zXG4gICAgICBAZm9yICRjb2x1bW4gZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAvLyBDb2x1bW4gY2xhc3MgcGF0dGVybjogLntwcmVmaXh9Y29sLXticmVha3BvaW50fS17Y29sLW51bWJlcn1cbiAgICAgICAgLy8gQWxsIGNvbHMgbGlrZSBgY29sLTFgLCBgY29sLXNtLTNgLCBgY29sLW1kLTZgLCBldGMuXG4gICAgICAgIC4jeyRjcy1uc31jb2wjeyRpbmZpeH0tI3skY29sdW1ufSB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtZmxleC1ncmlkX19jb2woJGNvbHVtbiwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAoJGNzLWVuYWJsZS1jbGFzc2VzLWZsZXgtZ3JpZC1jb2wtLW9mZnNldCkge1xuICAgICAgICAvLyBEb250IGNyZWF0ZSBvZmZzZXQtWCBmb3IgWCBhbW91bnQgb2YgY29sdW1ucy5cbiAgICAgICAgLy8gU2VwYXJhdGVkIGxvb3AgdG8gYXZvaWQgbWl4aW5nIGNvbCB3aXRoIGNvbC1vZmZzZXQgY2xhc3Nlcy5cbiAgICAgICAgQGZvciAkY29sdW1uIGZyb20gMSB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICAuI3skY3MtbnN9Y29sLW9mZnNldCN7JGluZml4fS0jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNzLWZsZXgtZ3JpZF9fY29sLS1vZnNldCgkY29sdW1uLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkY3MtbnM6ICdjc2UtJztcbkBpbXBvcnQgXCJjcy1zdHlsZWtpdC9zcmMvc2Nzcy9zdHlsZWtpdF9jc2VcIjtcblxuQG1peGluIF9jc2Vfc3R5bGVraXRfYmFzZV9mb250cygkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIC8vIE1ha2UgdGhlIGBib2R5YCB1c2UgdGhlIGBmb250LXNpemUtYmFzZWBcbiAgICBmb250LWZhbWlseTogJGNzLWZvbnQtZmFtaWx5LWJhc2U7XG4gICAgZm9udC1zaXplOiAkY3MtZm9udC1zaXplLWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6ICRjcy1saW5lLWhlaWdodDtcbiAgICAvLyBHbyBlYXN5IG9uIHRoZSBleWVzIGFuZCB1c2Ugc29tZXRoaW5nIG90aGVyIHRoYW4gYCMwMDBgIGZvciB0ZXh0XG4gICAgY29sb3I6ICRjcy1ib2R5LWNvbG9yO1xuICAgIC8vIEJ5IGRlZmF1bHQsIGA8Ym9keT5gIGhhcyBubyBgYmFja2dyb3VuZC1jb2xvcmAgc28gd2Ugc2V0IG9uZSBhcyBhIGJlc3QgcHJhY3RpY2UuXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNzLWJvZHktYmc7XG5cbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIH1cbiAgQGNvbnRlbnQ7XG59XG5cbi4jeyRjcy1uc31zdHlsZWtpdC1iYXNlLWZvbnRzIHtcbiAgQGluY2x1ZGUgX2NzZV9zdHlsZWtpdF9iYXNlX2ZvbnRzO1xufVxuXG5AaW1wb3J0IFwiY3Mtc3R5bGVraXQtb2xkL3Njc3Mvc2V0dGluZ3MvZ3JpZHNcIjtcbkBpbXBvcnQgXCJjcy1zdHlsZWtpdC1vbGQvc2Nzcy9taXhpbnMvZ3JpZFwiO1xuLiN7JGNzLW5zfWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNzLW1ha2UtY29udGFpbmVyKCk7XG4gIEBpbmNsdWRlIGNzLW1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuQG1peGluIGNzLW1ha2UtcGFnZS1tYXJnaW4oJG1hcmdpbnM6ICRjcy1wYWdlLW1hcmdpbnMpIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXJnaW5zIHtcbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRrZXksICRjcy1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkdmFsdWU7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNzLW1ha2UtY29udGFpbmVyKCRndXR0ZXJzOiAkY3MtZ3JpZC1ndXR0ZXItd2lkdGhzKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgQGluY2x1ZGUgY3MtY2xlYXJmaXgoKTtcblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3V0dGVycykge1xuICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRndXR0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNzLXJlbSgoJGd1dHRlciAvIDIpKTtcbiAgICAgIHBhZGRpbmctbGVmdDogY3MtcmVtKCgkZ3V0dGVyIC8gMikpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBjcy1tYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY3MtY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIHdpZHRoOiBjcy1yZW0oJGNvbnRhaW5lci1tYXgtd2lkdGgpO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY3MtbWFrZS1yb3coJGd1dHRlcnM6ICRjcy1ncmlkLWd1dHRlci13aWR0aHMpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRndXR0ZXJzKSB7XG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGd1dHRlcjogbWFwLWdldCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjcy1yZW0oKCRndXR0ZXIgLyAtMikpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNzLXJlbSgoJGd1dHRlciAvIC0yKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjcy1tYWtlLWNvbC1yZWFkeSgkZ3V0dGVyczogJGNzLWdyaWQtZ3V0dGVyLXdpZHRocykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7IC8vUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGd1dHRlcnMpIHtcbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkZ3V0dGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjcy1yZW0oKCRndXR0ZXIgLyAyKSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNzLXJlbSgoJGd1dHRlciAvIDIpKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNzLW1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGNzLWdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gY3MtbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGNzLWdyaWQtY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIGNzLW1ha2UtY29sLXB1c2goJHNpemUsICRjb2x1bW5zOiAkY3MtZ3JpZC1jb2x1bW5zKSB7XG4gIGxlZnQ6IGlmKCRzaXplID4gMCwgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKSwgYXV0byk7XG59XG5cbkBtaXhpbiBjcy1tYWtlLWNvbC1wdWxsKCRzaXplLCAkY29sdW1uczogJGNzLWdyaWQtY29sdW1ucykge1xuICByaWdodDogaWYoJHNpemUgPiAwLCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpLCBhdXRvKTtcbn1cblxuQG1peGluIGNzLW1ha2UtY29sLW1vZGlmaWVyKCR0eXBlLCAkc2l6ZSwgJGNvbHVtbnMpIHtcbiAgLy8gV29yayBhcm91bmQgdGhlIGxhY2sgb2YgZHluYW1pYyBtaXhpbiBAaW5jbHVkZSBjcy1zdXBwb3J0IChodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy82MjYpXG4gIEBpZiAkdHlwZSA9PSBwdXNoIHtcbiAgICBAaW5jbHVkZSBjcy1tYWtlLWNvbC1wdXNoKCRzaXplLCAkY29sdW1ucyk7XG4gIH0gQGVsc2UgaWYgJHR5cGUgPT0gcHVsbCB7XG4gICAgQGluY2x1ZGUgY3MtbWFrZS1jb2wtcHVsbCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9IEBlbHNlIGlmICR0eXBlID09IG9mZnNldCB7XG4gICAgQGluY2x1ZGUgY3MtbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1ucyk7XG4gIH1cbn1cblxuLy8gU2V0cyBicmVha3BvaW50IGFzIGNvbnRlbnQgdmFsdWUgb24gdGhlIGJvZHkgZWxlbWVudCBmb3IgdGlnZ2VyaW5nIEpTIGJyZWFrcG9pbnRzXG5AbWl4aW4gY3MtbWFrZS1qcy1icmVha3BvaW50KCRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBib2R5IHtcbiAgICAgICAgY29udGVudDogXCIjeyRicmVha3BvaW50fVwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kY3MtZ3JpZC1icmVha3BvaW50czogKFxuICAvLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuICB4czogMCxcbiAgLy8gU21hbGwgc2NyZWVuIC8gcGhvbmVcbiAgc206IDQ4MXB4LFxuICAvLyBNZWRpdW0gc2NyZWVuIC8gdGFibGV0XG4gIG1kOiA3NjlweCxcbiAgLy8gTGFyZ2Ugc2NyZWVuIC8gZGVza3RvcFxuICBsZzogOTcxcHgsXG4gIC8vIEV4dHJhIGxhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjcy1jb250YWluZXItbWF4LXdpZHRoczogKFxuICB4czogMTAwJSxcbiAgc206IDEwMCUsXG4gIG1kOiAxMDAlLFxuICBsZzogMTAwJSxcbiAgeGw6IG1hcC1nZXQoJGNzLWdyaWQtYnJlYWtwb2ludHMsIFwieGxcIilcbikgIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRjcy1ncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuJGNzLWdyaWQtZ3V0dGVyLXdpZHRoLWJhc2U6IDFyZW0gIWRlZmF1bHQ7XG4kY3MtZ3JpZC1ndXR0ZXItd2lkdGhzOiAoXG4gIHhzOiAkY3MtZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSwgLy8gMXJlbSAxNnB4XG4gIHNtOiAkY3MtZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSwgLy8gMXJlbSAxNnB4XG4gIG1kOiAkY3MtZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSAqIDEuNSwgLy8gMS41cmVtIDI0cHgsXG4gIGxnOiAkY3MtZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSAqIDEuNSwgLy8gMS41cmVtIDI0cHgsXG4gIHhsOiAkY3MtZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSAqIDEuNSwgLy8gMS41cmVtIDI0cHgsXG4pICFkZWZhdWx0O1xuXG4vLyBQYWdlIG1hcmdpbnNcbiRjcy1wYWdlLW1hcmdpbi13aWR0aC1iYXNlOiAxcmVtICFkZWZhdWx0O1xuJGNzLXBhZ2UtbWFyZ2luczogKFxuICB4czogJGNzLXBhZ2UtbWFyZ2luLXdpZHRoLWJhc2UsIC8vIDFyZW0gMTZweFxuICBzbTogJGNzLXBhZ2UtbWFyZ2luLXdpZHRoLWJhc2UgKiAxLjUsIC8vIDEuNXJlbSAyNHB4LFxuICBtZDogJGNzLXBhZ2UtbWFyZ2luLXdpZHRoLWJhc2UgKiAxLjUsIC8vIDEuNXJlbSAyNHB4LFxuICBsZzogJGNzLXBhZ2UtbWFyZ2luLXdpZHRoLWJhc2UgKiAyLCAvLyAycmVtIDMycHgsXG4gIHhsOiAkY3MtcGFnZS1tYXJnaW4td2lkdGgtYmFzZSAqIDIsIC8vIDJyZW0gMzJweCxcbikgIWRlZmF1bHQ7XG4iLCIvLyBDUkVESVQ6IEJPT1RTVFJBUCA0XG5cbkBtaXhpbiBjcy1jbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiJdfQ== */