@charset "UTF-8";
@font-face {
  font-family: 'robotoregular';
  src: url("../fonts/roboto-regular-webfont.woff2") format("woff2"), url("../fonts/roboto-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'robotobold';
  src: url("../fonts/roboto-bold-webfont.woff2") format("woff2"), url("../fonts/roboto-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'robotomedium';
  src: url("../fonts/roboto-medium-webfont.woff2") format("woff2"), url("../fonts/roboto-medium-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'robotolight';
  src: url("../fonts/roboto-light-webfont.woff2") format("woff2"), url("../fonts/roboto-light-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'robotoblack';
  src: url("../fonts/roboto-black-webfont.woff2") format("woff2"), url("../fonts/roboto-black-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  margin: 0;
  padding: 0;
  background: #FFFFFF;
  font-family: "robotoregular", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.8;
  color: #002B58;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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

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

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

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

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

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

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

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

h1, .sectiontitle, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "robotoregular";
  font-style: normal;
  font-weight: normal;
  color: #002B58;
  text-rendering: optimizeLegibility; }
  h1 small, .sectiontitle small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #2F363D; }

h1, .sectiontitle, .h1 {
  font-size: 1.4375rem;
  line-height: 1.16;
  margin-top: 0;
  margin-bottom: 0; }

h2, .h2 {
  font-size: 1.4375rem;
  line-height: 1.16;
  margin-top: 0;
  margin-bottom: 0; }

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

h4, .h4 {
  font-size: 1.1875rem;
  line-height: 1.16;
  margin-top: 0;
  margin-bottom: 0; }

h5, .h5 {
  font-size: 1.125rem;
  line-height: 1.16;
  margin-top: 0;
  margin-bottom: 0; }

h6, .h6 {
  font-size: 1.0625rem;
  line-height: 1.16;
  margin-top: 0;
  margin-bottom: 0; }

@media print, screen and (min-width: 40em) {
  h1, .sectiontitle, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 1.625rem; }
  h3, .h3 {
    font-size: 1.5rem; }
  h4, .h4 {
    font-size: 1.375rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1.1875rem; } }

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #2F363D; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #002B58; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #002B58; }
  cite:before {
    content: "— "; }

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

figure {
  margin: 0; }

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

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

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

.lead {
  font-size: 125%;
  line-height: 1.6; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.button, .daterangepicker .drp-buttons .btn, .footer .beforefooter .col1-2-wrapper .col2 a, .flexible-form-wrapper input[type="submit"] {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 0;
  font-family: "rift";
  padding: 1.4em 2.5em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.2s ease, color 0.2s ease;
  font-size: 0.85rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: transparent;
  color: #002B58; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .daterangepicker .drp-buttons .btn, .daterangepicker .drp-buttons [data-whatinput='mouse'] .btn, [data-whatinput='mouse'] .footer .beforefooter .col1-2-wrapper .col2 a, .footer .beforefooter .col1-2-wrapper .col2 [data-whatinput='mouse'] a, [data-whatinput='mouse'] .flexible-form-wrapper input[type="submit"], .flexible-form-wrapper [data-whatinput='mouse'] input[type="submit"] {
    outline: 0; }
  .button:hover, .daterangepicker .drp-buttons .btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a:hover, .flexible-form-wrapper input:hover[type="submit"], .button:focus, .daterangepicker .drp-buttons .btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a:focus, .flexible-form-wrapper input:focus[type="submit"] {
    background-color: #002B58;
    color: #002B58; }
  .button.tiny, .daterangepicker .drp-buttons .tiny.btn, .footer .beforefooter .col1-2-wrapper .col2 a.tiny, .flexible-form-wrapper input.tiny[type="submit"] {
    font-size: 0.6rem; }
  .button.small, .daterangepicker .drp-buttons .btn, .footer .beforefooter .col1-2-wrapper .col2 a.small, .footer .beforefooter .col1-2-wrapper .col2 .daterangepicker .drp-buttons a.btn, .daterangepicker .drp-buttons .footer .beforefooter .col1-2-wrapper .col2 a.btn, .flexible-form-wrapper input.small[type="submit"] {
    font-size: 0.8125rem; }
  .button.large, .daterangepicker .drp-buttons .large.btn, .footer .beforefooter .col1-2-wrapper .col2 a.large, .flexible-form-wrapper input.large[type="submit"] {
    font-size: 1.25rem; }
  .button.expanded, .daterangepicker .drp-buttons .expanded.btn, .footer .beforefooter .col1-2-wrapper .col2 a.expanded, .flexible-form-wrapper input.expanded[type="submit"] {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary, .daterangepicker .drp-buttons .primary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.primary, .flexible-form-wrapper input.primary[type="submit"] {
    background-color: #002B58;
    color: #000000; }
    .button.primary:hover, .daterangepicker .drp-buttons .primary.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.primary:hover, .flexible-form-wrapper input.primary:hover[type="submit"], .button.primary:focus, .daterangepicker .drp-buttons .primary.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.primary:focus, .flexible-form-wrapper input.primary:focus[type="submit"] {
      background-color: #002246;
      color: #000000; }
  .button.secondary, .daterangepicker .drp-buttons .secondary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.secondary, .flexible-form-wrapper input.secondary[type="submit"] {
    background-color: #DC2B1C;
    color: #000000; }
    .button.secondary:hover, .daterangepicker .drp-buttons .secondary.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.secondary:hover, .flexible-form-wrapper input.secondary:hover[type="submit"], .button.secondary:focus, .daterangepicker .drp-buttons .secondary.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.secondary:focus, .flexible-form-wrapper input.secondary:focus[type="submit"] {
      background-color: #b02216;
      color: #000000; }
  .button.success, .daterangepicker .drp-buttons .success.btn, .footer .beforefooter .col1-2-wrapper .col2 a.success, .flexible-form-wrapper input.success[type="submit"] {
    background-color: #6EB533;
    color: #000000; }
    .button.success:hover, .daterangepicker .drp-buttons .success.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.success:hover, .flexible-form-wrapper input.success:hover[type="submit"], .button.success:focus, .daterangepicker .drp-buttons .success.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.success:focus, .flexible-form-wrapper input.success:focus[type="submit"] {
      background-color: #589129;
      color: #000000; }
  .button.warning, .daterangepicker .drp-buttons .warning.btn, .footer .beforefooter .col1-2-wrapper .col2 a.warning, .flexible-form-wrapper input.warning[type="submit"] {
    background-color: #F8D300;
    color: #000000; }
    .button.warning:hover, .daterangepicker .drp-buttons .warning.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.warning:hover, .flexible-form-wrapper input.warning:hover[type="submit"], .button.warning:focus, .daterangepicker .drp-buttons .warning.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.warning:focus, .flexible-form-wrapper input.warning:focus[type="submit"] {
      background-color: #c6a900;
      color: #000000; }
  .button.alert, .daterangepicker .drp-buttons .alert.btn, .footer .beforefooter .col1-2-wrapper .col2 a.alert, .flexible-form-wrapper input.alert[type="submit"] {
    background-color: #EC1D24;
    color: #000000; }
    .button.alert:hover, .daterangepicker .drp-buttons .alert.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.alert:hover, .flexible-form-wrapper input.alert:hover[type="submit"], .button.alert:focus, .daterangepicker .drp-buttons .alert.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.alert:focus, .flexible-form-wrapper input.alert:focus[type="submit"] {
      background-color: #c41016;
      color: #000000; }
  .button.disabled, .daterangepicker .drp-buttons .disabled.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled, .flexible-form-wrapper input.disabled[type="submit"], .button[disabled], .daterangepicker .drp-buttons .btn[disabled], .footer .beforefooter .col1-2-wrapper .col2 a[disabled], .flexible-form-wrapper input[disabled][type="submit"] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .daterangepicker .drp-buttons .disabled.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled, .flexible-form-wrapper input.disabled[type="submit"], .button.disabled:hover, .daterangepicker .drp-buttons .disabled.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.disabled:hover, .flexible-form-wrapper input.disabled:hover[type="submit"], .button.disabled:focus, .daterangepicker .drp-buttons .disabled.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.disabled:focus, .flexible-form-wrapper input.disabled:focus[type="submit"], .button[disabled], .daterangepicker .drp-buttons .btn[disabled], .footer .beforefooter .col1-2-wrapper .col2 a[disabled], .flexible-form-wrapper input[disabled][type="submit"], .button[disabled]:hover, .daterangepicker .drp-buttons .btn[disabled]:hover, .footer .beforefooter .col1-2-wrapper .col2 a[disabled]:hover, .flexible-form-wrapper input[disabled]:hover[type="submit"], .button[disabled]:focus, .daterangepicker .drp-buttons .btn[disabled]:focus, .footer .beforefooter .col1-2-wrapper .col2 a[disabled]:focus, .flexible-form-wrapper input[disabled]:focus[type="submit"] {
      background-color: transparent;
      color: #002B58; }
    .button.disabled.primary, .daterangepicker .drp-buttons .disabled.primary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.primary, .flexible-form-wrapper input.disabled.primary[type="submit"], .button[disabled].primary, .daterangepicker .drp-buttons .btn[disabled].primary, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].primary, .flexible-form-wrapper input[disabled].primary[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .daterangepicker .drp-buttons .disabled.primary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.primary, .flexible-form-wrapper input.disabled.primary[type="submit"], .button.disabled.primary:hover, .daterangepicker .drp-buttons .disabled.primary.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.primary:hover, .flexible-form-wrapper input.disabled.primary:hover[type="submit"], .button.disabled.primary:focus, .daterangepicker .drp-buttons .disabled.primary.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.primary:focus, .flexible-form-wrapper input.disabled.primary:focus[type="submit"], .button[disabled].primary, .daterangepicker .drp-buttons .btn[disabled].primary, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].primary, .flexible-form-wrapper input[disabled].primary[type="submit"], .button[disabled].primary:hover, .daterangepicker .drp-buttons .btn[disabled].primary:hover, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].primary:hover, .flexible-form-wrapper input[disabled].primary:hover[type="submit"], .button[disabled].primary:focus, .daterangepicker .drp-buttons .btn[disabled].primary:focus, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].primary:focus, .flexible-form-wrapper input[disabled].primary:focus[type="submit"] {
        background-color: #002B58;
        color: #000000; }
    .button.disabled.secondary, .daterangepicker .drp-buttons .disabled.secondary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.secondary, .flexible-form-wrapper input.disabled.secondary[type="submit"], .button[disabled].secondary, .daterangepicker .drp-buttons .btn[disabled].secondary, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].secondary, .flexible-form-wrapper input[disabled].secondary[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .daterangepicker .drp-buttons .disabled.secondary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.secondary, .flexible-form-wrapper input.disabled.secondary[type="submit"], .button.disabled.secondary:hover, .daterangepicker .drp-buttons .disabled.secondary.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.secondary:hover, .flexible-form-wrapper input.disabled.secondary:hover[type="submit"], .button.disabled.secondary:focus, .daterangepicker .drp-buttons .disabled.secondary.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.secondary:focus, .flexible-form-wrapper input.disabled.secondary:focus[type="submit"], .button[disabled].secondary, .daterangepicker .drp-buttons .btn[disabled].secondary, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].secondary, .flexible-form-wrapper input[disabled].secondary[type="submit"], .button[disabled].secondary:hover, .daterangepicker .drp-buttons .btn[disabled].secondary:hover, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].secondary:hover, .flexible-form-wrapper input[disabled].secondary:hover[type="submit"], .button[disabled].secondary:focus, .daterangepicker .drp-buttons .btn[disabled].secondary:focus, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].secondary:focus, .flexible-form-wrapper input[disabled].secondary:focus[type="submit"] {
        background-color: #DC2B1C;
        color: #000000; }
    .button.disabled.success, .daterangepicker .drp-buttons .disabled.success.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.success, .flexible-form-wrapper input.disabled.success[type="submit"], .button[disabled].success, .daterangepicker .drp-buttons .btn[disabled].success, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].success, .flexible-form-wrapper input[disabled].success[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .daterangepicker .drp-buttons .disabled.success.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.success, .flexible-form-wrapper input.disabled.success[type="submit"], .button.disabled.success:hover, .daterangepicker .drp-buttons .disabled.success.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.success:hover, .flexible-form-wrapper input.disabled.success:hover[type="submit"], .button.disabled.success:focus, .daterangepicker .drp-buttons .disabled.success.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.success:focus, .flexible-form-wrapper input.disabled.success:focus[type="submit"], .button[disabled].success, .daterangepicker .drp-buttons .btn[disabled].success, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].success, .flexible-form-wrapper input[disabled].success[type="submit"], .button[disabled].success:hover, .daterangepicker .drp-buttons .btn[disabled].success:hover, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].success:hover, .flexible-form-wrapper input[disabled].success:hover[type="submit"], .button[disabled].success:focus, .daterangepicker .drp-buttons .btn[disabled].success:focus, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].success:focus, .flexible-form-wrapper input[disabled].success:focus[type="submit"] {
        background-color: #6EB533;
        color: #000000; }
    .button.disabled.warning, .daterangepicker .drp-buttons .disabled.warning.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.warning, .flexible-form-wrapper input.disabled.warning[type="submit"], .button[disabled].warning, .daterangepicker .drp-buttons .btn[disabled].warning, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].warning, .flexible-form-wrapper input[disabled].warning[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .daterangepicker .drp-buttons .disabled.warning.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.warning, .flexible-form-wrapper input.disabled.warning[type="submit"], .button.disabled.warning:hover, .daterangepicker .drp-buttons .disabled.warning.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.warning:hover, .flexible-form-wrapper input.disabled.warning:hover[type="submit"], .button.disabled.warning:focus, .daterangepicker .drp-buttons .disabled.warning.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.warning:focus, .flexible-form-wrapper input.disabled.warning:focus[type="submit"], .button[disabled].warning, .daterangepicker .drp-buttons .btn[disabled].warning, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].warning, .flexible-form-wrapper input[disabled].warning[type="submit"], .button[disabled].warning:hover, .daterangepicker .drp-buttons .btn[disabled].warning:hover, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].warning:hover, .flexible-form-wrapper input[disabled].warning:hover[type="submit"], .button[disabled].warning:focus, .daterangepicker .drp-buttons .btn[disabled].warning:focus, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].warning:focus, .flexible-form-wrapper input[disabled].warning:focus[type="submit"] {
        background-color: #F8D300;
        color: #000000; }
    .button.disabled.alert, .daterangepicker .drp-buttons .disabled.alert.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.alert, .flexible-form-wrapper input.disabled.alert[type="submit"], .button[disabled].alert, .daterangepicker .drp-buttons .btn[disabled].alert, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].alert, .flexible-form-wrapper input[disabled].alert[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .daterangepicker .drp-buttons .disabled.alert.btn, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.alert, .flexible-form-wrapper input.disabled.alert[type="submit"], .button.disabled.alert:hover, .daterangepicker .drp-buttons .disabled.alert.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.alert:hover, .flexible-form-wrapper input.disabled.alert:hover[type="submit"], .button.disabled.alert:focus, .daterangepicker .drp-buttons .disabled.alert.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.disabled.alert:focus, .flexible-form-wrapper input.disabled.alert:focus[type="submit"], .button[disabled].alert, .daterangepicker .drp-buttons .btn[disabled].alert, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].alert, .flexible-form-wrapper input[disabled].alert[type="submit"], .button[disabled].alert:hover, .daterangepicker .drp-buttons .btn[disabled].alert:hover, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].alert:hover, .flexible-form-wrapper input[disabled].alert:hover[type="submit"], .button[disabled].alert:focus, .daterangepicker .drp-buttons .btn[disabled].alert:focus, .footer .beforefooter .col1-2-wrapper .col2 a[disabled].alert:focus, .flexible-form-wrapper input[disabled].alert:focus[type="submit"] {
        background-color: #EC1D24;
        color: #000000; }
  .button.hollow, .daterangepicker .drp-buttons .hollow.btn, .footer .beforefooter .col1-2-wrapper .col2 a.hollow, .flexible-form-wrapper input.hollow[type="submit"] {
    border: 1px solid transparent;
    color: transparent; }
    .button.hollow, .daterangepicker .drp-buttons .hollow.btn, .footer .beforefooter .col1-2-wrapper .col2 a.hollow, .flexible-form-wrapper input.hollow[type="submit"], .button.hollow:hover, .daterangepicker .drp-buttons .hollow.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.hollow:hover, .flexible-form-wrapper input.hollow:hover[type="submit"], .button.hollow:focus, .daterangepicker .drp-buttons .hollow.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.hollow:focus, .flexible-form-wrapper input.hollow:focus[type="submit"] {
      background-color: transparent; }
    .button.hollow.disabled, .daterangepicker .drp-buttons .hollow.disabled.btn, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.disabled, .flexible-form-wrapper input.hollow.disabled[type="submit"], .button.hollow.disabled:hover, .daterangepicker .drp-buttons .hollow.disabled.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.disabled:hover, .flexible-form-wrapper input.hollow.disabled:hover[type="submit"], .button.hollow.disabled:focus, .daterangepicker .drp-buttons .hollow.disabled.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.disabled:focus, .flexible-form-wrapper input.hollow.disabled:focus[type="submit"], .button.hollow[disabled], .daterangepicker .drp-buttons .hollow.btn[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow[disabled], .flexible-form-wrapper input.hollow[disabled][type="submit"], .button.hollow[disabled]:hover, .daterangepicker .drp-buttons .hollow.btn[disabled]:hover, .footer .beforefooter .col1-2-wrapper .col2 a.hollow[disabled]:hover, .flexible-form-wrapper input.hollow[disabled]:hover[type="submit"], .button.hollow[disabled]:focus, .daterangepicker .drp-buttons .hollow.btn[disabled]:focus, .footer .beforefooter .col1-2-wrapper .col2 a.hollow[disabled]:focus, .flexible-form-wrapper input.hollow[disabled]:focus[type="submit"] {
      background-color: transparent; }
    .button.hollow:hover, .daterangepicker .drp-buttons .hollow.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.hollow:hover, .flexible-form-wrapper input.hollow:hover[type="submit"], .button.hollow:focus, .daterangepicker .drp-buttons .hollow.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.hollow:focus, .flexible-form-wrapper input.hollow:focus[type="submit"] {
      border-color: rgba(0, 0, 0, 0);
      color: rgba(0, 0, 0, 0); }
      .button.hollow:hover.disabled, .daterangepicker .drp-buttons .hollow.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow:hover.disabled, .flexible-form-wrapper input.hollow:hover.disabled[type="submit"], .button.hollow:hover[disabled], .daterangepicker .drp-buttons .hollow.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow:hover[disabled], .flexible-form-wrapper input.hollow:hover[disabled][type="submit"], .button.hollow:focus.disabled, .daterangepicker .drp-buttons .hollow.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow:focus.disabled, .flexible-form-wrapper input.hollow:focus.disabled[type="submit"], .button.hollow:focus[disabled], .daterangepicker .drp-buttons .hollow.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow:focus[disabled], .flexible-form-wrapper input.hollow:focus[disabled][type="submit"] {
        border: 1px solid transparent;
        color: transparent; }
    .button.hollow.primary, .daterangepicker .drp-buttons .hollow.primary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.primary, .flexible-form-wrapper input.hollow.primary[type="submit"] {
      border: 1px solid #002B58;
      color: #002B58; }
      .button.hollow.primary:hover, .daterangepicker .drp-buttons .hollow.primary.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.primary:hover, .flexible-form-wrapper input.hollow.primary:hover[type="submit"], .button.hollow.primary:focus, .daterangepicker .drp-buttons .hollow.primary.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.primary:focus, .flexible-form-wrapper input.hollow.primary:focus[type="submit"] {
        border-color: #00162c;
        color: #00162c; }
        .button.hollow.primary:hover.disabled, .daterangepicker .drp-buttons .hollow.primary.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.primary:hover.disabled, .flexible-form-wrapper input.hollow.primary:hover.disabled[type="submit"], .button.hollow.primary:hover[disabled], .daterangepicker .drp-buttons .hollow.primary.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow.primary:hover[disabled], .flexible-form-wrapper input.hollow.primary:hover[disabled][type="submit"], .button.hollow.primary:focus.disabled, .daterangepicker .drp-buttons .hollow.primary.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.primary:focus.disabled, .flexible-form-wrapper input.hollow.primary:focus.disabled[type="submit"], .button.hollow.primary:focus[disabled], .daterangepicker .drp-buttons .hollow.primary.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow.primary:focus[disabled], .flexible-form-wrapper input.hollow.primary:focus[disabled][type="submit"] {
          border: 1px solid #002B58;
          color: #002B58; }
    .button.hollow.secondary, .daterangepicker .drp-buttons .hollow.secondary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.secondary, .flexible-form-wrapper input.hollow.secondary[type="submit"] {
      border: 1px solid #DC2B1C;
      color: #DC2B1C; }
      .button.hollow.secondary:hover, .daterangepicker .drp-buttons .hollow.secondary.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.secondary:hover, .flexible-form-wrapper input.hollow.secondary:hover[type="submit"], .button.hollow.secondary:focus, .daterangepicker .drp-buttons .hollow.secondary.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.secondary:focus, .flexible-form-wrapper input.hollow.secondary:focus[type="submit"] {
        border-color: #6e160e;
        color: #6e160e; }
        .button.hollow.secondary:hover.disabled, .daterangepicker .drp-buttons .hollow.secondary.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.secondary:hover.disabled, .flexible-form-wrapper input.hollow.secondary:hover.disabled[type="submit"], .button.hollow.secondary:hover[disabled], .daterangepicker .drp-buttons .hollow.secondary.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow.secondary:hover[disabled], .flexible-form-wrapper input.hollow.secondary:hover[disabled][type="submit"], .button.hollow.secondary:focus.disabled, .daterangepicker .drp-buttons .hollow.secondary.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.secondary:focus.disabled, .flexible-form-wrapper input.hollow.secondary:focus.disabled[type="submit"], .button.hollow.secondary:focus[disabled], .daterangepicker .drp-buttons .hollow.secondary.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow.secondary:focus[disabled], .flexible-form-wrapper input.hollow.secondary:focus[disabled][type="submit"] {
          border: 1px solid #DC2B1C;
          color: #DC2B1C; }
    .button.hollow.success, .daterangepicker .drp-buttons .hollow.success.btn, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.success, .flexible-form-wrapper input.hollow.success[type="submit"] {
      border: 1px solid #6EB533;
      color: #6EB533; }
      .button.hollow.success:hover, .daterangepicker .drp-buttons .hollow.success.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.success:hover, .flexible-form-wrapper input.hollow.success:hover[type="submit"], .button.hollow.success:focus, .daterangepicker .drp-buttons .hollow.success.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.success:focus, .flexible-form-wrapper input.hollow.success:focus[type="submit"] {
        border-color: #375b1a;
        color: #375b1a; }
        .button.hollow.success:hover.disabled, .daterangepicker .drp-buttons .hollow.success.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.success:hover.disabled, .flexible-form-wrapper input.hollow.success:hover.disabled[type="submit"], .button.hollow.success:hover[disabled], .daterangepicker .drp-buttons .hollow.success.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow.success:hover[disabled], .flexible-form-wrapper input.hollow.success:hover[disabled][type="submit"], .button.hollow.success:focus.disabled, .daterangepicker .drp-buttons .hollow.success.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.success:focus.disabled, .flexible-form-wrapper input.hollow.success:focus.disabled[type="submit"], .button.hollow.success:focus[disabled], .daterangepicker .drp-buttons .hollow.success.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow.success:focus[disabled], .flexible-form-wrapper input.hollow.success:focus[disabled][type="submit"] {
          border: 1px solid #6EB533;
          color: #6EB533; }
    .button.hollow.warning, .daterangepicker .drp-buttons .hollow.warning.btn, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.warning, .flexible-form-wrapper input.hollow.warning[type="submit"] {
      border: 1px solid #F8D300;
      color: #F8D300; }
      .button.hollow.warning:hover, .daterangepicker .drp-buttons .hollow.warning.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.warning:hover, .flexible-form-wrapper input.hollow.warning:hover[type="submit"], .button.hollow.warning:focus, .daterangepicker .drp-buttons .hollow.warning.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.warning:focus, .flexible-form-wrapper input.hollow.warning:focus[type="submit"] {
        border-color: #7c6a00;
        color: #7c6a00; }
        .button.hollow.warning:hover.disabled, .daterangepicker .drp-buttons .hollow.warning.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.warning:hover.disabled, .flexible-form-wrapper input.hollow.warning:hover.disabled[type="submit"], .button.hollow.warning:hover[disabled], .daterangepicker .drp-buttons .hollow.warning.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow.warning:hover[disabled], .flexible-form-wrapper input.hollow.warning:hover[disabled][type="submit"], .button.hollow.warning:focus.disabled, .daterangepicker .drp-buttons .hollow.warning.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.warning:focus.disabled, .flexible-form-wrapper input.hollow.warning:focus.disabled[type="submit"], .button.hollow.warning:focus[disabled], .daterangepicker .drp-buttons .hollow.warning.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow.warning:focus[disabled], .flexible-form-wrapper input.hollow.warning:focus[disabled][type="submit"] {
          border: 1px solid #F8D300;
          color: #F8D300; }
    .button.hollow.alert, .daterangepicker .drp-buttons .hollow.alert.btn, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.alert, .flexible-form-wrapper input.hollow.alert[type="submit"] {
      border: 1px solid #EC1D24;
      color: #EC1D24; }
      .button.hollow.alert:hover, .daterangepicker .drp-buttons .hollow.alert.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.alert:hover, .flexible-form-wrapper input.hollow.alert:hover[type="submit"], .button.hollow.alert:focus, .daterangepicker .drp-buttons .hollow.alert.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.alert:focus, .flexible-form-wrapper input.hollow.alert:focus[type="submit"] {
        border-color: #7a0a0e;
        color: #7a0a0e; }
        .button.hollow.alert:hover.disabled, .daterangepicker .drp-buttons .hollow.alert.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.alert:hover.disabled, .flexible-form-wrapper input.hollow.alert:hover.disabled[type="submit"], .button.hollow.alert:hover[disabled], .daterangepicker .drp-buttons .hollow.alert.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow.alert:hover[disabled], .flexible-form-wrapper input.hollow.alert:hover[disabled][type="submit"], .button.hollow.alert:focus.disabled, .daterangepicker .drp-buttons .hollow.alert.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.hollow.alert:focus.disabled, .flexible-form-wrapper input.hollow.alert:focus.disabled[type="submit"], .button.hollow.alert:focus[disabled], .daterangepicker .drp-buttons .hollow.alert.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.hollow.alert:focus[disabled], .flexible-form-wrapper input.hollow.alert:focus[disabled][type="submit"] {
          border: 1px solid #EC1D24;
          color: #EC1D24; }
  .button.clear, .daterangepicker .drp-buttons .clear.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear, .flexible-form-wrapper input.clear[type="submit"] {
    border: 1px solid transparent;
    color: transparent; }
    .button.clear, .daterangepicker .drp-buttons .clear.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear, .flexible-form-wrapper input.clear[type="submit"], .button.clear:hover, .daterangepicker .drp-buttons .clear.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear:hover, .flexible-form-wrapper input.clear:hover[type="submit"], .button.clear:focus, .daterangepicker .drp-buttons .clear.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear:focus, .flexible-form-wrapper input.clear:focus[type="submit"] {
      background-color: transparent; }
    .button.clear.disabled, .daterangepicker .drp-buttons .clear.disabled.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.disabled, .flexible-form-wrapper input.clear.disabled[type="submit"], .button.clear.disabled:hover, .daterangepicker .drp-buttons .clear.disabled.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.disabled:hover, .flexible-form-wrapper input.clear.disabled:hover[type="submit"], .button.clear.disabled:focus, .daterangepicker .drp-buttons .clear.disabled.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.disabled:focus, .flexible-form-wrapper input.clear.disabled:focus[type="submit"], .button.clear[disabled], .daterangepicker .drp-buttons .clear.btn[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear[disabled], .flexible-form-wrapper input.clear[disabled][type="submit"], .button.clear[disabled]:hover, .daterangepicker .drp-buttons .clear.btn[disabled]:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear[disabled]:hover, .flexible-form-wrapper input.clear[disabled]:hover[type="submit"], .button.clear[disabled]:focus, .daterangepicker .drp-buttons .clear.btn[disabled]:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear[disabled]:focus, .flexible-form-wrapper input.clear[disabled]:focus[type="submit"] {
      background-color: transparent; }
    .button.clear:hover, .daterangepicker .drp-buttons .clear.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear:hover, .flexible-form-wrapper input.clear:hover[type="submit"], .button.clear:focus, .daterangepicker .drp-buttons .clear.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear:focus, .flexible-form-wrapper input.clear:focus[type="submit"] {
      border-color: rgba(0, 0, 0, 0);
      color: rgba(0, 0, 0, 0); }
      .button.clear:hover.disabled, .daterangepicker .drp-buttons .clear.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear:hover.disabled, .flexible-form-wrapper input.clear:hover.disabled[type="submit"], .button.clear:hover[disabled], .daterangepicker .drp-buttons .clear.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear:hover[disabled], .flexible-form-wrapper input.clear:hover[disabled][type="submit"], .button.clear:focus.disabled, .daterangepicker .drp-buttons .clear.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear:focus.disabled, .flexible-form-wrapper input.clear:focus.disabled[type="submit"], .button.clear:focus[disabled], .daterangepicker .drp-buttons .clear.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear:focus[disabled], .flexible-form-wrapper input.clear:focus[disabled][type="submit"] {
        border: 1px solid transparent;
        color: transparent; }
    .button.clear, .daterangepicker .drp-buttons .clear.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear, .flexible-form-wrapper input.clear[type="submit"], .button.clear.disabled, .daterangepicker .drp-buttons .clear.disabled.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.disabled, .flexible-form-wrapper input.clear.disabled[type="submit"], .button.clear[disabled], .daterangepicker .drp-buttons .clear.btn[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear[disabled], .flexible-form-wrapper input.clear[disabled][type="submit"], .button.clear:hover, .daterangepicker .drp-buttons .clear.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear:hover, .flexible-form-wrapper input.clear:hover[type="submit"], .button.clear:hover.disabled, .daterangepicker .drp-buttons .clear.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear:hover.disabled, .flexible-form-wrapper input.clear:hover.disabled[type="submit"], .button.clear:hover[disabled], .daterangepicker .drp-buttons .clear.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear:hover[disabled], .flexible-form-wrapper input.clear:hover[disabled][type="submit"], .button.clear:focus, .daterangepicker .drp-buttons .clear.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear:focus, .flexible-form-wrapper input.clear:focus[type="submit"], .button.clear:focus.disabled, .daterangepicker .drp-buttons .clear.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear:focus.disabled, .flexible-form-wrapper input.clear:focus.disabled[type="submit"], .button.clear:focus[disabled], .daterangepicker .drp-buttons .clear.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear:focus[disabled], .flexible-form-wrapper input.clear:focus[disabled][type="submit"] {
      border-color: transparent; }
    .button.clear.primary, .daterangepicker .drp-buttons .clear.primary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary, .flexible-form-wrapper input.clear.primary[type="submit"] {
      border: 1px solid #002B58;
      color: #002B58; }
      .button.clear.primary:hover, .daterangepicker .drp-buttons .clear.primary.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:hover, .flexible-form-wrapper input.clear.primary:hover[type="submit"], .button.clear.primary:focus, .daterangepicker .drp-buttons .clear.primary.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:focus, .flexible-form-wrapper input.clear.primary:focus[type="submit"] {
        border-color: #00162c;
        color: #00162c; }
        .button.clear.primary:hover.disabled, .daterangepicker .drp-buttons .clear.primary.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:hover.disabled, .flexible-form-wrapper input.clear.primary:hover.disabled[type="submit"], .button.clear.primary:hover[disabled], .daterangepicker .drp-buttons .clear.primary.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:hover[disabled], .flexible-form-wrapper input.clear.primary:hover[disabled][type="submit"], .button.clear.primary:focus.disabled, .daterangepicker .drp-buttons .clear.primary.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:focus.disabled, .flexible-form-wrapper input.clear.primary:focus.disabled[type="submit"], .button.clear.primary:focus[disabled], .daterangepicker .drp-buttons .clear.primary.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:focus[disabled], .flexible-form-wrapper input.clear.primary:focus[disabled][type="submit"] {
          border: 1px solid #002B58;
          color: #002B58; }
      .button.clear.primary, .daterangepicker .drp-buttons .clear.primary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary, .flexible-form-wrapper input.clear.primary[type="submit"], .button.clear.primary.disabled, .daterangepicker .drp-buttons .clear.primary.disabled.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary.disabled, .flexible-form-wrapper input.clear.primary.disabled[type="submit"], .button.clear.primary[disabled], .daterangepicker .drp-buttons .clear.primary.btn[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary[disabled], .flexible-form-wrapper input.clear.primary[disabled][type="submit"], .button.clear.primary:hover, .daterangepicker .drp-buttons .clear.primary.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:hover, .flexible-form-wrapper input.clear.primary:hover[type="submit"], .button.clear.primary:hover.disabled, .daterangepicker .drp-buttons .clear.primary.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:hover.disabled, .flexible-form-wrapper input.clear.primary:hover.disabled[type="submit"], .button.clear.primary:hover[disabled], .daterangepicker .drp-buttons .clear.primary.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:hover[disabled], .flexible-form-wrapper input.clear.primary:hover[disabled][type="submit"], .button.clear.primary:focus, .daterangepicker .drp-buttons .clear.primary.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:focus, .flexible-form-wrapper input.clear.primary:focus[type="submit"], .button.clear.primary:focus.disabled, .daterangepicker .drp-buttons .clear.primary.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:focus.disabled, .flexible-form-wrapper input.clear.primary:focus.disabled[type="submit"], .button.clear.primary:focus[disabled], .daterangepicker .drp-buttons .clear.primary.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.primary:focus[disabled], .flexible-form-wrapper input.clear.primary:focus[disabled][type="submit"] {
        border-color: transparent; }
    .button.clear.secondary, .daterangepicker .drp-buttons .clear.secondary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary, .flexible-form-wrapper input.clear.secondary[type="submit"] {
      border: 1px solid #DC2B1C;
      color: #DC2B1C; }
      .button.clear.secondary:hover, .daterangepicker .drp-buttons .clear.secondary.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:hover, .flexible-form-wrapper input.clear.secondary:hover[type="submit"], .button.clear.secondary:focus, .daterangepicker .drp-buttons .clear.secondary.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:focus, .flexible-form-wrapper input.clear.secondary:focus[type="submit"] {
        border-color: #6e160e;
        color: #6e160e; }
        .button.clear.secondary:hover.disabled, .daterangepicker .drp-buttons .clear.secondary.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:hover.disabled, .flexible-form-wrapper input.clear.secondary:hover.disabled[type="submit"], .button.clear.secondary:hover[disabled], .daterangepicker .drp-buttons .clear.secondary.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:hover[disabled], .flexible-form-wrapper input.clear.secondary:hover[disabled][type="submit"], .button.clear.secondary:focus.disabled, .daterangepicker .drp-buttons .clear.secondary.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:focus.disabled, .flexible-form-wrapper input.clear.secondary:focus.disabled[type="submit"], .button.clear.secondary:focus[disabled], .daterangepicker .drp-buttons .clear.secondary.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:focus[disabled], .flexible-form-wrapper input.clear.secondary:focus[disabled][type="submit"] {
          border: 1px solid #DC2B1C;
          color: #DC2B1C; }
      .button.clear.secondary, .daterangepicker .drp-buttons .clear.secondary.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary, .flexible-form-wrapper input.clear.secondary[type="submit"], .button.clear.secondary.disabled, .daterangepicker .drp-buttons .clear.secondary.disabled.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary.disabled, .flexible-form-wrapper input.clear.secondary.disabled[type="submit"], .button.clear.secondary[disabled], .daterangepicker .drp-buttons .clear.secondary.btn[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary[disabled], .flexible-form-wrapper input.clear.secondary[disabled][type="submit"], .button.clear.secondary:hover, .daterangepicker .drp-buttons .clear.secondary.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:hover, .flexible-form-wrapper input.clear.secondary:hover[type="submit"], .button.clear.secondary:hover.disabled, .daterangepicker .drp-buttons .clear.secondary.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:hover.disabled, .flexible-form-wrapper input.clear.secondary:hover.disabled[type="submit"], .button.clear.secondary:hover[disabled], .daterangepicker .drp-buttons .clear.secondary.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:hover[disabled], .flexible-form-wrapper input.clear.secondary:hover[disabled][type="submit"], .button.clear.secondary:focus, .daterangepicker .drp-buttons .clear.secondary.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:focus, .flexible-form-wrapper input.clear.secondary:focus[type="submit"], .button.clear.secondary:focus.disabled, .daterangepicker .drp-buttons .clear.secondary.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:focus.disabled, .flexible-form-wrapper input.clear.secondary:focus.disabled[type="submit"], .button.clear.secondary:focus[disabled], .daterangepicker .drp-buttons .clear.secondary.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.secondary:focus[disabled], .flexible-form-wrapper input.clear.secondary:focus[disabled][type="submit"] {
        border-color: transparent; }
    .button.clear.success, .daterangepicker .drp-buttons .clear.success.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success, .flexible-form-wrapper input.clear.success[type="submit"] {
      border: 1px solid #6EB533;
      color: #6EB533; }
      .button.clear.success:hover, .daterangepicker .drp-buttons .clear.success.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:hover, .flexible-form-wrapper input.clear.success:hover[type="submit"], .button.clear.success:focus, .daterangepicker .drp-buttons .clear.success.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:focus, .flexible-form-wrapper input.clear.success:focus[type="submit"] {
        border-color: #375b1a;
        color: #375b1a; }
        .button.clear.success:hover.disabled, .daterangepicker .drp-buttons .clear.success.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:hover.disabled, .flexible-form-wrapper input.clear.success:hover.disabled[type="submit"], .button.clear.success:hover[disabled], .daterangepicker .drp-buttons .clear.success.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:hover[disabled], .flexible-form-wrapper input.clear.success:hover[disabled][type="submit"], .button.clear.success:focus.disabled, .daterangepicker .drp-buttons .clear.success.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:focus.disabled, .flexible-form-wrapper input.clear.success:focus.disabled[type="submit"], .button.clear.success:focus[disabled], .daterangepicker .drp-buttons .clear.success.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:focus[disabled], .flexible-form-wrapper input.clear.success:focus[disabled][type="submit"] {
          border: 1px solid #6EB533;
          color: #6EB533; }
      .button.clear.success, .daterangepicker .drp-buttons .clear.success.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success, .flexible-form-wrapper input.clear.success[type="submit"], .button.clear.success.disabled, .daterangepicker .drp-buttons .clear.success.disabled.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success.disabled, .flexible-form-wrapper input.clear.success.disabled[type="submit"], .button.clear.success[disabled], .daterangepicker .drp-buttons .clear.success.btn[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.success[disabled], .flexible-form-wrapper input.clear.success[disabled][type="submit"], .button.clear.success:hover, .daterangepicker .drp-buttons .clear.success.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:hover, .flexible-form-wrapper input.clear.success:hover[type="submit"], .button.clear.success:hover.disabled, .daterangepicker .drp-buttons .clear.success.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:hover.disabled, .flexible-form-wrapper input.clear.success:hover.disabled[type="submit"], .button.clear.success:hover[disabled], .daterangepicker .drp-buttons .clear.success.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:hover[disabled], .flexible-form-wrapper input.clear.success:hover[disabled][type="submit"], .button.clear.success:focus, .daterangepicker .drp-buttons .clear.success.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:focus, .flexible-form-wrapper input.clear.success:focus[type="submit"], .button.clear.success:focus.disabled, .daterangepicker .drp-buttons .clear.success.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:focus.disabled, .flexible-form-wrapper input.clear.success:focus.disabled[type="submit"], .button.clear.success:focus[disabled], .daterangepicker .drp-buttons .clear.success.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.success:focus[disabled], .flexible-form-wrapper input.clear.success:focus[disabled][type="submit"] {
        border-color: transparent; }
    .button.clear.warning, .daterangepicker .drp-buttons .clear.warning.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning, .flexible-form-wrapper input.clear.warning[type="submit"] {
      border: 1px solid #F8D300;
      color: #F8D300; }
      .button.clear.warning:hover, .daterangepicker .drp-buttons .clear.warning.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:hover, .flexible-form-wrapper input.clear.warning:hover[type="submit"], .button.clear.warning:focus, .daterangepicker .drp-buttons .clear.warning.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:focus, .flexible-form-wrapper input.clear.warning:focus[type="submit"] {
        border-color: #7c6a00;
        color: #7c6a00; }
        .button.clear.warning:hover.disabled, .daterangepicker .drp-buttons .clear.warning.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:hover.disabled, .flexible-form-wrapper input.clear.warning:hover.disabled[type="submit"], .button.clear.warning:hover[disabled], .daterangepicker .drp-buttons .clear.warning.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:hover[disabled], .flexible-form-wrapper input.clear.warning:hover[disabled][type="submit"], .button.clear.warning:focus.disabled, .daterangepicker .drp-buttons .clear.warning.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:focus.disabled, .flexible-form-wrapper input.clear.warning:focus.disabled[type="submit"], .button.clear.warning:focus[disabled], .daterangepicker .drp-buttons .clear.warning.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:focus[disabled], .flexible-form-wrapper input.clear.warning:focus[disabled][type="submit"] {
          border: 1px solid #F8D300;
          color: #F8D300; }
      .button.clear.warning, .daterangepicker .drp-buttons .clear.warning.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning, .flexible-form-wrapper input.clear.warning[type="submit"], .button.clear.warning.disabled, .daterangepicker .drp-buttons .clear.warning.disabled.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning.disabled, .flexible-form-wrapper input.clear.warning.disabled[type="submit"], .button.clear.warning[disabled], .daterangepicker .drp-buttons .clear.warning.btn[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning[disabled], .flexible-form-wrapper input.clear.warning[disabled][type="submit"], .button.clear.warning:hover, .daterangepicker .drp-buttons .clear.warning.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:hover, .flexible-form-wrapper input.clear.warning:hover[type="submit"], .button.clear.warning:hover.disabled, .daterangepicker .drp-buttons .clear.warning.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:hover.disabled, .flexible-form-wrapper input.clear.warning:hover.disabled[type="submit"], .button.clear.warning:hover[disabled], .daterangepicker .drp-buttons .clear.warning.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:hover[disabled], .flexible-form-wrapper input.clear.warning:hover[disabled][type="submit"], .button.clear.warning:focus, .daterangepicker .drp-buttons .clear.warning.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:focus, .flexible-form-wrapper input.clear.warning:focus[type="submit"], .button.clear.warning:focus.disabled, .daterangepicker .drp-buttons .clear.warning.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:focus.disabled, .flexible-form-wrapper input.clear.warning:focus.disabled[type="submit"], .button.clear.warning:focus[disabled], .daterangepicker .drp-buttons .clear.warning.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.warning:focus[disabled], .flexible-form-wrapper input.clear.warning:focus[disabled][type="submit"] {
        border-color: transparent; }
    .button.clear.alert, .daterangepicker .drp-buttons .clear.alert.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert, .flexible-form-wrapper input.clear.alert[type="submit"] {
      border: 1px solid #EC1D24;
      color: #EC1D24; }
      .button.clear.alert:hover, .daterangepicker .drp-buttons .clear.alert.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:hover, .flexible-form-wrapper input.clear.alert:hover[type="submit"], .button.clear.alert:focus, .daterangepicker .drp-buttons .clear.alert.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:focus, .flexible-form-wrapper input.clear.alert:focus[type="submit"] {
        border-color: #7a0a0e;
        color: #7a0a0e; }
        .button.clear.alert:hover.disabled, .daterangepicker .drp-buttons .clear.alert.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:hover.disabled, .flexible-form-wrapper input.clear.alert:hover.disabled[type="submit"], .button.clear.alert:hover[disabled], .daterangepicker .drp-buttons .clear.alert.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:hover[disabled], .flexible-form-wrapper input.clear.alert:hover[disabled][type="submit"], .button.clear.alert:focus.disabled, .daterangepicker .drp-buttons .clear.alert.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:focus.disabled, .flexible-form-wrapper input.clear.alert:focus.disabled[type="submit"], .button.clear.alert:focus[disabled], .daterangepicker .drp-buttons .clear.alert.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:focus[disabled], .flexible-form-wrapper input.clear.alert:focus[disabled][type="submit"] {
          border: 1px solid #EC1D24;
          color: #EC1D24; }
      .button.clear.alert, .daterangepicker .drp-buttons .clear.alert.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert, .flexible-form-wrapper input.clear.alert[type="submit"], .button.clear.alert.disabled, .daterangepicker .drp-buttons .clear.alert.disabled.btn, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert.disabled, .flexible-form-wrapper input.clear.alert.disabled[type="submit"], .button.clear.alert[disabled], .daterangepicker .drp-buttons .clear.alert.btn[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert[disabled], .flexible-form-wrapper input.clear.alert[disabled][type="submit"], .button.clear.alert:hover, .daterangepicker .drp-buttons .clear.alert.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:hover, .flexible-form-wrapper input.clear.alert:hover[type="submit"], .button.clear.alert:hover.disabled, .daterangepicker .drp-buttons .clear.alert.btn:hover.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:hover.disabled, .flexible-form-wrapper input.clear.alert:hover.disabled[type="submit"], .button.clear.alert:hover[disabled], .daterangepicker .drp-buttons .clear.alert.btn:hover[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:hover[disabled], .flexible-form-wrapper input.clear.alert:hover[disabled][type="submit"], .button.clear.alert:focus, .daterangepicker .drp-buttons .clear.alert.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:focus, .flexible-form-wrapper input.clear.alert:focus[type="submit"], .button.clear.alert:focus.disabled, .daterangepicker .drp-buttons .clear.alert.btn:focus.disabled, .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:focus.disabled, .flexible-form-wrapper input.clear.alert:focus.disabled[type="submit"], .button.clear.alert:focus[disabled], .daterangepicker .drp-buttons .clear.alert.btn:focus[disabled], .footer .beforefooter .col1-2-wrapper .col2 a.clear.alert:focus[disabled], .flexible-form-wrapper input.clear.alert:focus[disabled][type="submit"] {
        border-color: transparent; }
  .button.dropdown::after, .daterangepicker .drp-buttons .dropdown.btn::after, .footer .beforefooter .col1-2-wrapper .col2 a.dropdown::after, .flexible-form-wrapper input.dropdown[type="submit"]::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #FFFFFF transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 2.5em; }
  .button.dropdown.hollow::after, .daterangepicker .drp-buttons .dropdown.hollow.btn::after, .footer .beforefooter .col1-2-wrapper .col2 a.dropdown.hollow::after, .flexible-form-wrapper input.dropdown.hollow[type="submit"]::after {
    border-top-color: transparent; }
  .button.dropdown.hollow.primary::after, .daterangepicker .drp-buttons .dropdown.hollow.primary.btn::after, .footer .beforefooter .col1-2-wrapper .col2 a.dropdown.hollow.primary::after, .flexible-form-wrapper input.dropdown.hollow.primary[type="submit"]::after {
    border-top-color: #002B58; }
  .button.dropdown.hollow.secondary::after, .daterangepicker .drp-buttons .dropdown.hollow.secondary.btn::after, .footer .beforefooter .col1-2-wrapper .col2 a.dropdown.hollow.secondary::after, .flexible-form-wrapper input.dropdown.hollow.secondary[type="submit"]::after {
    border-top-color: #DC2B1C; }
  .button.dropdown.hollow.success::after, .daterangepicker .drp-buttons .dropdown.hollow.success.btn::after, .footer .beforefooter .col1-2-wrapper .col2 a.dropdown.hollow.success::after, .flexible-form-wrapper input.dropdown.hollow.success[type="submit"]::after {
    border-top-color: #6EB533; }
  .button.dropdown.hollow.warning::after, .daterangepicker .drp-buttons .dropdown.hollow.warning.btn::after, .footer .beforefooter .col1-2-wrapper .col2 a.dropdown.hollow.warning::after, .flexible-form-wrapper input.dropdown.hollow.warning[type="submit"]::after {
    border-top-color: #F8D300; }
  .button.dropdown.hollow.alert::after, .daterangepicker .drp-buttons .dropdown.hollow.alert.btn::after, .footer .beforefooter .col1-2-wrapper .col2 a.dropdown.hollow.alert::after, .flexible-form-wrapper input.dropdown.hollow.alert[type="submit"]::after {
    border-top-color: #EC1D24; }
  .button.arrow-only::after, .daterangepicker .drp-buttons .arrow-only.btn::after, .footer .beforefooter .col1-2-wrapper .col2 a.arrow-only::after, .flexible-form-wrapper input.arrow-only[type="submit"]::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, .daterangepicker .drp-buttons a.btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a:hover, a.button:focus, .daterangepicker .drp-buttons a.btn:focus, .footer .beforefooter .col1-2-wrapper .col2 a:focus {
  text-decoration: none; }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 5px;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #002B58;
  color: #FFFFFF; }
  .label.primary {
    background: #002B58;
    color: #FFFFFF; }
  .label.secondary {
    background: #DC2B1C;
    color: #FFFFFF; }
  .label.success {
    background: #6EB533;
    color: #000000; }
  .label.warning {
    background: #F8D300;
    color: #000000; }
  .label.alert {
    background: #EC1D24;
    color: #000000; }

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 50em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 77.5em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-left.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-right.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-top.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-bottom.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-bottom: 20rem; } }

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

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

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

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

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

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: none;
  font-weight: 700;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.28867rem);
  z-index: 1200;
  max-width: 20rem;
  padding: 0.5rem;
  border-radius: 2.5px;
  background-color: #002B58;
  font-size: 0.75rem;
  color: #FFFFFF; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.33333rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #002B58;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.33333rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #002B58 transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.33333rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #002B58;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.33333rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #002B58 transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 77.5em) {
  .title-bar,
  .mobile-menu {
    display: none !important; } }

@media screen and (max-width: 77.4375em) {
  .desktop-menu,
  .site-header {
    display: none !important; } }

.title-bar {
  background: #FFFFFF;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  height: 80px; }
  .title-bar > * {
    height: 100%; }
  .title-bar .menu-icon-button {
    -webkit-appearance: none;
            appearance: none;
    transition: background-color 0.5s ease;
    background-color: #002B58;
    height: 80px;
    width: 80px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .title-bar .menu-icon-button:hover {
      cursor: pointer;
      background: #DC2B1C; }

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  position: relative; }
  @media screen and (max-width: 49.9375em) {
    .top-bar {
      display: none !important; } }
  .top-bar ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    list-style-type: none;
    height: 6.875rem;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    position: relative;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .top-bar ul * {
      height: 100%;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
    .top-bar ul li {
      z-index: 2; }
      .top-bar ul li a {
        position: relative;
        color: #002B58;
        font-size: 0.9375rem;
        font-family: 'robotomedium';
        font-weight: normal;
        margin: 0 0.5rem;
        padding-bottom: 0.3125rem; }
        @media screen and (min-width: 90em) {
          .top-bar ul li a {
            font-size: 1.0625rem;
            margin: 0 1rem; } }
        .top-bar ul li a:after {
          content: "";
          height: 0.3125rem;
          width: 0;
          position: absolute;
          bottom: 0;
          left: 0;
          background: #DC2B1C;
          transition: width 0.3s ease; }
      .top-bar ul li[class*="current"] > a,
      .top-bar ul li a:hover {
        color: #DC2B1C; }
        .top-bar ul li[class*="current"] > a:after,
        .top-bar ul li a:hover:after {
          width: 100%; }
      .top-bar ul li.menu-item-has-children {
        position: relative; }
        .top-bar ul li.menu-item-has-children:hover .dropdown {
          display: block; }
      .top-bar ul li .dropdown {
        display: none;
        position: absolute;
        top: 100%;
        left: 50%;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        background-color: #FFFFFF;
        height: auto; }
        .top-bar ul li .dropdown a {
          padding: 1rem;
          margin: 0; }

.servicenav-wrapper {
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .servicenav-wrapper .button, .servicenav-wrapper .daterangepicker .drp-buttons .btn, .daterangepicker .drp-buttons .servicenav-wrapper .btn, .servicenav-wrapper .footer .beforefooter .col1-2-wrapper .col2 a, .footer .beforefooter .col1-2-wrapper .col2 .servicenav-wrapper a, .servicenav-wrapper .flexible-form-wrapper input[type="submit"], .flexible-form-wrapper .servicenav-wrapper input[type="submit"] {
    padding-left: 2rem;
    padding-right: 2rem;
    text-transform: none;
    letter-spacing: 0;
    font-family: 'robotobold';
    font-weight: normal;
    border-radius: 0;
    font-size: 0.875rem; }
  .servicenav-wrapper .menu-servicenavi-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 1.25rem; }
    .servicenav-wrapper .menu-servicenavi-container a:not(.button) {
      font-size: 0.875rem;
      color: #002B58;
      font-family: 'robotobold';
      font-weight: normal;
      margin-left: 1.5rem; }
    .servicenav-wrapper .menu-servicenavi-container ul {
      list-style-type: none;
      margin: 0;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    .servicenav-wrapper .menu-servicenavi-container li[class*="current"] a,
    .servicenav-wrapper .menu-servicenavi-container a:hover {
      color: #DC2B1C; }

.mobile-menu {
  display: none; }

.off-canvas {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%; }
  .off-canvas .red-holder {
    padding: 1rem;
    text-align: right; }
    .off-canvas .red-holder .close-button {
      color: #DC2B1C;
      transition: color 0.2s ease; }
      .off-canvas .red-holder .close-button:hover {
        cursor: pointer;
        color: #002B58; }
  .off-canvas.is-closed {
    visibility: visible; }
  .off-canvas .sidebar-canvas-nav {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .off-canvas .langswitch {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .off-canvas .langswitch a {
      font-size: em-calc(20); }
  .off-canvas.position-right.is-transition-push {
    box-shadow: -5px 0px 10px 0px rgba(0, 0, 0, 0.25); }
  .off-canvas .servicenav-wrapper {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .off-canvas .servicenav-wrapper ul {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      text-align: center;
      width: 100%;
      margin-bottom: 2rem; }
    .off-canvas .servicenav-wrapper .button, .off-canvas .servicenav-wrapper .daterangepicker .drp-buttons .btn, .daterangepicker .drp-buttons .off-canvas .servicenav-wrapper .btn, .off-canvas .servicenav-wrapper .footer .beforefooter .col1-2-wrapper .col2 a, .footer .beforefooter .col1-2-wrapper .col2 .off-canvas .servicenav-wrapper a, .off-canvas .servicenav-wrapper .flexible-form-wrapper input[type="submit"], .flexible-form-wrapper .off-canvas .servicenav-wrapper input[type="submit"] {
      border-radius: 2000px; }
  .off-canvas ul.menu.vertical {
    margin: 0 0 2rem 0;
    list-style-type: none; }
    .off-canvas ul.menu.vertical li {
      border-top: 1px solid rgba(0, 43, 88, 0.1); }
      .off-canvas ul.menu.vertical li:last-child {
        border-bottom: 1px solid rgba(0, 43, 88, 0.1); }
      .off-canvas ul.menu.vertical li a {
        font-size: 1.125rem;
        font-family: 'robotomedium';
        font-weight: normal;
        line-height: 1.1;
        padding: 1rem 1rem 1rem 2rem;
        display: block;
        position: relative;
        color: #002B58;
        transition: all 0.2s ease;
        border-left: 4px solid #FFFFFF; }
    .off-canvas ul.menu.vertical li[class*="current"] a,
    .off-canvas ul.menu.vertical a:hover {
      color: #DC2B1C;
      border-left: 4px solid #DC2B1C; }

body#tinymce {
  height: auto;
  max-width: 90rem;
  padding: 1.25rem !important; }

.ui-datepicker {
  width: 17em;
  padding: .5em .5em 0;
  display: none;
  border-radius: 5px;
  background: #FFFFFF;
  box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.2); }
  .ui-datepicker .ui-datepicker-header {
    position: relative;
    padding: .2em 0; }
  .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.8em;
    height: 1.8em; }
  .ui-datepicker .ui-datepicker-prev {
    left: 2px; }
  .ui-datepicker .ui-datepicker-next {
    right: 2px; }
  .ui-datepicker .ui-datepicker-next:hover:before,
  .ui-datepicker .ui-datepicker-prev:hover:before {
    background: #DC2B1C; }
  .ui-datepicker .ui-datepicker-prev:before, .ui-datepicker .ui-datepicker-next:before {
    content: ">";
    background: #757E8D;
    width: 1.375rem;
    height: 1.375rem;
    line-height: 1.375rem;
    text-align: center;
    display: block;
    color: #FFFFFF;
    border-radius: 50%;
    font-family: 'robotoblack';
    font-weight: normal;
    transition: background-color 0.2s ease;
    padding: 0 0 1px 1px; }
  .ui-datepicker .ui-datepicker-prev:before {
    content: "<"; }
  .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span {
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -8px;
    top: 50%;
    margin-top: -8px;
    opacity: 0; }
  .ui-datepicker .ui-datepicker-title {
    margin: 0 2.3em;
    line-height: 1.8em;
    text-align: center; }
    .ui-datepicker .ui-datepicker-title select {
      font-size: 1em;
      margin: 1px 0; }
  .ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
    width: 45%; }
  .ui-datepicker table {
    width: 100%;
    font-size: .9em;
    border-collapse: collapse;
    margin: 0 0 .4em; }
  .ui-datepicker th {
    padding: .7em .3em;
    text-align: center;
    font-weight: bold;
    border: 0; }
  .ui-datepicker td {
    border: 0;
    padding: 1px; }
    .ui-datepicker td span, .ui-datepicker td a {
      display: block;
      padding: .2em;
      text-align: right;
      text-decoration: none; }
  .ui-datepicker .ui-datepicker-buttonpane {
    background-image: none;
    margin: .7em 0 0 0;
    padding: 0 .2em;
    border-left: 0;
    border-right: 0;
    border-bottom: 0; }
    .ui-datepicker .ui-datepicker-buttonpane button {
      float: right;
      margin: .5em .2em .4em;
      cursor: pointer;
      padding: .2em .6em .3em .6em;
      width: auto;
      overflow: visible; }
      .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
        float: left; }

.daterangepicker {
  position: absolute;
  color: inherit;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #ddd;
  width: 278px;
  max-width: none;
  padding: 0;
  margin-top: 7px;
  top: 100px;
  left: 20px;
  z-index: 3001;
  display: none;
  font-family: 'robotoregular';
  font-weight: normal;
  font-size: 15px;
  line-height: 1em; }
  .daterangepicker:before, .daterangepicker:after {
    position: absolute;
    display: inline-block;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    content: ''; }
  .daterangepicker:before {
    top: -7px;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-bottom: 7px solid #ccc; }
  .daterangepicker:after {
    top: -6px;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    border-left: 6px solid transparent; }
  .daterangepicker.opensleft:before {
    right: 9px; }
  .daterangepicker.opensleft:after {
    right: 10px; }
  .daterangepicker.openscenter:before, .daterangepicker.openscenter:after {
    left: 0;
    right: 0;
    width: 0;
    margin-left: auto;
    margin-right: auto; }
  .daterangepicker.opensright:before {
    left: 9px; }
  .daterangepicker.opensright:after {
    left: 10px; }
  .daterangepicker.drop-up {
    margin-top: -7px; }
    .daterangepicker.drop-up:before {
      top: initial;
      bottom: -7px;
      border-bottom: initial;
      border-top: 7px solid #ccc; }
    .daterangepicker.drop-up:after {
      top: initial;
      bottom: -6px;
      border-bottom: initial;
      border-top: 6px solid #fff; }
  .daterangepicker.single .daterangepicker .ranges, .daterangepicker.single .drp-calendar {
    float: none; }
  .daterangepicker.single .drp-selected {
    display: none; }
  .daterangepicker.show-calendar .drp-calendar, .daterangepicker.show-calendar .drp-buttons {
    display: block; }
  .daterangepicker.auto-apply .drp-buttons {
    display: none; }
  .daterangepicker .drp-calendar {
    display: none;
    max-width: 270px; }
    .daterangepicker .drp-calendar.left {
      padding: 8px 0 8px 8px; }
    .daterangepicker .drp-calendar.right {
      padding: 8px; }
    .daterangepicker .drp-calendar.single .calendar-table {
      border: none; }
  .daterangepicker .calendar-table {
    border: 1px solid #fff;
    border-radius: 4px;
    background-color: #fff; }
    .daterangepicker .calendar-table .next span, .daterangepicker .calendar-table .prev span {
      color: #fff;
      border: solid black;
      border-width: 0 2px 2px 0;
      border-radius: 0;
      display: inline-block;
      padding: 3px; }
    .daterangepicker .calendar-table .next span {
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg); }
    .daterangepicker .calendar-table .prev span {
      -ms-transform: rotate(135deg);
          transform: rotate(135deg);
      -webkit-transform: rotate(135deg); }
    .daterangepicker .calendar-table thead th {
      padding: 0.375rem 0;
      background: #475267;
      border-radius: 0px;
      color: #002B58; }
    .daterangepicker .calendar-table th, .daterangepicker .calendar-table td {
      white-space: nowrap;
      text-align: center;
      vertical-align: middle;
      min-width: 32px;
      width: 32px;
      height: 24px;
      line-height: 24px;
      font-size: 12px;
      border-radius: 4px;
      border: 1px solid transparent;
      white-space: nowrap;
      cursor: pointer;
      padding: 0.125rem 0.1875rem; }
    .daterangepicker .calendar-table tr {
      background: #FFFFFF; }
    .daterangepicker .calendar-table table {
      width: 100%;
      margin: 0;
      border-spacing: 0;
      border-collapse: collapse; }
  .daterangepicker td.available:hover, .daterangepicker th.available:hover {
    background-color: #eee;
    border-color: transparent;
    color: inherit; }
  .daterangepicker td.week, .daterangepicker th.week {
    font-size: 80%;
    color: #ccc; }
  .daterangepicker td.off {
    background-color: #fff;
    border-color: transparent;
    color: #999; }
    .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
      background-color: #fff;
      border-color: transparent;
      color: #999; }
  .daterangepicker td.in-range {
    background-color: #ebf4f8;
    border-color: transparent;
    color: #000;
    border-radius: 0; }
  .daterangepicker td.start-date {
    border-radius: 4px 0 0 4px; }
  .daterangepicker td.end-date {
    border-radius: 0 4px 4px 0; }
  .daterangepicker td.start-date.end-date {
    border-radius: 4px; }
  .daterangepicker td.active {
    background-color: #357ebd;
    border-color: transparent;
    color: #fff; }
    .daterangepicker td.active:hover {
      background-color: #357ebd;
      border-color: transparent;
      color: #fff; }
  .daterangepicker th.month {
    width: auto; }
  .daterangepicker td.disabled, .daterangepicker option.disabled {
    color: #999;
    cursor: not-allowed;
    text-decoration: line-through; }
  .daterangepicker select.monthselect, .daterangepicker select.yearselect {
    font-size: 12px;
    padding: 1px;
    height: auto;
    margin: 0;
    cursor: default; }
  .daterangepicker select.monthselect {
    margin-right: 2%;
    width: 56%; }
  .daterangepicker select.yearselect {
    width: 40%; }
  .daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {
    width: 50px;
    margin: 0 auto;
    background: #eee;
    border: 1px solid #eee;
    padding: 2px;
    outline: 0;
    font-size: 12px; }
  .daterangepicker .calendar-time {
    text-align: center;
    margin: 4px auto 0 auto;
    line-height: 30px;
    position: relative; }
    .daterangepicker .calendar-time select.disabled {
      color: #ccc;
      cursor: not-allowed; }
  .daterangepicker .drp-buttons {
    clear: both;
    text-align: right;
    padding: 8px;
    border-top: 1px solid #ddd;
    display: none;
    line-height: 12px;
    vertical-align: middle; }
  .daterangepicker .drp-selected {
    display: inline-block;
    font-size: 12px;
    padding-right: 8px; }
  .daterangepicker .drp-buttons .btn {
    margin-left: 8px;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 8px;
    cursor: pointer; }
  .daterangepicker.show-ranges .drp-calendar.left {
    border-left: 1px solid #ddd; }
  .daterangepicker .ranges {
    float: none;
    text-align: left;
    margin: 0; }
  .daterangepicker.show-calendar .ranges {
    margin-top: 8px; }
  .daterangepicker .ranges ul {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    width: 100%; }
  .daterangepicker .ranges li {
    font-size: 12px;
    padding: 8px 12px;
    cursor: pointer; }
    .daterangepicker .ranges li:hover {
      background-color: #eee; }
    .daterangepicker .ranges li.active {
      background-color: #08c;
      color: #fff; }

/*  Larger Screen Styling */
@media (min-width: 564px) {
  .daterangepicker {
    width: auto; }
    .daterangepicker .ranges ul {
      width: 140px; }
    .daterangepicker.single .ranges ul {
      width: 100%; }
    .daterangepicker.single .drp-calendar.left {
      clear: none; }
    .daterangepicker.single.ltr .ranges, .daterangepicker.single.ltr .drp-calendar {
      float: left; }
    .daterangepicker.single.rtl .ranges, .daterangepicker.single.rtl .drp-calendar {
      float: right; }
    .daterangepicker.ltr {
      direction: ltr;
      text-align: left; }
      .daterangepicker.ltr .drp-calendar.left {
        clear: left;
        margin-right: 0; }
        .daterangepicker.ltr .drp-calendar.left .calendar-table {
          border-right: none;
          border-top-right-radius: 0;
          border-bottom-right-radius: 0; }
      .daterangepicker.ltr .drp-calendar.right {
        margin-left: 0; }
        .daterangepicker.ltr .drp-calendar.right .calendar-table {
          border-left: none;
          border-top-left-radius: 0;
          border-bottom-left-radius: 0; }
      .daterangepicker.ltr .drp-calendar.left .calendar-table {
        padding-right: 8px; }
      .daterangepicker.ltr .ranges, .daterangepicker.ltr .drp-calendar {
        float: left; }
    .daterangepicker.rtl {
      direction: rtl;
      text-align: right; }
      .daterangepicker.rtl .drp-calendar.left {
        clear: right;
        margin-left: 0; }
        .daterangepicker.rtl .drp-calendar.left .calendar-table {
          border-left: none;
          border-top-left-radius: 0;
          border-bottom-left-radius: 0; }
      .daterangepicker.rtl .drp-calendar.right {
        margin-right: 0; }
        .daterangepicker.rtl .drp-calendar.right .calendar-table {
          border-right: none;
          border-top-right-radius: 0;
          border-bottom-right-radius: 0; }
      .daterangepicker.rtl .drp-calendar.left .calendar-table {
        padding-left: 12px; }
      .daterangepicker.rtl .ranges, .daterangepicker.rtl .drp-calendar {
        text-align: right;
        float: right; } }

@media (min-width: 730px) {
  .daterangepicker .ranges {
    width: auto; }
  .daterangepicker.ltr .ranges {
    float: left; }
  .daterangepicker.rtl .ranges {
    float: right; }
  .daterangepicker .drp-calendar.left {
    clear: none !important; } }

.button, .daterangepicker .drp-buttons .btn, .footer .beforefooter .col1-2-wrapper .col2 a, .flexible-form-wrapper input[type="submit"] {
  background: #DC2B1C;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #FFFFFF;
  font-family: 'robotoblack';
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.6875rem;
  border-radius: 2000px;
  padding: 1rem 3rem; }
  .button:hover, .daterangepicker .drp-buttons .btn:hover, .footer .beforefooter .col1-2-wrapper .col2 a:hover, .flexible-form-wrapper input:hover[type="submit"] {
    background-color: #002B58;
    color: #FFFFFF; }
  .button.small, .daterangepicker .drp-buttons .btn, .footer .beforefooter .col1-2-wrapper .col2 a.small, .footer .beforefooter .col1-2-wrapper .col2 .daterangepicker .drp-buttons a.btn, .daterangepicker .drp-buttons .footer .beforefooter .col1-2-wrapper .col2 a.btn, .flexible-form-wrapper input.small[type="submit"] {
    padding: 0.5rem 1rem;
    font-size: 0.6875rem;
    letter-spacing: 0.1em; }
  .button.large, .daterangepicker .drp-buttons .large.btn, .footer .beforefooter .col1-2-wrapper .col2 a.large, .flexible-form-wrapper input.large[type="submit"] {
    padding: 1.5rem 4rem;
    font-size: 0.6875rem; }

ul.card-wrapper {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  ul.card-wrapper li {
    padding: 0.5rem;
    width: 100%;
    overflow: hidden; }
    @media print, screen and (min-width: 40em) {
      ul.card-wrapper li {
        width: 50%; } }
    @media screen and (min-width: 50em) {
      ul.card-wrapper li {
        width: 33.33%; } }
  ul.card-wrapper .card {
    background: #FFFFFF;
    height: 100%;
    position: relative;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
    overflow: hidden;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    transition: all 0.2s ease; }
    ul.card-wrapper .card h3 {
      width: 100%;
      text-align: center;
      font-size: 1.375rem;
      font-family: 'robotoregular';
      font-weight: normal;
      color: #002B58;
      padding: 1.2rem 1rem;
      transition: color 0.2s ease;
      line-height: 1.4;
      margin: auto; }
    ul.card-wrapper .card:hover {
      -webkit-transform: translateY(-8px);
          -ms-transform: translateY(-8px);
              transform: translateY(-8px);
      box-shadow: 0 4px 12px 0 rgba(42, 48, 61, 0.2); }
      ul.card-wrapper .card:hover h3 {
        color: #2A303D; }
  ul.card-wrapper .thumb {
    height: 12.375rem;
    overflow: hidden; }
    @media screen and (min-width: 50em) {
      ul.card-wrapper .thumb {
        height: 11.25rem; } }
    ul.card-wrapper .thumb img {
      object-fit: cover;
      height: 100%;
      width: 100%; }

.page-numbers {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  list-style-type: none;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .page-numbers li {
    padding: 0.3125rem; }
    .page-numbers li > * {
      font-size: 0.875rem;
      font-family: 'robotomedium';
      font-weight: normal;
      width: 2rem;
      height: 2rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      color: #DC2B1C;
      transition: all 0.2s ease; }
      .page-numbers li > *:hover {
        background: #DC2B1C;
        color: #FFFFFF; }
      .page-numbers li > *.current {
        background: #002B58;
        color: #FFFFFF; }

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0; }

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0; }

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

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

.gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.25rem;
  margin-left: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery {
      margin-right: -0.5rem;
      margin-left: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .gallery {
      margin-right: -1rem;
      margin-left: -1rem; } }
  .gallery.gallery-columns-1 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-2 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(50% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-3 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-4 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-5 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(20% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-6 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(16.66667% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-7 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(14.28571% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-8 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(12.5% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-9 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(11.11111% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery .gallery-icon > a {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: solid 4px #FFFFFF;
    border-radius: 5px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
    line-height: 0;
    transition: box-shadow 200ms ease-out; }
    .gallery .gallery-icon > a:hover, .gallery .gallery-icon > a:focus {
      box-shadow: 0 0 6px 1px rgba(0, 43, 88, 0.5); }
    .gallery .gallery-icon > a image {
      box-shadow: none; }
  .gallery .gallery-icon > img {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: solid 4px #FFFFFF;
    border-radius: 5px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
    line-height: 0; }

body {
  overflow-x: hidden; }

.main-wrapper {
  max-width: 90rem;
  margin: auto; }

.main-grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 63.9375em) {
    .main-grid {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .main-grid > * {
    -webkit-flex: 1 1 0%;
        -ms-flex: 1 1 0%;
            flex: 1 1 0%; }

.inner-wrapper, .footer .footer-container {
  margin: auto;
  max-width: 90rem;
  width: 100%; }

section header, .front-products-wrapper .products, .flexible-ansprechpartner-wrapper, .flexible-cards-wrapper.flexible-content, .flexible-childpages-wrapper.flexible-content, .flexible-contact-wrapper, table#datasheets, .flexible-downloads-wrapper, .flexible-editor-wrapper, .flexible-form-wrapper, .flexible-galerie-wrapper, .flexible-oembed-wrapper, .flexible-zwischentitel-wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 67.25rem; }

.entry-content footer,
.entry-content header, .flexible-content, .home .intro, .front-usp-wrapper .sectiontitle {
  margin-left: auto;
  margin-right: auto;
  max-width: 44.5625rem; }

.flexible-editor-wrapper ul {
  list-style-type: none;
  margin-left: 0; }
  .flexible-editor-wrapper ul li {
    padding-left: 2rem;
    position: relative; }
    .flexible-editor-wrapper ul li:not(:last-child) {
      margin-bottom: 0.66667rem; }
    .flexible-editor-wrapper ul li:before {
      content: "";
      position: absolute;
      top: 0.5rem;
      left: 0;
      width: 0.75rem;
      height: 0.625rem;
      background-image: url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.614 6H1.027A1.011 1.011 0 0 1 0 5c0-.552.46-1 1.027-1h7.588L6.28 1.629c-.43-.459-.395-.982 0-1.356.394-.375 1.06-.353 1.432 0 .369.35 3.992 4.047 3.992 4.047A.934.934 0 0 1 12 5c0 .245-.1.49-.296.679 0 0-3.623 3.696-3.992 4.047-.371.353-1.038.377-1.432 0-.395-.374-.43-.898 0-1.358L8.614 6z' fill='%23E20714' fill-rule='evenodd'/%3E%3C/svg%3E"); }

* {
  box-sizing: border-box; }

*[style*="text-decoration"],
u {
  text-decoration: none; }

a {
  transition: color 0.2s ease; }
  a:focus {
    outline: 0; }

b,
strong {
  font-family: 'robotobold';
  font-weight: normal; }

p {
  font-family: 'robotoregular';
  font-weight: normal;
  font-size: 1rem;
  line-height: 1.76; }
  p:last-of-type {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    p {
      font-size: 1.0625rem; } }

h1, .sectiontitle {
  font-family: 'robotobold';
  font-weight: normal;
  color: #002B58;
  padding: 0 0 1.5625rem 0;
  margin-bottom: 1rem;
  position: relative;
  text-align: center; }
  h1:after, .sectiontitle:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 2.5rem;
    height: 0.1875rem;
    background: #DC2B1C;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
    @media screen and (min-width: 50em) {
      h1:after, .sectiontitle:after {
        width: 4rem;
        height: 0.25rem; } }
  @media screen and (min-width: 50em) {
    h1, .sectiontitle {
      margin-bottom: 2rem;
      padding: 3.75rem 0 2.5rem 0; } }

h2 {
  color: #DC2B1C; }

h3 {
  font-family: 'robotobold';
  font-weight: normal; }

h4 {
  font-family: 'robotomedium';
  font-weight: normal; }

h6 {
  font-family: 'robotobold';
  font-weight: normal; }

section header {
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    section header {
      text-align: left; } }

.readmore-wrapper {
  border-top: 1px solid rgba(220, 43, 28, 0.1);
  padding-top: 1rem;
  text-align: center;
  font-family: 'robotobold';
  font-weight: normal;
  margin-top: 2rem;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 40em) {
    .readmore-wrapper {
      padding-top: 0.625rem; } }
  @media screen and (min-width: 50em) {
    .readmore-wrapper {
      text-align: right; } }

a.readmore {
  color: #DC2B1C; }
  a.readmore svg {
    color: #002B58;
    margin-left: 0.625rem;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
  a.readmore:hover {
    color: #002B58; }
    a.readmore:hover svg {
      -webkit-transform: translateX(8px);
          -ms-transform: translateX(8px);
              transform: translateX(8px); }

.intro {
  font-family: 'robotomedium';
  font-weight: normal;
  font-size: 1.125rem;
  color: rgba(0, 43, 88, 0.5);
  margin-bottom: 1rem;
  line-height: 1.58; }
  @media print, screen and (min-width: 40em) {
    .intro {
      line-height: 1.83;
      margin-bottom: 2rem; } }

.suptitle {
  font-family: 'robotobold';
  font-weight: normal;
  color: #DC2B1C;
  text-transform: uppercase;
  font-size: 0.9375rem;
  letter-spacing: 0.07em;
  line-height: 1.33;
  margin-bottom: 0.25rem;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .suptitle {
      letter-spacing: 0.10em;
      line-height: 1.2;
      font-size: 0.875rem;
      margin-bottom: 0.25rem; } }

.sectiontitle {
  color: #2A303D;
  margin-bottom: 0;
  padding: 0.66667rem 0 1.5rem 0; }
  @media print, screen and (min-width: 40em) {
    .sectiontitle {
      padding: 0.5rem 0 1.5rem 0; } }
  .sectiontitle:after {
    display: none; }

.button-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.backlink-wrapper {
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 90rem;
  position: relative;
  z-index: 100;
  top: 1rem; }
  @media print, screen and (min-width: 40em) {
    .backlink-wrapper {
      top: 0; } }
  @media screen and (min-width: 50em) {
    .backlink-wrapper {
      position: absolute;
      left: 50%;
      top: -1.875rem;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); } }
  @media screen and (min-width: 64em) {
    .backlink-wrapper {
      top: -3.75rem; } }

.backlink {
  padding: 0 1rem; }
  .backlink a {
    margin: 0 auto;
    color: #DC2B1C;
    font-family: 'robotobold';
    font-weight: normal;
    font-size: 0.9375rem;
    padding: 0 2.5rem;
    letter-spacing: 0.05em;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    transition: all 0.2s ease; }
    @media print, screen and (min-width: 40em) {
      .backlink a {
        min-height: 4.0625rem; } }
    .backlink a svg {
      margin-right: 0.625rem;
      color: #002B58;
      transition: -webkit-transform 0.2s ease;
      transition: transform 0.2s ease;
      transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
    .backlink a:hover {
      color: #002B58; }
      .backlink a:hover svg {
        -webkit-transform: translateX(-10px);
            -ms-transform: translateX(-10px);
                transform: translateX(-10px); }

.curved {
  -webkit-transform: skew(0deg, -4deg) translateY(-130px);
      -ms-transform: skew(0deg, -4deg) translateY(-130px);
          transform: skew(0deg, -4deg) translateY(-130px);
  overflow: hidden;
  position: relative;
  z-index: 110;
  padding-bottom: 8rem; }
  @media screen and (min-width: 50em) {
    .curved {
      padding-top: 8rem; } }
  .curved .inner-wrapper {
    -webkit-transform: skew(0deg, 4deg);
        -ms-transform: skew(0deg, 4deg);
            transform: skew(0deg, 4deg);
    position: relative;
    z-index: 115; }

.kopfbild-wrapper {
  height: 18.75rem;
  overflow: hidden; }
  @media screen and (min-width: 50em) {
    .kopfbild-wrapper {
      height: 25rem; } }
  .kopfbild-wrapper.curved {
    padding-bottom: 0;
    margin-bottom: -8.75rem;
    padding-top: 5rem; }
    @media screen and (min-width: 50em) {
      .kopfbild-wrapper.curved {
        margin-bottom: -140px; } }
    @media screen and (min-width: 64em) {
      .kopfbild-wrapper.curved {
        padding-top: 6.875rem; } }
    .kopfbild-wrapper.curved + .main-wrapper {
      margin-top: 3rem; }
  .kopfbild-wrapper img {
    height: 100%;
    width: 100%;
    object-fit: cover; }

/*********** HEADER **************/
.sticky-container {
  z-index: 2000;
  width: 100%;
  position: fixed; }
  .sticky-container .sticky {
    background: #FFFFFF;
    width: 100%;
    height: 5rem;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25); }
    @media screen and (min-width: 77.5em) {
      .sticky-container .sticky {
        height: 8.5rem; } }

.site-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 2rem; }

.logo-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.logo {
  height: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  width: auto;
  position: relative;
  padding: 0 1rem; }
  .logo img {
    width: 100%; }
    @media screen and (min-width: 64em) {
      .logo img {
        max-width: 21.875rem; } }
    @media screen and (min-width: 90em) {
      .logo img {
        max-width: 28.125rem; } }
  .logo.mobile {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    margin-right: auto; }
    .logo.mobile img {
      max-width: 17.5rem; }

.langswitch-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.langswitch {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin: 0;
  list-style-type: none;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .langswitch li:not(:first-of-type):before {
    content: "/";
    color: rgba(0, 43, 88, 0.25);
    padding: 0 0.5rem; }
  .langswitch a {
    color: rgba(0, 43, 88, 0.25);
    font-family: 'robotobold';
    font-weight: normal;
    font-size: 0.875rem;
    text-transform: uppercase; }
    .langswitch a.active, .langswitch a:hover {
      color: #DC2B1C; }
      .langswitch a.active:before, .langswitch a:hover:before {
        color: rgba(0, 43, 88, 0.25); }

/**************** CONTENT *****************/
.entry-content {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 4rem;
  position: relative; }
  @media screen and (min-width: 64em) {
    .entry-content {
      padding-left: 0;
      padding-right: 0; } }
  .entry-content footer,
  .entry-content header {
    text-align: left;
    position: relative;
    padding-top: 3.125rem; }
    @media screen and (min-width: 50em) {
      .entry-content footer,
      .entry-content header {
        padding-top: 0; } }

/**************** FLEXIBLE CONTENT *****************/
.flexible-content {
  padding-top: 3rem; }
  @media screen and (min-width: 50em) {
    .flexible-content {
      padding-top: 3rem; } }
  .flexible-content.half {
    padding-top: 1rem; }
    @media screen and (min-width: 50em) {
      .flexible-content.half {
        padding-top: 1rem; } }
  .flexible-content.third {
    padding-top: 0.5rem; }
    @media screen and (min-width: 50em) {
      .flexible-content.third {
        padding-top: 0.5rem; } }

.flexible-galerie-wrapper + .flexible-editor-wrapper {
  padding-top: 2rem; }

.flexible-oembed-wrapper + .flexible-zwischentitel-wrapper h2,
.flexible-editor-wrapper + .flexible-zwischentitel-wrapper h2,
.flexible-galerie-wrapper + .flexible-zwischentitel-wrapper h2 {
  padding-top: 1rem; }
  @media screen and (min-width: 50em) {
    .flexible-oembed-wrapper + .flexible-zwischentitel-wrapper h2,
    .flexible-editor-wrapper + .flexible-zwischentitel-wrapper h2,
    .flexible-galerie-wrapper + .flexible-zwischentitel-wrapper h2 {
      padding-top: 4rem; } }

.flexible-oembed-wrapper + .flexible-zwischentitel-wrapper h3,
.flexible-editor-wrapper + .flexible-zwischentitel-wrapper h3,
.flexible-galerie-wrapper + .flexible-zwischentitel-wrapper h3 {
  margin-top: 0; }

.flexible-editor-wrapper p:last-of-type + ul {
  margin-top: 1rem; }

.flexible-container-wrapper div.flexible-content:first-of-type {
  padding-top: 1.5rem; }

.flexible-zwischentitel-wrapper + .flexible-zwischentitel-wrapper {
  padding-top: 1rem; }
  @media screen and (min-width: 50em) {
    .flexible-zwischentitel-wrapper + .flexible-zwischentitel-wrapper {
      padding-top: 1.5rem; } }

/******************** NEWS + ARCHIVE **************/
.news-archive h1, .news-archive .sectiontitle {
  text-align: center; }
  .news-archive h1:after, .news-archive .sectiontitle:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.news-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .news-wrapper .news-item {
    padding: 1rem 0.5rem;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .news-wrapper .news-item {
        width: 50%;
        padding: 1rem 0.5rem; } }
    @media screen and (min-width: 50em) {
      .news-wrapper .news-item {
        width: 33.33%; } }
    .news-wrapper .news-item:hover h3 {
      color: #2A303D; }
    .news-wrapper .news-item:hover .thumb:before, .news-wrapper .news-item:hover .thumb:after {
      opacity: 1; }
    .news-wrapper .news-item > * {
      -webkit-flex: 1 1 auto;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto; }
    .news-wrapper .news-item .thumb {
      margin-bottom: 1rem;
      overflow: hidden;
      position: relative; }
      .news-wrapper .news-item .thumb:after, .news-wrapper .news-item .thumb:before {
        content: "";
        opacity: 0;
        transition: opacity 0.2s ease;
        margin: auto;
        position: absolute; }
      .news-wrapper .news-item .thumb:before {
        content: "+";
        font-size: 1.875rem;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        color: #FFFFFF;
        z-index: 2;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
      .news-wrapper .news-item .thumb:after {
        height: 100%;
        width: 100%;
        left: 0px;
        top: 0px;
        background: rgba(0, 0, 0, 0.15); }
    .news-wrapper .news-item h3 {
      transition: color 0.2s ease;
      line-height: 1.44;
      font-size: 1.5rem;
      color: #002B58;
      line-height: 1.2;
      margin-bottom: 0.66667rem; }
    .news-wrapper .news-item p {
      color: #002B58;
      line-height: 1.7;
      font-size: 1.0625rem; }
      @media print, screen and (min-width: 40em) {
        .news-wrapper .news-item p {
          font-size: 0.9375rem; } }

.news-meta {
  font-size: 0.9375rem;
  color: #DC2B1C;
  font-family: 'robotobold';
  font-weight: normal;
  margin: 0px 0 5px 0;
  display: block; }
  @media print, screen and (min-width: 40em) {
    .news-meta {
      font-size: 0.8125rem; } }

/******************** FOOTER ********************/
.footer {
  background: #002041;
  padding: 3rem 0; }
  .footer.curved {
    -webkit-transform: translateY(0) skew(0deg, -4deg);
        -ms-transform: translateY(0) skew(0deg, -4deg);
            transform: translateY(0) skew(0deg, -4deg); }
  .footer .footer-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1rem 1rem;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    @media print, screen and (min-width: 40em) {
      .footer .footer-container {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media screen and (min-width: 90em) {
      .footer .footer-container {
        padding-left: 0;
        padding-right: 0; } }
    .footer .footer-container > * {
      -webkit-flex: 1 1 auto;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto; }
  .footer .beforefooter {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center; }
    @media screen and (min-width: 50em) {
      .footer .beforefooter {
        text-align: left; } }
    @media screen and (min-width: 64em) {
      .footer .beforefooter {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    .footer .beforefooter p, .footer .beforefooter li, .footer .beforefooter h6, .footer .beforefooter a {
      font-size: 0.9375rem;
      color: #FFFFFF; }
    .footer .beforefooter h6 {
      font-size: 1.625rem;
      font-family: 'robotoregular';
      font-weight: normal;
      margin: 1.25rem 0; }
      @media screen and (min-width: 64em) {
        .footer .beforefooter h6 {
          margin-top: 0; } }
    .footer .beforefooter a[href^="mailto"] {
      color: #DC2B1C; }
    .footer .beforefooter .col1-2-wrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      text-align: center; }
      @media screen and (min-width: 50em) {
        .footer .beforefooter .col1-2-wrapper {
          text-align: left; } }
      @media screen and (min-width: 64em) {
        .footer .beforefooter .col1-2-wrapper {
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      @media screen and (min-width: 50em) {
        .footer .beforefooter .col1-2-wrapper .col2 {
          margin: 0 5rem; } }
      .footer .beforefooter .col1-2-wrapper .col2 a {
        margin-top: 2rem;
        display: inline-block; }
        .footer .beforefooter .col1-2-wrapper .col2 a:hover {
          background: #FFFFFF;
          color: #002B58; }
    .footer .beforefooter .col3 ul {
      list-style-type: none;
      margin: 0;
      -webkit-columns: 2;
              columns: 2;
      -webkit-column-gap: 50px;
              column-gap: 50px; }
      .footer .beforefooter .col3 ul li {
        line-height: 1.2;
        padding: 0.4375rem 0; }

.footer-menu {
  background: #001934; }
  .footer-menu .inner-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    padding: 1rem;
    color: #FFFFFF;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1rem; }
    @media print, screen and (min-width: 40em) {
      .footer-menu .inner-wrapper {
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-order: 0;
            -ms-flex-order: 0;
                order: 0; } }
    @media screen and (min-width: 90em) {
      .footer-menu .inner-wrapper {
        padding: 1rem 0; } }
  .footer-menu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .footer-menu a {
    font-family: 'robotomedium';
    font-weight: normal;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8125rem;
    margin: 0 0.625rem; }
    .footer-menu a:hover {
      color: #FFFFFF; }
    @media screen and (min-width: 50em) {
      .footer-menu a {
        margin: 0 1.25rem 0 0; } }

.copyright {
  font-size: 0.875rem; }

.home p {
  line-height: 2; }

.home section > .inner-wrapper {
  padding: 0 1rem;
  max-width: 40rem;
  margin: auto; }
  @media screen and (max-width: 49.9375em) {
    .home section > .inner-wrapper {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (min-width: 50em) {
    .home section > .inner-wrapper {
      max-width: 75rem; } }
  @media screen and (min-width: 90em) {
    .home section > .inner-wrapper {
      padding: 0; } }

.home .intro {
  margin-top: 2rem;
  color: #FFFFFF;
  text-align: center; }

.home .kopfbild-wrapper {
  height: 31.25rem; }
  .home .kopfbild-wrapper.curved {
    margin-bottom: 0; }
  @media screen and (min-width: 50em) {
    .home .kopfbild-wrapper {
      margin-bottom: -140px; } }

.home .main-wrapper {
  max-width: none; }

.home .sectiontitle {
  font-family: 'robotoblack';
  font-weight: normal;
  font-size: 2.5rem;
  padding-bottom: 2rem; }
  @media screen and (min-width: 50em) {
    .home .sectiontitle {
      font-size: 3.5rem; } }
  .home .sectiontitle:after {
    display: block; }
    @media screen and (min-width: 50em) {
      .home .sectiontitle:after {
        width: 6.25rem;
        height: 0.25rem; } }

.home .entry-content {
  padding-left: 0;
  padding-right: 0; }
  .home .entry-content header {
    max-width: 62.5rem; }

.home .footer {
  position: relative;
  z-index: 1;
  margin-top: -250px; }

.front-intro-wrapper .front-intro-text {
  margin: 2rem 0; }
  @media screen and (min-width: 50em) {
    .front-intro-wrapper .front-intro-text {
      -webkit-columns: 2;
              columns: 2;
      -webkit-column-gap: 60px;
              column-gap: 60px;
      margin: 4rem 0; } }

.front-intro-wrapper .photobar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: -0.5rem;
  margin-right: -0.5rem; }
  .front-intro-wrapper .photobar a {
    padding: 0.5rem; }

.front-usp-wrapper {
  background-color: #DC2B1C;
  padding-bottom: 2rem; }
  .front-usp-wrapper .suptitle {
    color: #FFFFFF; }
  .front-usp-wrapper .sectiontitle {
    color: #FFFFFF; }
    .front-usp-wrapper .sectiontitle:after {
      background-color: #002B58; }
  .front-usp-wrapper .front-boxes-wrapper {
    max-width: 64rem;
    margin: auto; }
  .front-usp-wrapper ol {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    counter-reset: usp-counter;
    list-style: none;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 5rem 0 0 0;
    margin-left: -0.5rem;
    margin-right: -0.5rem; }
    @media screen and (min-width: 50em) {
      .front-usp-wrapper ol {
        margin: 7rem -2rem; } }
    .front-usp-wrapper ol li {
      counter-increment: usp-counter;
      -webkit-flex: 0 1 auto;
          -ms-flex: 0 1 auto;
              flex: 0 1 auto;
      width: 100%;
      padding: 0.5rem 0.5rem 0.5rem 7rem;
      position: relative; }
      @media print, screen and (min-width: 40em) {
        .front-usp-wrapper ol li {
          width: 50%;
          padding: 1.5rem 3rem; } }
      .front-usp-wrapper ol li:before {
        content: counter(usp-counter);
        font-family: 'robotoblack';
        font-weight: normal;
        font-size: 9.375rem;
        color: #DC2B1C;
        text-shadow: 10px 10px 25px rgba(0, 0, 0, 0.15);
        position: absolute;
        top: 0px;
        left: 0px;
        z-index: -1;
        line-height: 1; }
        @media screen and (min-width: 50em) {
          .front-usp-wrapper ol li:before {
            top: -50px;
            left: -30px; } }
    .front-usp-wrapper ol .suptitle {
      text-align: left; }
    .front-usp-wrapper ol h5 {
      font-size: 2.5rem;
      font-family: 'robotobold';
      font-weight: normal;
      color: #FFFFFF;
      margin: 0;
      padding: 0;
      line-height: 1; }
    .front-usp-wrapper ol p {
      margin-top: 1rem;
      color: #FFFFFF;
      font-family: 'robotomedium';
      font-weight: normal;
      font-size: 0.9375rem;
      line-height: 1.6; }

.front-data-wrapper {
  background: #F6F9FC; }
  .front-data-wrapper .button-wrapper {
    padding-bottom: 1rem; }
    @media screen and (min-width: 50em) {
      .front-data-wrapper .button-wrapper {
        padding: 3rem 0; } }
  .front-data-wrapper .img-wrapper {
    text-align: center; }
  .front-data-wrapper .intro {
    color: inherit; }

.front-news-wrapper {
  padding: 0 0 17rem 0; }

.front-products-wrapper {
  background: #04264A center center no-repeat;
  background-size: cover; }
  .front-products-wrapper:after, .front-products-wrapper:before {
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute; }
  .front-products-wrapper:before {
    background-color: rgba(4, 38, 74, 0.8);
    z-index: 2; }
  .front-products-wrapper:after {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
    background-image: var(--bg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 1; }
  .front-products-wrapper .sectiontitle {
    color: #FFFFFF; }
    .front-products-wrapper .sectiontitle:after {
      background-color: #DC2B1C; }
  .front-products-wrapper .products .card-wrapper {
    margin: 5rem 0 2rem 0;
    margin-left: -0.5rem;
    margin-right: -0.5rem; }
    @media screen and (min-width: 50em) {
      .front-products-wrapper .products .card-wrapper {
        margin: 3rem -2rem; } }
  .front-products-wrapper .button:hover, .front-products-wrapper .daterangepicker .drp-buttons .btn:hover, .daterangepicker .drp-buttons .front-products-wrapper .btn:hover, .front-products-wrapper .footer .beforefooter .col1-2-wrapper .col2 a:hover, .footer .beforefooter .col1-2-wrapper .col2 .front-products-wrapper a:hover, .front-products-wrapper .flexible-form-wrapper input:hover[type="submit"], .flexible-form-wrapper .front-products-wrapper input:hover[type="submit"] {
    background: #FFFFFF;
    color: #002B58; }

.footer-photo-wrapper {
  height: 39.625rem;
  -webkit-transform: skew(0deg, -4deg) translateY(-140px);
      -ms-transform: skew(0deg, -4deg) translateY(-140px);
          transform: skew(0deg, -4deg) translateY(-140px);
  overflow: hidden; }
  .footer-photo-wrapper img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    -webkit-transform: scale(1.2) skew(0deg, 4deg);
        -ms-transform: scale(1.2) skew(0deg, 4deg);
            transform: scale(1.2) skew(0deg, 4deg); }

@media screen and (max-width: 39.9375em) {
  .flexible-ansprechpartner-wrapper {
    margin-left: -0.25rem;
    margin-right: -0.25rem; } }

.flexible-ansprechpartner-wrapper .inner-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media print, screen and (min-width: 40em) {
    .flexible-ansprechpartner-wrapper .inner-wrapper {
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      margin-left: -0.25rem;
      margin-right: -0.25rem;
      margin-top: -2rem; } }
  .flexible-ansprechpartner-wrapper .inner-wrapper .ap-item {
    padding: 0.25rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .flexible-ansprechpartner-wrapper .inner-wrapper .ap-item {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        width: 33.33%;
        padding: 3rem 0.25rem 0.25rem 0.25rem; } }
  .flexible-ansprechpartner-wrapper .inner-wrapper .ap-meta {
    margin: auto;
    padding: 0 0 0 2rem;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    @media print, screen and (min-width: 40em) {
      .flexible-ansprechpartner-wrapper .inner-wrapper .ap-meta {
        padding: 1rem 0 0 0;
        margin: 0; } }
  .flexible-ansprechpartner-wrapper .inner-wrapper .ap-funktion {
    font-size: 0.9375rem; }
  @media screen and (max-width: 39.9375em) {
    .flexible-ansprechpartner-wrapper .inner-wrapper img {
      max-width: 7.625rem; } }
  .flexible-ansprechpartner-wrapper .inner-wrapper h5 {
    font-size: 1rem;
    font-family: 'robotobold';
    font-weight: normal;
    color: #475267; }

.flexible-boxes-wrapper .flexible-boxes {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: -0.5rem;
  margin-right: -0.5rem; }

.flexible-boxes-wrapper a {
  display: block;
  padding: 0.5rem;
  width: 100%;
  transition: all 0.2s ease; }
  @media print, screen and (min-width: 40em) {
    .flexible-boxes-wrapper a {
      width: 50%; } }
  .flexible-boxes-wrapper a:hover > div {
    -webkit-transform: translateY(-8px);
        -ms-transform: translateY(-8px);
            transform: translateY(-8px);
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15); }
  .flexible-boxes-wrapper a:hover figure:before {
    opacity: 1; }
  .flexible-boxes-wrapper a:hover figure:after {
    width: 3.75rem;
    height: 3.75rem;
    opacity: 1; }
  .flexible-boxes-wrapper a > div {
    transition: all 0.2s ease;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15); }
  .flexible-boxes-wrapper a figure {
    position: relative; }
    .flexible-boxes-wrapper a figure:before {
      content: "";
      width: 100%;
      height: 100%;
      background-color: rgba(0, 43, 88, 0.5);
      position: absolute;
      left: 0;
      top: 0;
      z-index: 1;
      opacity: 0;
      transition: opacity 0.2s ease; }
    .flexible-boxes-wrapper a figure:after {
      opacity: 0;
      content: "+";
      width: 0;
      height: 0;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      background: rgba(255, 255, 255, 0.3);
      color: #FFFFFF;
      position: absolute;
      left: 50%;
      top: 50%;
      border-radius: 50%;
      font-size: 1.5625rem;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      z-index: 2;
      transition: all 0.2s ease; }

.flexible-boxes-wrapper h5 {
  padding: 0.625rem;
  background: #002B58;
  color: #FFFFFF;
  font-size: 0.875rem;
  font-family: 'robotobold';
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-top: 1px solid #FFFFFF; }

.flexible-button-wrapper {
  text-align: center; }

.flexible-cards-wrapper.flexible-content .card-wrapper {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.flexible-cards-wrapper.flexible-content .card {
  background-color: #002B58; }
  .flexible-cards-wrapper.flexible-content .card p,
  .flexible-cards-wrapper.flexible-content .card h3 {
    color: #FFFFFF; }
  .flexible-cards-wrapper.flexible-content .card h3 {
    padding: 0;
    line-height: 1.2; }
  .flexible-cards-wrapper.flexible-content .card p {
    line-height: 1.3;
    font-size: 0.875rem;
    margin: 1rem 0 0 0; }
    .flexible-cards-wrapper.flexible-content .card p:last-child:first-child {
      margin-top: 0; }
  .flexible-cards-wrapper.flexible-content .card:hover h3 {
    color: #FFFFFF; }

.flexible-cards-wrapper.flexible-content .inner-content {
  padding: 1rem;
  margin-top: auto;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.flexible-catalogs-wrapper .inner-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem; }

.flexible-catalogs-wrapper a {
  display: block;
  padding: 0.5rem;
  text-align: center;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .flexible-catalogs-wrapper a {
      width: 50%; } }
  @media screen and (min-width: 50em) {
    .flexible-catalogs-wrapper a {
      width: 33.33%; } }
  .flexible-catalogs-wrapper a:hover .button, .flexible-catalogs-wrapper a:hover .daterangepicker .drp-buttons .btn, .daterangepicker .drp-buttons .flexible-catalogs-wrapper a:hover .btn, .flexible-catalogs-wrapper a:hover .footer .beforefooter .col1-2-wrapper .col2 a, .footer .beforefooter .col1-2-wrapper .col2 .flexible-catalogs-wrapper a:hover a, .flexible-catalogs-wrapper a:hover .flexible-form-wrapper input[type="submit"], .flexible-form-wrapper .flexible-catalogs-wrapper a:hover input[type="submit"] {
    background: #002B58; }

.flexible-catalogs-wrapper figure {
  margin-bottom: 1rem;
  border-radius: 5px;
  border: 10px solid #FFFFFF;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15); }

.flexible-catalogs-wrapper .button, .flexible-catalogs-wrapper .daterangepicker .drp-buttons .btn, .daterangepicker .drp-buttons .flexible-catalogs-wrapper .btn, .flexible-catalogs-wrapper .footer .beforefooter .col1-2-wrapper .col2 a, .footer .beforefooter .col1-2-wrapper .col2 .flexible-catalogs-wrapper a, .flexible-catalogs-wrapper .flexible-form-wrapper input[type="submit"], .flexible-form-wrapper .flexible-catalogs-wrapper input[type="submit"] {
  margin-top: 0.5rem; }

.flexible-catalogs-wrapper h6 {
  font-size: 1.0625rem; }

.flexible-contact-wrapper ul {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem; }

.flexible-contact-wrapper li {
  width: 100%;
  padding: 0.5rem; }
  @media print, screen and (min-width: 40em) {
    .flexible-contact-wrapper li {
      width: 50%; } }

.flexible-contact-wrapper .innerwrapper {
  border: 1px solid rgba(220, 43, 28, 0.1);
  padding: 1rem;
  height: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .flexible-contact-wrapper .innerwrapper:hover {
    color: #002B58; }
    .flexible-contact-wrapper .innerwrapper:hover svg {
      -webkit-transform: translateX(8px);
          -ms-transform: translateX(8px);
              transform: translateX(8px); }

.flexible-contact-wrapper .function {
  color: rgba(220, 43, 28, 0.5);
  font-size: 0.9375rem; }

.flexible-contact-wrapper .mailto {
  margin-left: auto;
  font-family: 'robotobold';
  font-weight: normal;
  font-size: 0.8125rem;
  text-transform: uppercase; }
  .flexible-contact-wrapper .mailto svg {
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease;
    margin-left: 0.25rem; }

/******************** DATENBLÄTTER TABELLE **************/
@media print, screen and (min-width: 40em) {
  .scroll-container {
    overflow: auto; } }

table#datasheets {
  width: 100%;
  border-collapse: collapse; }
  @media screen and (max-width: 39.9375em) {
    table#datasheets {
      margin-left: -1rem;
      margin-right: -1rem;
      width: calc(100% + 2rem);
      min-width: auto; } }
  @media print, screen and (min-width: 40em) {
    table#datasheets {
      min-width: 55.25rem;
      border: 1px solid rgba(0, 43, 88, 0.1); } }
  table#datasheets thead {
    background: rgba(0, 43, 88, 0.1);
    color: #002B58;
    text-align: left;
    text-transform: uppercase;
    font-family: 'robotobold';
    font-weight: normal;
    display: none; }
    @media print, screen and (min-width: 40em) {
      table#datasheets thead {
        display: table-header-group; } }
    table#datasheets thead th {
      font-size: 0.75rem;
      font-family: 'robotoblack';
      font-weight: normal;
      line-height: 1.2;
      padding: 1rem 0.5rem; }
  table#datasheets tr:nth-child(odd) {
    background: rgba(0, 43, 88, 0.02); }
  table#datasheets tr.hideRow {
    display: none; }
  table#datasheets .title {
    border-top: 1px solid rgba(0, 43, 88, 0.1);
    border-bottom: 2px solid #DC2B1C; }
    table#datasheets .title td {
      color: #FFFFFF;
      font-size: 1.125rem;
      padding: 1rem 0.5rem;
      background: #DC2B1C; }
      @media print, screen and (min-width: 40em) {
        table#datasheets .title td {
          background: #FFFFFF;
          color: #DC2B1C; } }
  table#datasheets .message {
    text-align: center; }
    table#datasheets .message td {
      color: #002B58;
      padding: 2rem; }
    table#datasheets .message * {
      font-size: 0.8125rem;
      font-family: 'robotomedium';
      font-weight: normal; }
    table#datasheets .message a {
      color: #DC2B1C; }
      table#datasheets .message a:hover {
        color: #002B58; }
  table#datasheets .name {
    position: relative;
    min-width: 18.75rem; }
    table#datasheets .name span {
      width: 1rem;
      height: 1rem;
      position: absolute;
      right: 0.5rem;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      background: #DC2B1C url(../images/info.svg) center center no-repeat; }
  table#datasheets th, table#datasheets td {
    vertical-align: middle;
    padding: 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.2;
    display: none; }
    table#datasheets th:first-of-type, table#datasheets td:first-of-type {
      padding-left: 1rem;
      display: table-cell; }
    table#datasheets th:last-of-type, table#datasheets td:last-of-type {
      padding-right: 1rem; }
    @media print, screen and (min-width: 40em) {
      table#datasheets th, table#datasheets td {
        display: table-cell; }
        table#datasheets th:not(:last-of-type), table#datasheets td:not(:last-of-type) {
          border-right: 1px solid rgba(0, 43, 88, 0.1); } }
  table#datasheets td, table#datasheets .subtitle {
    font-family: 'robotomedium';
    font-weight: normal;
    color: rgba(0, 43, 88, 0.7); }
  table#datasheets a {
    font-size: 0.875rem; }
  table#datasheets .subtitle {
    font-size: 0.75rem;
    font-family: 'robotoregular';
    font-weight: normal;
    padding-right: 2rem; }
  table#datasheets [data-tooltip] {
    display: inline-block;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 50%;
    background: rgba(0, 43, 88, 0.25);
    margin-right: 0.25rem;
    font-size: 0; }
  table#datasheets [data-large-tooltip] {
    opacity: 0; }
    table#datasheets [data-large-tooltip][data-tooltip] {
      opacity: 1;
      transition: opacity 0.2s ease; }
  table#datasheets .spannung {
    max-width: 21.875rem; }
  table#datasheets tfoot {
    display: none; }

#datasheet-filter {
  font-size: 0.75rem;
  text-transform: uppercase; }
  #datasheet-filter > div {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-family: 'robotobold';
    font-weight: normal;
    margin: 0 auto 2rem auto; }
  #datasheet-filter label {
    padding-left: 1rem;
    margin: 0.5rem; }
    @media print, screen and (min-width: 40em) {
      #datasheet-filter label {
        margin: 1rem 0.5rem; } }
  #datasheet-filter select, #datasheet-filter input, #datasheet-filter button {
    display: block;
    font-size: 1rem;
    font-family: 'robotoregular';
    font-weight: normal;
    border-radius: 3.125rem;
    -webkit-appearance: none;
            appearance: none;
    border: 1px solid rgba(0, 43, 88, 0.06);
    padding: 0.66667rem 1rem;
    margin-left: -1rem;
    background-color: rgba(0, 43, 88, 0.03);
    width: calc( 100% + 1rem); }
    #datasheet-filter select:focus, #datasheet-filter input:focus, #datasheet-filter button:focus {
      outline: none;
      border: 1px solid rgba(0, 43, 88, 0.25); }
  #datasheet-filter select {
    background: rgba(0, 43, 88, 0.03) url(../images/arrow.svg) center right 1rem no-repeat;
    padding-right: 2rem; }
  #datasheet-filter button {
    cursor: pointer;
    margin: 0 0 1rem 0.5rem;
    border: none;
    background-color: #DC2B1C;
    color: #FFFFFF;
    font-family: 'robotobold';
    font-weight: normal;
    text-transform: uppercase;
    font-size: 0.6875rem;
    padding: 0.8rem 1.5rem;
    letter-spacing: 2px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: auto; }
    #datasheet-filter button:hover {
      background-color: #002B58; }
    #datasheet-filter button:focus {
      outline: none;
      border: none; }
    #datasheet-filter button svg {
      height: 16px;
      margin-right: 0.5rem; }
  #datasheet-filter .filter-extened {
    position: relative;
    max-width: 52.5rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; }
    @media print, screen and (min-width: 40em) {
      #datasheet-filter .filter-extened {
        border-radius: 5px;
        border: 1px solid rgba(0, 43, 88, 0.06);
        padding: 2rem; } }
    #datasheet-filter .filter-extened label {
      width: calc( 50% - 1rem); }
      @media screen and (min-width: 50em) {
        #datasheet-filter .filter-extened label {
          width: calc( 33% - 1rem); } }
    #datasheet-filter .filter-extened #close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      color: #DC2B1C;
      display: none; }
      @media print, screen and (min-width: 40em) {
        #datasheet-filter .filter-extened #close {
          display: inline-block; } }
      #datasheet-filter .filter-extened #close:hover {
        color: #002B58; }

#filter-reset {
  margin-left: auto;
  margin-right: 1rem;
  text-transform: none;
  color: #DC2B1C; }
  #filter-reset:hover {
    color: #002B58; }

.flexible-downloads-wrapper li {
  position: relative; }
  .flexible-downloads-wrapper li:not(:last-child) {
    margin-bottom: 1rem; }

.flexible-downloads-wrapper a {
  padding: 1.25rem 1.875rem 1.25rem 3.75rem;
  background-color: #FFFFFF;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
  display: block;
  transition: all 0.2s ease;
  border-radius: 5px; }
  .flexible-downloads-wrapper a:before {
    content: "";
    background: #DC2B1C url("data:image/svg+xml,%3Csvg width='11' height='12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.833 8.541V1.165a1 1 0 1 1 2 0v7.378l2.372-2.27c.458-.418.982-.385 1.355 0 .376.382.353 1.03 0 1.391-.35.359-4.047 3.881-4.047 3.881a.947.947 0 0 1-1.358 0S1.458 8.023 1.107 7.664c-.353-.36-.377-1.009 0-1.392.374-.384.898-.417 1.359 0l2.367 2.27z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E%0A") center center no-repeat;
    width: 1.75rem;
    height: 1.75rem;
    position: absolute;
    left: 16px;
    top: 20px;
    border-radius: 50%;
    transition: background-color 0.2s ease; }
  .flexible-downloads-wrapper a:hover {
    background-color: #002B58; }
    .flexible-downloads-wrapper a:hover p, .flexible-downloads-wrapper a:hover h6 {
      color: #FFFFFF; }
  .flexible-downloads-wrapper a h6 {
    color: #002B58;
    margin-bottom: 0.625rem;
    transition: color 0.2s ease;
    font-size: 1.0625rem; }
    @media screen and (max-width: 39.9375em) {
      .flexible-downloads-wrapper a h6 {
        padding-top: 0.5rem; } }
  .flexible-downloads-wrapper a p {
    color: rgba(0, 43, 88, 0.5);
    font-size: 0.9375rem;
    line-height: 1.66;
    transition: color 0.2s ease; }

.flexible-editor-wrapper a {
  font-family: 'robotobold';
  font-weight: normal;
  color: #DC2B1C; }
  .flexible-editor-wrapper a:hover {
    color: #002B58; }

@media screen and (max-width: 39.9375em) {
  .flexible-editor-wrapper li,
  .flexible-editor-wrapper li {
    line-height: 1.375; } }

.flexible-editor-wrapper h3 {
  margin-bottom: 1rem; }

.flexible-editor-wrapper h2 {
  margin: 2.5rem 0 0.5rem 0; }
  @media screen and (min-width: 50em) {
    .flexible-editor-wrapper h2 {
      margin: 4rem 0 0.5rem 0; } }

.flexible-editor-wrapper h4 {
  margin: 1.5rem 0 0.5rem 0; }

.flexible-form-wrapper {
  background-color: rgba(117, 126, 141, 0.1);
  padding: 2rem 1rem;
  border-radius: 5px; }
  @media print, screen and (min-width: 40em) {
    .flexible-form-wrapper {
      padding: 2rem; } }
  .flexible-form-wrapper ul {
    list-style-type: none;
    margin-left: 0; }
    .flexible-form-wrapper ul li:first-child .gsection_title {
      margin-top: 0; }
  .flexible-form-wrapper label {
    font-family: 'robotobold';
    font-size: 0.9375rem;
    padding: 0.625rem 0 0.4375rem 0;
    display: inline-block;
    color: #002B58; }
  .flexible-form-wrapper input:not([type="submit"]), .flexible-form-wrapper textarea {
    width: 100%;
    background-color: #FFFFFF;
    border: 0;
    padding: 1rem;
    border-radius: 5px; }
    .flexible-form-wrapper input:not([type="submit"])[aria-invalid="true"], .flexible-form-wrapper textarea[aria-invalid="true"] {
      border: 1px solid #DC2B1C; }
    .flexible-form-wrapper input:not([type="submit"]):focus, .flexible-form-wrapper textarea:focus {
      background-color: rgba(117, 126, 141, 0.15); }
  .flexible-form-wrapper .gfield_required {
    color: #DC2B1C;
    margin-left: 0.5rem; }
  .flexible-form-wrapper .gform_footer {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 0.5rem; }
  .flexible-form-wrapper .gsection_title {
    margin-top: 2rem; }
  .flexible-form-wrapper .validation_error {
    background: #DC2B1C;
    color: #FFFFFF;
    padding: 0.5rem;
    border-radius: 5px;
    text-align: center;
    font-family: 'robotobold';
    margin-bottom: 1rem; }
  .flexible-form-wrapper .validation_message {
    color: #DC2B1C;
    font-family: 'robotobold';
    position: relative;
    text-transform: uppercase;
    font-size: 0.8125rem;
    margin-top: 0.5rem;
    padding-left: 1.25rem; }
    .flexible-form-wrapper .validation_message:before {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath transform='matrix(.70711-.70711.70711.70711 0 1.657)' d='m2 6h6v2h-8v-8h2z' fill='%23dc2b1c'/%3E%3C/g%3E%3C/svg%3E");
      position: absolute;
      top: 50%;
      left: 0;
      width: 0.75rem;
      height: 0.5rem;
      -webkit-transform: translateY(-50%) rotate(180deg);
          -ms-transform: translateY(-50%) rotate(180deg);
              transform: translateY(-50%) rotate(180deg); }

@media screen and (max-width: 39.9375em) {
  .flexible-galerie-wrapper {
    margin-left: -0.0625rem;
    margin-right: -0.0625rem; } }

.flexible-galerie-wrapper .inner-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media print, screen and (min-width: 40em) {
    .flexible-galerie-wrapper .inner-wrapper {
      margin-left: -0.0625rem;
      margin-right: -0.0625rem; } }

.flexible-galerie-wrapper a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 1;
      -ms-flex-negative: 1;
          flex-shrink: 1;
  width: 50%;
  padding: 0.0625rem; }
  .flexible-galerie-wrapper a.grow {
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (max-width: 39.9375em) {
      .flexible-galerie-wrapper a.grow {
        width: 100%; } }
  @media print, screen and (min-width: 40em) {
    .flexible-galerie-wrapper a {
      width: 33.33%; } }
  .flexible-galerie-wrapper a span {
    position: relative;
    overflow: hidden; }
    .flexible-galerie-wrapper a span:after, .flexible-galerie-wrapper a span:before {
      content: "";
      opacity: 0;
      transition: opacity 0.2s ease;
      margin: auto;
      position: absolute; }
    .flexible-galerie-wrapper a span:before {
      content: "+";
      font-size: 1.875rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      color: #FFFFFF;
      z-index: 2;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .flexible-galerie-wrapper a span:after {
      height: 100%;
      width: 100%;
      left: 0px;
      top: 0px;
      background: rgba(0, 0, 0, 0.15); }
    .flexible-galerie-wrapper a span:hover:after, .flexible-galerie-wrapper a span:hover:before {
      opacity: 1; }
  .flexible-galerie-wrapper a img {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

/* fade image in after load */
/* Spinner check http://samherbert.net/svg-loaders/ */
.lazyload,
.lazyloading {
  opacity: 0; }

.lazyloaded {
  opacity: 1;
  transition: opacity 600ms; }

img.lazyload:not([src]) {
  visibility: hidden; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJnbG9iYWwvX2ZvbnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIm1vZHVsZXMvX25hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvX2VkaXRvci1zdHlsZS5zY3NzIiwibW9kdWxlcy9fZGF0ZXBpY2tlci5zY3NzIiwibW9kdWxlcy9fYnV0dG9ucy5zY3NzIiwibW9kdWxlcy9fY2FyZHMuc2NzcyIsIm1vZHVsZXMvX3BhZ2luYXRpb24uc2NzcyIsImdsb2JhbC9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiZ2xvYmFsL193cC1hZG1pbi5zY3NzIiwiZ2xvYmFsL193cC1vdmVycmlkZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiX2dsb2JhbC5zY3NzIiwiZ2xvYmFsL19mcm9udHBhZ2Uuc2NzcyIsImJsb2Nrcy9fYW5zcHJlY2hwYXJ0bmVyLnNjc3MiLCJibG9ja3MvX2JveGVzLnNjc3MiLCJibG9ja3MvX2J1dHRvbi5zY3NzIiwiYmxvY2tzL19jYXJkcy5zY3NzIiwiYmxvY2tzL19jYXRhbG9ncy5zY3NzIiwiYmxvY2tzL19jb250YWN0LnNjc3MiLCJibG9ja3MvX2RhdGFzaGVldHMuc2NzcyIsImJsb2Nrcy9fZG93bmxvYWRzLnNjc3MiLCJibG9ja3MvX2VkaXRvci5zY3NzIiwiYmxvY2tzL19mb3JtLnNjc3MiLCJibG9ja3MvX2dhbGVyaWUuc2NzcyIsIm1vZHVsZXMvX2xhenlsb2FkLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCO0VBQ0ksNkJBQTRCO0VBQzVCLDhIQUMrRDtFQUMvRCxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBRXRCO0VBQ0ksMEJBQXlCO0VBQ3pCLHdIQUM0RDtFQUM1RCxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBRXRCO0VBQ0ksNEJBQTJCO0VBQzNCLDRIQUM4RDtF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TUM7Ozs7OztFTWtOQSw2QkZuSWdDO0VFb0loQyxtQkZsSXNCO0VFbUl0QixvQkZwSXVCO0VFcUl2QixlRjNOYztFRTROZCxtQ0Y5R3NDLEVFb0h2QztFQWhCRDs7Ozs7O0lBYUksZUFBYztJQUNkLGVGdk1lLEVFd01oQjs7QU4zTkQ7RU11T1EscUJDdlA2QztFRG1RN0Msa0JGL0pZO0VFdUtaLGNBQWE7RUFPYixpQkM3UUMsRUQrUUo7O0FBakNEO0VBSUkscUJDdlA2QztFRG1RN0Msa0JGL0pZO0VFdUtaLGNBQWE7RUFPYixpQkM3UUMsRUQrUUo7O0FBakNEO0VBSUksbUJDdlA2QztFRG1RN0Msa0JGL0pZO0VFdUtaLGNBQWE7RUFPYixpQkM3UUMsRUQrUUo7O0FBakNEO0VBSUkscUJDdlA2QztFRG1RN0Msa0JGL0pZO0VFdUtaLGNBQWE7RUFPYixpQkM3UUMsRUQrUUo7O0FBakNEO0VBSUksb0JDdlA2QztFRG1RN0Msa0JGL0pZO0VFdUtaLGNBQWE7RUFPYixpQkM3UUMsRUQrUUo7O0FBakNEO0VBSUkscUJDdlA2QztFRG1RN0Msa0JGL0pZO0VFdUtaLGNBQWE7RUFPYixpQkM3UUMsRUQrUUo7O0FFek1IO0VSM0RGO0lNdU9RLGdCQ3ZQNkMsRURvUmhEO0VBakNEO0lBSUksb0JDdlA2QyxFRG9SaEQ7RUFqQ0Q7SUFJSSxrQkN2UDZDLEVEb1JoRDtFQWpDRDtJQUlJLG9CQ3ZQNkMsRURvUmhEO0VBakNEO0lBSUksbUJDdlA2QyxFRG9SaEQ7RUFqQ0Q7SUFJSSxxQkN2UDZDLEVEb1JoRCxFQUFBOztBTm5HTDtFTTBHQSxxQkFBb0I7RUFDcEIsZUZsUmM7RUVtUmQsc0JGdkp5QjtFRXlKekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlRnhSYyxFRTRSZjtFQWJIO0lBZ0JJLFVBQVMsRUFDVjs7QU52S0Q7RU00S0EsWUFBVztFQUVYLGlCQ2xUcUQ7RURtVHJELFVBQVM7RUFDVCxxQkYxS3lCO0VFNEt6QixjQUFhO0VBQ2IsZ0JBQWU7RUFDZixpQ0ZyUmlCO0VFc1JqQixlQUFjLEVBQ2Y7O0FBR0Q7OztFQUdFLG9CRnBNMEI7RUVxTTFCLDZCRm5MeUI7RUVvTHpCLGlCRnZNc0IsRUV3TXZCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0UscUJGN0xzQjtFRThMdEIsc0JGaE1rQixFRWlNbkI7O0FBR0Q7RUFDRSxxQkZuTXNCLEVFb012Qjs7QUFHRDtFQUVJLHFCRnhNMkI7RUV5TTNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLG9CRjlNeUIsRUVvTjFCO0VBUEQ7SUFJSSxzQkYvTThCO0lFZ045QixpQkYvU2tCLEVFZ1RuQjs7QUFJSDtFQUNFLGlCRjdPMEI7RUU4TzFCLHVDQzFXcUQ7RUQyV3JELCtCRnhVaUIsRUU4VWxCO0VBVEQ7SUFNSSxpQkZuUG9CO0lFb1BwQixlRnJXWSxFRXNXYjs7QUFJSDtFQUNFLGVBQWM7RUFDZCxxQkN0WHFEO0VEdVhyRCxlRjdXYyxFRWtYZjtFQVJEO0lBTUksY0ZqTzZCLEVBQUE7O0FFc09qQztFQUNFLGtDRjNWVztFRTRWWCxhQUFZO0VBQ1osc0JBQXFCLEVBQ3RCOztBTjdRQztFTWlSQSxVQUFTLEVBQ1Y7O0FBR0Q7RUFDRSxzQ0M1WXFEO0VEOFlyRCwwQkYzV2lCO0VFNFdqQiwwQkY3V2dCO0VFK1doQiw2REYvU21FO0VFZ1RuRSxvQkYvVnlCO0VFZ1d6QixlRjlXVyxFRStXWjs7QUFHRDtFQUNFLFVBQVM7RUFDVCw0QkNwWlM7RURzWlQsMEJGelhnQjtFRTJYaEIsNkRGM1RtRTtFRTRUbkUsZUZ6WFc7RUU0WFQsbUJGNVdhLEVFOFdoQjs7QUc1Y0Q7RUFDRSxtQkxpTnlCO0VLaE56QixzQkxpTjRCO0VLL001QixvQkx3RnlCO0VLdkZ6QixpQkwwTXNCO0VLek10QixlTDZDYyxFSzVDZjs7QUFHRDtFQUNFLGdCTGtNcUM7RUtqTXJDLGlCTGtNaUIsRUtqTWxCOztBQUdEO0VBQ0Usa0JMbU1tQjtFS2xNbkIsZUFBYyxFQUtmO0VBSEM7SUFDRSxrQkFBaUIsRUFDbEI7O0FBR0g7RUFHSSxlQUFnQztFQUNoQyxpQkFBZ0IsRUFDakI7O0FDL0RLO0VBQ0UsaUJBUmUsRUFTaEI7O0FBRkQ7RUFDRSxrQkFSc0IsRUFTdkI7O0FBRkQ7RUFDRSxtQkFSOEIsRUFTL0I7O0FBRkQ7RUFDRSxvQkFSdUMsRUFTeEM7O0FGbUpMO0VFMUpJO0lBQ0UsaUJBSGUsRUFJaEI7RUFGRDtJQUNFLGtCQUhzQixFQUl2QjtFQUZEO0lBQ0UsbUJBSDhCLEVBSS9CO0VBRkQ7SUFDRSxvQkFIdUMsRUFJeEMsRUFBQTs7QUY2Skw7RUUvSkk7SUFDRSxpQkFIZSxFQUloQjtFQUZEO0lBQ0Usa0JBSHNCLEVBSXZCO0VBRkQ7SUFDRSxtQkFIOEIsRUFJL0I7RUFGRDtJQUNFLG9CQUh1QyxFQUl4QyxFQUFBOztBRjZKTDtFRS9KSTtJQUNFLGlCQUhlLEVBSWhCO0VBRkQ7SUFDRSxrQkFIc0IsRUFJdkI7RUFGRDtJQUNFLG1CQUg4QixFQUkvQjtFQUZEO0lBQ0Usb0JBSHVDLEVBSXhDLEVBQUE7O0FGNkpMO0VFL0pJO0lBQ0UsaUJBSGUsRUFJaEI7RUFGRDtJQUNFLGtCQUhzQixFQUl2QjtFQUZEO0lBQ0UsbUJBSDhCLEVBSS9CO0VBRkQ7SUFDRSxvQkFIdUMsRUFJeEMsRUFBQTs7QUY2Skw7RUUvSkk7SUFDRSxpQkFIZSxFQUloQjtFQUZEO0lBQ0Usa0JBSHNCLEVBSXZCO0VBRkQ7SUFDRSxtQkFIOEIsRUFJL0I7RUFGRDtJQUNFLG9CQUh1QyxFQUl4QyxFQUFBOztBQ0VUO0VBQWtCLHlCQUF3QixFQUFJOztBQUU5QztFQUNFO0lBRUksbUNBQWtDO0lBR3BDLDRCQUEyQjtJQUUzQix3QkFBdUI7SUFDdkIsNkJBQTRCLEVBQzdCO0VBWkg7SUFjb0IsMEJBQXlCLEVBQUk7RUFDL0M7SUFBa0IseUJBQXdCLEVBQUk7RUFFOUM7SUFBdUIsMEJBQXlCLEVBQUk7RUFDcEQ7SUFBdUIsdUNBQXNDLEVBQUk7RUFDakU7SUFBdUIsb0NBQW1DLEVBQUk7RUFDOUQ7SUFBb0IsOEJBQTZCLEVBQUk7RUFDckQ7SUFBb0IsK0JBQThCLEVBQUk7RUFDdEQ7SUFBb0IsK0JBQThCLEVBQUk7RUFHdEQ7O0lBQ1ksMkJBQTBCLEVBQUc7RUFFdkM7SUFBZ0IsNkJBQTRCLEVBQUk7RUFJbEQ7OztJQUVxQixZQUFXLEVBQUk7RUFHcEM7SUFBb0IsOEJBQTZCLEVBQUk7RUFHckQ7O0lBRUUsMEJQMkNZO0lPMUNaLHlCQUF3QixFQUN6QjtFQUdEO0lBQVEsNEJBQTJCLEVBQUk7RUFFdkM7O0lBQ00seUJBQXdCLEVBQUk7RVhnVmxDO0lXOVVNLDJCQUEwQixFQUFJO0VBRXBDO0lBQVEsY0FBYSxFQUFBO0VBRXJCOzs7SUFHRSxXQUFVO0lBQ1YsVUFBUyxFQUNWO0VBR0Q7O0lBQ0ssd0JBQXVCLEVBQUk7RUFHaEM7SUFDRSx3QkFBdUIsRUFDeEIsRUFBQTs7QUNrTEg7RUFoTEEsc0JBQXFCO0VBQ3JCLHVCQUFzQjtFQUN0QixnQlJzUHFCO0VRclByQixvQlJtUHlCO0VRek92QixxQlIwT3dCO0VRdk8xQix5QkFBd0I7RUFDeEIsOEJBQTZCO0VBQzdCLGlCUjRPZTtFUTNPZix3RFJ1UDZEO0VRclA3RCxtQlI4T2dCO0VRN09oQixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBcUNmLDhCUjZMNkI7RVE1TDdCLGVSakRnQixFUXVSZjtFZjRmRDtJUTNxQkUsV0FBVSxFQUNYO0VPdEREO0lBQ0UsMEJScERjO0lRcURkLGVSckRjLEVRc0RmO0VBNkdEO0lBTU0sa0JSMkVNLEVRMUVQO0VBUEw7SUFNTSxxQlI0RVUsRVEzRVg7RUFQTDtJQU1NLG1CUjhFUSxFUTdFVDtFQVBMO0lBakpFLGVBQWM7SUFDZCxZQUFXO0lBQ1gsZ0JBQWU7SUFDZixlQUFjLEVBd0p5QjtFQVZ6QztJQW5IQSwwQlJoRGdCO0lRaURoQixlUnRCYSxFUXlKTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixlUjFCVyxFUTJCWjtFQTZHRDtJQW5IQSwwQlIvQ2tCO0lRZ0RsQixlUnRCYSxFUXlKTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixlUjFCVyxFUTJCWjtFQTZHRDtJQW5IQSwwQlI5Q2dCO0lRK0NoQixlUnRCYSxFUXlKTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixlUjFCVyxFUTJCWjtFQTZHRDtJQW5IQSwwQlI3Q2dCO0lROENoQixlUnRCYSxFUXlKTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixlUjFCVyxFUTJCWjtFQTZHRDtJQW5IQSwwQlI1Q2M7SVE2Q2QsZVJ0QmEsRVF5Sk47SUFqSVA7TUFDRSwwQkFQb0Y7TUFRcEYsZVIxQlcsRVEyQlo7RUE2R0Q7SUExREEsY1JpSjRCO0lRaEo1QixvQkFBbUIsRUFpR2hCO0lBL0ZIO01BQ0UsOEJSZ0kyQjtNUS9IM0IsZVI5R2MsRVErR2Y7SUFvREQ7TUExREEsY1JpSjRCO01RaEo1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQlI3R2M7UVE4R2QsZVJuRlcsRVFvRlo7SUFvREQ7TUExREEsY1JpSjRCO01RaEo1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQlI1R2dCO1FRNkdoQixlUm5GVyxFUW9GWjtJQW9ERDtNQTFEQSxjUmlKNEI7TVFoSjVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCUjNHYztRUTRHZCxlUm5GVyxFUW9GWjtJQW9ERDtNQTFEQSxjUmlKNEI7TVFoSjVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCUjFHYztRUTJHZCxlUm5GVyxFUW9GWjtJQW9ERDtNQTFEQSxjUmlKNEI7TVFoSjVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCUnpHWTtRUTBHWixlUm5GVyxFUW9GWjtFQW9ERDtJQW5GQSw4QlI2SjZCO0lRNUo3QixtQlI0SjZCLEVRckJ4QjtJQTdKTDtNQUVFLDhCQUE2QixFQUM5QjtJQUlDO01BRUUsOEJBQTZCLEVBQzlCO0lBY0g7TUFDRSwrQkFONkQ7TUFPN0Qsd0JBUDZELEVBYTlEO01BTEM7UUFFRSw4QlJxSnlCO1FRcEp6QixtQlJvSnlCLEVRbkoxQjtJQXlFSDtNQW5GQSwwQlJoRmdCO01RaUZoQixlUmpGZ0IsRVFzTlA7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCUnhGWTtVUXlGWixlUnpGWSxFUTBGYjtJQXlFSDtNQW5GQSwwQlIvRWtCO01RZ0ZsQixlUmhGa0IsRVFxTlQ7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCUnZGYztVUXdGZCxlUnhGYyxFUXlGZjtJQXlFSDtNQW5GQSwwQlI5RWdCO01RK0VoQixlUi9FZ0IsRVFvTlA7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCUnRGWTtVUXVGWixlUnZGWSxFUXdGYjtJQXlFSDtNQW5GQSwwQlI3RWdCO01ROEVoQixlUjlFZ0IsRVFtTlA7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCUnJGWTtVUXNGWixlUnRGWSxFUXVGYjtJQXlFSDtNQW5GQSwwQlI1RWM7TVE2RWQsZVI3RWMsRVFrTkw7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCUnBGVTtVUXFGVixlUnJGVSxFUXNGWDtFQXlFSDtJQW5GQSw4QlI2SjZCO0lRNUo3QixtQlI0SjZCLEVRUXhCO0lBMUxMO01BRUUsOEJBQTZCLEVBQzlCO0lBSUM7TUFFRSw4QkFBNkIsRUFDOUI7SUFjSDtNQUNFLCtCQU42RDtNQU83RCx3QkFQNkQsRUFhOUQ7TUFMQztRQUVFLDhCUnFKeUI7UVFwSnpCLG1CUm9KeUIsRVFuSjFCO0lBeUVIO01BZ0VVLDBCQUF5QixFQUMxQjtJQWpFVDtNQW5GQSwwQlJoRmdCO01RaUZoQixlUmpGZ0IsRVFtUFA7TUFoS1Q7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCUnhGWTtVUXlGWixlUnpGWSxFUTBGYjtNQXlFSDtRQTZFYywwQkFBeUIsRUFDMUI7SUE5RWI7TUFuRkEsMEJSL0VrQjtNUWdGbEIsZVJoRmtCLEVRa1BUO01BaEtUO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1FBTEM7VUFFRSwwQlJ2RmM7VVF3RmQsZVJ4RmMsRVF5RmY7TUF5RUg7UUE2RWMsMEJBQXlCLEVBQzFCO0lBOUViO01BbkZBLDBCUjlFZ0I7TVErRWhCLGVSL0VnQixFUWlQUDtNQWhLVDtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRQUxDO1VBRUUsMEJSdEZZO1VRdUZaLGVSdkZZLEVRd0ZiO01BeUVIO1FBNkVjLDBCQUF5QixFQUMxQjtJQTlFYjtNQW5GQSwwQlI3RWdCO01ROEVoQixlUjlFZ0IsRVFnUFA7TUFoS1Q7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCUnJGWTtVUXNGWixlUnRGWSxFUXVGYjtNQXlFSDtRQTZFYywwQkFBeUIsRUFDMUI7SUE5RWI7TUFuRkEsMEJSNUVjO01RNkVkLGVSN0VjLEVRK09MO01BaEtUO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1FBTEM7VUFFRSwwQlJwRlU7VVFxRlYsZVJyRlUsRVFzRlg7TUF5RUg7UUE2RWMsMEJBQXlCLEVBQzFCO0VBdEhiO0lQbkxBLGVBQWM7SUFDZCxTQUFRO0lBQ1IsVUFBUztJQUVULG9CTzJLWTtJUHpLWixZQUFXO0lBR1QsdUJBQXNCO0lBQ3RCLHdCQUF1QjtJQUN2Qiw4Q0FBcUQ7SU8wS3JELG1CQUFrQjtJQUNsQixXQUFVO0lBRVYsc0JBQXFCO0lBQ3JCLGFBQU87SUFDUCxtQlJ3R3dCLEVRdkd6QjtFQWdDRDtJQWlHUSw4QlJ2QnFCLEVRd0J0QjtFQWxHUDtJQXVHWSwwQlIxUUksRVEyUUw7RUF4R1g7SUF1R1ksMEJSelFNLEVRMFFQO0VBeEdYO0lBdUdZLDBCUnhRSSxFUXlRTDtFQXhHWDtJQXVHWSwwQlJ2UUksRVF3UUw7RUF4R1g7SUF1R1ksMEJSdFFFLEVRdVFIO0VBeEdYO0lBZ0hJLFlBQVc7SUFDWCxZQUFXO0lBQ1gsZUFBZ0MsRUFDakM7O0FBRUg7RUFHSSxzQkFBcUIsRUFDdEI7O0FDL1VIOztFQW5CQSxtQkFBa0I7RUFDbEIsVUFBUztFQUNULGlCTitEVztFTTlEWCxvQkN1Q3NCO0VEdEN0QixpQkFBZ0IsRUEwQmY7RUF4QkQ7Ozs7Ozs7O0lBSUUsbUJBQWtCO0lBQ2xCLE9BQU07SUFDTixRQUFrQjtJQUNsQixZQUFXO0lBQ1gsYUFBWSxFQUNiO0VBSUQ7O0lBUU0sdUJDZWdCLEVEZGpCOztBRU5MO0VBWkEsc0JBQXFCO0VBQ3JCLDJCWHFkK0I7RVduZC9CLG1CWG9HaUI7RVdsR2pCLGtCWGdkc0I7RVcvY3RCLGVBQWM7RUFDZCxvQkFBbUI7RUFDbkIsZ0JBQWU7RUFPYixvQlg2Q2M7RVc1Q2QsZVh3RVcsRVdoRVo7RUFaRDtJQVFNLG9CWHdDVTtJV3ZDVixlWG1FTyxFV2xFUjtFQVZMO0lBUU0sb0JYeUNZO0lXeENaLGVYbUVPLEVXbEVSO0VBVkw7SUFRTSxvQlgwQ1U7SVd6Q1YsZVhrRU8sRVdqRVI7RUFWTDtJQVFNLG9CWDJDVTtJVzFDVixlWGtFTyxFV2pFUjtFQVZMO0lBUU0sb0JYNENRO0lXM0NSLGVYa0VPLEVXakVSOztBQytCTDtFQUNFLGlCQUFnQixFQUNqQjs7QUFHRDtFQUNFLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztFQUNQLGFad2MwQjtFWXRjMUIsWUFBVztFQUNYLGFBQVk7RUFFWixvRFp3YzhCO0VZdGM5QiwrQlprQlc7RVloQlgsV0FBVTtFQUNWLG1CQUFrQjtFQUVsQixpQkFBZ0IsRUFrQmpCO0VBbENEO0lBbUJJLFdBQVU7SUFDVixvQkFBbUIsRUFDcEI7RUFyQkg7SUF3QkksZ0JBQWUsRUFDaEI7RUF6Qkg7SUE0QkksbUJBQWtCLEVBQ25CO0VBN0JIO0lBZ0NJLGdCQUFlLEVBQ2hCOztBQXdUSDtFQWxUQSxtQkFBa0I7RUFDbEIsaUJBQWdCLEVBbVRmOztBQUdEO0VBMVNFLGdCQUFlO0VBT2pCLGFaa1p5QjtFWTNZekIsd0NaK1lnQztFWS9ZaEMsZ0NaK1lnQztFWS9ZaEMsNkRaK1lnQztFWTlZaEMsb0NBQTJCO1VBQTNCLDRCQUEyQjtFQUUzQixvQlp2Q2EsRVl3VVo7RW5Cd3ZCRDtJUXAvQkUsV0FBVSxFQUNYO0VXN0NEO0lBQ0UsYVo4WXVCLEVZN1l4QjtFQVFEO0lBQ0UsbUJBQWtCLEVBQ25CO0VBR0Q7SUFDRSxhWmdZMEIsRVkzWDNCO0lBSEM7TUFDRSxjWndYYyxFWXZYZjtFQUlIO0lBQ0UsbUNBQTBCO1FBQTFCLCtCQUEwQjtZQUExQiwyQkFBMEIsRUFDM0I7O0FBaVJEO0VBbFRFLG1CQUFrQjtFQUlwQixhWmtaeUI7RVkzWXpCLHdDWitZZ0M7RVkvWWhDLGdDWitZZ0M7RVkvWWhDLDZEWitZZ0M7RVk5WWhDLG9DQUEyQjtVQUEzQiw0QkFBMkI7RUFFM0Isb0JadkNhLEVZNlVaO0VuQnN3QkQ7SVF2Z0NFLFdBQVUsRUFDWDtFVzdDRDtJQUNFLGFaOFl1QixFWTdZeEI7RUFRRDtJQUNFLG1CQUFrQixFQUNuQjtFQUdEO0lBQ0UsYVpnWTBCLEVZM1gzQjtJQUhDO01BQ0UsY1p3WGMsRVl2WGY7RUFJSDtJQUNFLG1DQUEwQjtRQUExQiwrQkFBMEI7WUFBMUIsMkJBQTBCLEVBQzNCOztBQXNSRDtFQTVRRSxPQUFNO0VBQ04sUUFBTztFQUNQLGFBQVk7RUFDWixpQkFBZ0I7RUFJWixhVGpIaUQ7RVNrSGpELHNDQUE2QjtNQUE3QixrQ0FBNkI7VUFBN0IsOEJBQTZCLEVBb1FxQztFQS9QOUQ7SUFJRixzQ0FBNkI7UUFBN0Isa0NBQTZCO1lBQTdCLDhCQUE2QixFQU1sQztJQVZPO01BUUosbUNBQTBCO1VBQTFCLCtCQUEwQjtjQUExQiwyQkFBMEIsRUFDM0I7RUFJSztJQUlBLHFDQUE0QjtRQUE1QixpQ0FBNEI7WUFBNUIsNkJBQTRCLEVBR2pDO0VBb0hIO0lYN1RBLHdERG1HVyxFWXVPVjs7QUEyR0g7RUF4T0UsT0FBTTtFQUNOLFNBQVE7RUFDUixhQUFZO0VBQ1osaUJBQWdCO0VBSVosYVR0SmlEO0VTdUpqRCxxQ0FBNEI7TUFBNUIsaUNBQTRCO1VBQTVCLDZCQUE0QixFQWdPc0M7RUEzTjlEO0lBSUYscUNBQTRCO1FBQTVCLGlDQUE0QjtZQUE1Qiw2QkFBNEIsRUFNakM7SUFWTztNQVFKLG1DQUEwQjtVQUExQiwrQkFBMEI7Y0FBMUIsMkJBQTBCLEVBQzNCO0VBSUs7SUFJQSxzQ0FBNkI7UUFBN0Isa0NBQTZCO1lBQTdCLDhCQUE2QixFQUdsQztFQStFSDtJWC9UQSx1RERxR1csRVl1T1Y7O0FBNEdIO0VBcE1FLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGlCQUFnQjtFQUlaLGNabVJNO0VZbFJOLHNDQUE2QjtNQUE3QixrQ0FBNkI7VUFBN0IsOEJBQTZCLEVBNExtQztFQXZMNUQ7SUFHRixzQ0FBNkI7UUFBN0Isa0NBQTZCO1lBQTdCLDhCQUE2QixFQU1sQztJQVRPO01BT0osbUNBQTBCO1VBQTFCLCtCQUEwQjtjQUExQiwyQkFBMEIsRUFDM0I7RUFJSztJQUlBLHFDQUE0QjtRQUE1QixpQ0FBNEI7WUFBNUIsNkJBQTRCLEVBR2pDO0VBMkNIO0lYM1RBLHdERGlHVyxFWXVPVjs7QUE2R0g7RUFqS0UsVUFBUztFQUNULFFBQU87RUFDUCxZQUFXO0VBQ1gsaUJBQWdCO0VBSVosY1orT007RVk5T04scUNBQTRCO01BQTVCLGlDQUE0QjtVQUE1Qiw2QkFBNEIsRUF5Sm9DO0VBcEo1RDtJQUdGLHFDQUE0QjtRQUE1QixpQ0FBNEI7WUFBNUIsNkJBQTRCLEVBTWpDO0lBVE87TUFPSixtQ0FBMEI7VUFBMUIsK0JBQTBCO2NBQTFCLDJCQUEwQixFQUMzQjtFQUlLO0lBSUEsc0NBQTZCO1FBQTdCLGtDQUE2QjtZQUE3Qiw4QkFBNkIsRUFHbEM7RUFPSDtJWGpVQSx1RER1R1csRVl1T1Y7O0FBK0dIO0VBeEdBLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZTtFQUNmLHdDWnFNZ0M7RVlyTWhDLGdDWnFNZ0M7RVlyTWhDLDZEWnFNZ0M7RVlwTWhDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUF3RzFCO0VBckdEO0lBQ0UsbUNBQTBCO1FBQTFCLCtCQUEwQjtZQUExQiwyQkFBMEIsRUFDM0I7RUFHRDtJQUNFLG1DQUEwQjtRQUExQiwrQkFBMEI7WUFBMUIsMkJBQTBCLEVBQzNCOztBUnBORztFUXdURTtJQTFGTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBc0ZiO0lBbkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG1CVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxtQlRqVXFELEVTa1V0RDtFQXFFSztJQTlGTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBMEZiO0lBdkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG9CVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxvQlRqVXFELEVTa1V0RDtFQXlFSztJQWxHTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBOEZiO0lBM0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLGtCVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxrQlRqVXFELEVTa1V0RDtFQTZFSztJQXRHTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBa0diO0lBL0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLHFCVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxxQlRqVXFELEVTa1V0RCxFQUFBOztBUmxQRztFUW1URTtJQTFGTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBc0ZiO0lBbkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG1CVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxtQlRqVXFELEVTa1V0RDtFQXFFSztJQTlGTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBMEZiO0lBdkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG9CVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxvQlRqVXFELEVTa1V0RDtFQXlFSztJQWxHTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBOEZiO0lBM0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLGtCVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxrQlRqVXFELEVTa1V0RDtFQTZFSztJQXRHTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBa0diO0lBL0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLHFCVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxxQlRqVXFELEVTa1V0RCxFQUFBOztBUmxQRztFUW1URTtJQTFGTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBc0ZiO0lBbkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG1CVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxtQlRqVXFELEVTa1V0RDtFQXFFSztJQTlGTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBMEZiO0lBdkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG9CVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxvQlRqVXFELEVTa1V0RDtFQXlFSztJQWxHTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBOEZiO0lBM0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLGtCVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxrQlRqVXFELEVTa1V0RDtFQTZFSztJQXRHTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBa0diO0lBL0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLHFCVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxxQlRqVXFELEVTa1V0RCxFQUFBOztBUmxQRztFUW1URTtJQTFGTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBc0ZiO0lBbkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG1CVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxtQlRqVXFELEVTa1V0RDtFQXFFSztJQTlGTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBMEZiO0lBdkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG9CVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxvQlRqVXFELEVTa1V0RDtFQXlFSztJQWxHTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBOEZiO0lBM0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLGtCVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxrQlRqVXFELEVTa1V0RDtFQTZFSztJQXRHTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBa0diO0lBL0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLHFCVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxxQlRqVXFELEVTa1V0RCxFQUFBOztBUmxQRztFUW1URTtJQTFGTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBc0ZiO0lBbkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG1CVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxtQlRqVXFELEVTa1V0RDtFQXFFSztJQTlGTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBMEZiO0lBdkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG9CVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxvQlRqVXFELEVTa1V0RDtFQXlFSztJQWxHTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBOEZiO0lBM0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLGtCVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxrQlRqVXFELEVTa1V0RDtFQTZFSztJQXRHTix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixhWjBLNEI7SVl6SzVCLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFHakIsbUJBQWtCLEVBa0diO0lBL0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLHFCVDVUcUQsRVM2VHREO0lBR0Q7TUFDRSxxQlRqVXFELEVTa1V0RCxFQUFBOztBUnZQRztFUStVRTtJQW5GTixvQkFBbUI7SUFDbkIsYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFDbkIsZUFBYztJQUNkLGtCQUFpQjtJQUNqQixvQkFBbUIsRUErRVo7SUE1RVA7TUFJRSxpQkFBZ0I7TUFDaEIsd0JBQWU7VUFBZixvQkFBZTtjQUFmLGdCQUFlLEVBQ2hCO0lBRUQ7TUFDRSxjQUFhLEVBQ2QsRUFBQTs7QVIxUUc7RVEwVUU7SUFuRk4sb0JBQW1CO0lBQ25CLGFBQVk7SUFDWixpQkFBZ0I7SUFDaEIsb0JBQW1CO0lBQ25CLGVBQWM7SUFDZCxrQkFBaUI7SUFDakIsb0JBQW1CLEVBK0VaO0lBNUVQO01BSUUsaUJBQWdCO01BQ2hCLHdCQUFlO1VBQWYsb0JBQWU7Y0FBZixnQkFBZSxFQUNoQjtJQUVEO01BQ0UsY0FBYSxFQUNkLEVBQUE7O0FSMVFHO0VRMFVFO0lBbkZOLG9CQUFtQjtJQUNuQixhQUFZO0lBQ1osaUJBQWdCO0lBQ2hCLG9CQUFtQjtJQUNuQixlQUFjO0lBQ2Qsa0JBQWlCO0lBQ2pCLG9CQUFtQixFQStFWjtJQTVFUDtNQUlFLGlCQUFnQjtNQUNoQix3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFDaEI7SUFFRDtNQUNFLGNBQWEsRUFDZCxFQUFBOztBUjFRRztFUTBVRTtJQW5GTixvQkFBbUI7SUFDbkIsYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFDbkIsZUFBYztJQUNkLGtCQUFpQjtJQUNqQixvQkFBbUIsRUErRVo7SUE1RVA7TUFJRSxpQkFBZ0I7TUFDaEIsd0JBQWU7VUFBZixvQkFBZTtjQUFmLGdCQUFlLEVBQ2hCO0lBRUQ7TUFDRSxjQUFhLEVBQ2QsRUFBQTs7QVIxUUc7RVEwVUU7SUFuRk4sb0JBQW1CO0lBQ25CLGFBQVk7SUFDWixpQkFBZ0I7SUFDaEIsb0JBQW1CO0lBQ25CLGVBQWM7SUFDZCxrQkFBaUI7SUFDakIsb0JBQW1CLEVBK0VaO0lBNUVQO01BSUUsaUJBQWdCO01BQ2hCLHdCQUFlO1VBQWYsb0JBQWU7Y0FBZixnQkFBZSxFQUNoQjtJQUVEO01BQ0UsY0FBYSxFQUNkLEVBQUE7O0FDN2FEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVix3Q0FBK0I7VUFBL0IsZ0NBQStCLEVBQ2hDOztBQUVEO0VBQ0UsZ0JBQWU7RUFDZixXQUFVO0VBQ1YsWUFBVyxFQVNaO0VBWkQ7SUFNSSxPQUFNLEVBQ1A7RUFQSDtJQVVJLFVBQVMsRUFDVjs7QUFHSDtFQUNFLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsV0FBVSxFQUtYO0VBUkQ7SUFNSSxVQUFTLEVBQ1Y7O0FDQ0g7RUFDRSxjZG8wQm1CO0VjbjBCbkIsb0JkMkRjO0VjMURkLGVkc0ZXO0VjbkZULHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0NBQTJCO01BQTNCLHFCQUEyQjtVQUEzQiw0QkFBMkI7RUFDM0IsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUIsRUFVdEI7RUFsQkQ7SUFlSSxxQmQwekJ5QjtJY3p6QnpCLHNCZHl6QnlCLEVjeHpCMUI7O0FBSUQ7O0VBRUUsc0JBQWE7TUFBYixrQkFBYTtVQUFiLGNBQWEsRUFDZDs7QUFFRDtFQUNFLGtCQUFpQixFQUNsQjs7QUFhSDtFQUNFLHNCQUFxQjtFQUNyQix1QkFBc0I7RUFDdEIsa0JkMHhCNEIsRWN6eEI3Qjs7QUNzRUQ7RUFuR0EsbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUVyQixvQmY4MUIwQjtFZTcxQjFCLGlCZm1Gc0I7RWVsRnRCLGFmMDFCbUIsRWUxdkJsQjs7QUFFRDtFQTlGQSxtQkFBa0I7RUFDbEIsNkJBQXdDO0VBQ3hDLGNBQWE7RUFFYixpQlpzQnVEO0VZckJ2RCxnQmZzMUI4QjtFZXAxQjlCLHFCZnkxQitCO0VleDFCL0IsMEJmNEJnQjtFZTNCaEIsbUJaaUJ1RDtFWWhCdkQsZWZzRGEsRWVnQ1o7RUFwRkQ7SUFDRSxtQkFBa0IsRUFDbkI7RUFHQztJZHJDRixlQUFjO0lBQ2QsU0FBUTtJQUNSLFVBQVM7SUFFVCx5QkQ4MkJnQztJQzUyQmhDLFlBQVc7SUFRVCxvQkFBbUI7SUFDbkIsMkJBQTBCO0lBQzFCLDhDRHdDYztJZWpCWixhQUFZLEVBQ2I7RUFFRDtJQUNFLFVBQVM7SUFDVCxvQ0FBMkI7UUFBM0IsZ0NBQTJCO1lBQTNCLDRCQUEyQixFQUM1QjtFQUlEO0lkakRGLGVBQWM7SUFDZCxTQUFRO0lBQ1IsVUFBUztJQUVULHlCRDgyQmdDO0lDNTJCaEMsWUFBVztJQUdULHVCQUFzQjtJQUN0Qix3QkFBdUI7SUFDdkIsOENBQXFEO0ljd0NuRCxVQUFTO0lBQ1QsYUFBWSxFQUNiO0VBRUQ7SUFDRSxVQUFTO0lBQ1Qsb0NBQTJCO1FBQTNCLGdDQUEyQjtZQUEzQiw0QkFBMkIsRUFDNUI7RUFJRDtJZDlERixlQUFjO0lBQ2QsU0FBUTtJQUNSLFVBQVM7SUFFVCx5QkQ4MkJnQztJQzUyQmhDLFlBQVc7SUFhVCxzQkFBcUI7SUFDckIseUJBQXdCO0lBQ3hCLDBERG1DYztJZVFaLFdBQVUsRUFDWDtFQUVEO0lBQ0UsYUFBWTtJQUNaLFNBQVE7SUFDUixvQ0FBMkI7UUFBM0IsZ0NBQTJCO1lBQTNCLDRCQUEyQixFQUM1QjtFQUlEO0lkM0VGLGVBQWM7SUFDZCxTQUFRO0lBQ1IsVUFBUztJQUVULHlCRDgyQmdDO0lDNTJCaEMsWUFBVztJQWtCVCxxQkFBb0I7SUFDcEIsMEJBQXlCO0lBQ3pCLDBEQUFpRTtJY21EL0QsWUFBVztJQUNYLFdBQVUsRUFDWDtFQUVEO0lBQ0UsYUFBWTtJQUNaLFNBQVE7SUFDUixvQ0FBMkI7UUFBM0IsZ0NBQTJCO1lBQTNCLDRCQUEyQixFQUM1QjtFQUdIO0lBQ0UsYUFBWTtJQUNaLFNBQVEsRUFDVDtFQUVEO0lBQ0UsWUFBVztJQUNYLFVBQVMsRUFDVjtFQUVEO0lBQ0UsVUFBUztJQUNULFlBQVcsRUFDWjtFQUVEO0lBQ0UsV0FBVTtJQUNWLFdBQVUsRUFDWDs7QUN2RkQ7RUFDRSx5QkFBd0IsRUFDekI7O0FBRUQ7RUFDRSxtQkFBa0IsRUFDbkI7O0FacUdHO0VZdkZGO0lBMUJBLHlCQUF3QixFQTRCdkIsRUFBQTs7QUEvQ0Q7RUFpREE7SUFoREUseUJBQXdCLEVBa0R6QixFQUFBOztBWjRFQztFWTNGQTtJQXpCRix5QkFBd0IsRUEyQnJCLEVBQUE7O0FaOEZEO0VZNUZBO0lBakVGLHlCQUF3QixFQW1FckIsRUFBQTs7QVowRkQ7RVl2RkY7SUExQkEseUJBQXdCLEVBNEJ2QixFQUFBOztBQS9DRDtFQWlEQTtJQWhERSx5QkFBd0IsRUFrRHpCLEVBQUE7O0FaaUZDO0VZaEdBO0lBekJGLHlCQUF3QixFQTJCckIsRUFBQTs7QVo4RkQ7RVk1RkE7SUFqRUYseUJBQXdCLEVBbUVyQixFQUFBOztBWjBGRDtFWXZGRjtJQTFCQSx5QkFBd0IsRUE0QnZCLEVBQUE7O0FBL0NEO0VBaURBO0lBaERFLHlCQUF3QixFQWtEekIsRUFBQTs7QVppRkM7RVloR0E7SUF6QkYseUJBQXdCLEVBMkJyQixFQUFBOztBWjhGRDtFWTVGQTtJQWpFRix5QkFBd0IsRUFtRXJCLEVBQUE7O0FaMEZEO0VZdkZGO0lBMUJBLHlCQUF3QixFQTRCdkIsRUFBQTs7QUEvQ0Q7RUFpREE7SUFoREUseUJBQXdCLEVBa0R6QixFQUFBOztBWmlGQztFWWhHQTtJQXpCRix5QkFBd0IsRUEyQnJCLEVBQUE7O0FaOEZEO0VZNUZBO0lBakVGLHlCQUF3QixFQW1FckIsRUFBQTs7QVowRkQ7RVl2RkY7SUExQkEseUJBQXdCLEVBNEJ2QixFQUFBOztBQS9DRDtFQWlEQTtJQWhERSx5QkFBd0IsRUFrRHpCLEVBQUE7O0FaaUZDO0VZaEdBO0lBekJGLHlCQUF3QixFQTJCckIsRUFBQTs7QVo4RkQ7RVk1RkE7SUFqRUYseUJBQXdCLEVBbUVyQixFQUFBOztBWjBGRDtFWXZGRjtJQTFCQSx5QkFBd0IsRUE0QnZCLEVBQUE7O0FBdEREO0VBd0RBO0lBdkRFLHlCQUF3QixFQXlEekIsRUFBQTs7QUFLSDs7RWZzSEEsOEJBQTZCO0VBQzdCLFdBQVU7RUFDVixZQUFXO0VBQ1gsV0FBVTtFQUNWLGlCQUFnQjtFQUNoQix1QkFBbUI7RUFDbkIsb0JBQW1CO0VBQ25CLDhCQUFxQjtVQUFyQixzQkFBcUI7RUFDckIsVUFBUyxFZTNIUjs7QUFHRDtFZjZIQSw0QkFBMkI7RUFDM0IsWUFBVztFQUNYLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsV0FBVTtFQUNWLG9CQUFtQjtFQUNuQix3QkFBZTtVQUFmLGdCQUFlLEVlL0haOztBQUlIOztFQUVFLDBCQUF5QixFQVMxQjtFWm1ERztJWTlESjs7TUFLSSwwQkFBeUIsRUFNNUIsRUFBQTtFWm1ERztJWTlESjs7TUFTSSx5QkFBd0IsRUFFM0IsRUFBQTs7QUFFRDs7RUFFRSx5QkFBd0IsRUFTekI7RVpzQ0c7SVlqREo7O01BS0kseUJBQXdCLEVBTTNCLEVBQUE7RVpzQ0c7SVlqREo7O01BU0ksMEJBQXlCLEVBRTVCLEVBQUE7O0Fac0NHO0VhdktOOztJRDhDSSx5QkFBd0IsRUMzQzNCLEVBQUE7O0Fib0tLO0VhbEtOOztJREtJLHlCQUF3QixFQ0YzQixFQUFBOztBSDRCQztFR3hCQSxvQmpCaUhhO0VpQmhIYixrQ0FBeUI7TUFBekIsbUJBQXlCO1VBQXpCLDBCQUF5QjtFQUV6QixhakIrMUJvQixFaUI1MEJyQjtFQXZCRDtJQUtTLGFBQVksRUFBRztFQUx4QjtJQVVJLHlCQUFnQjtZQUFoQixpQkFBZ0I7SUFDaEIsdUNBQXNDO0lBQ3RDLDBCakIwRWM7SWlCekVkLGFqQnMxQmtCO0lpQnIxQmxCLFlqQnExQmtCO0lpQnAxQmxCLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsZ0NBQXVCO1FBQXZCLHNCQUF1QjtZQUF2Qix3QkFBdUIsRUFLeEI7SUF0Qkg7TUFtQk0sZ0JBQWU7TUFDZixvQmpCbUVjLEVpQmxFZjs7QUFNTDtFQUNFLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxtQkFBa0IsRUEyRW5CO0VibURLO0lhaklOO01ENUJJLHlCQUF3QixFQzBHM0IsRUFBQTtFQTlFRDtJQVFJLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isc0JBQXFCO0lBQ3JCLGlCZHVDcUQ7SWN0Q3JELDRCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLFVBQVM7SUFDVCxtQkFBa0I7SUFDbEIsa0NBQXlCO1FBQXpCLG1CQUF5QjtZQUF6QiwwQkFBeUIsRUE4RDFCO0lBNUVIO01BZ0JNLGFBQVk7TUFDWixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDRCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsb0JBQW1CLEVBQ3BCO0lBbkJMO01BcUJNLFdBQVUsRUFzRFg7TUEzRUw7UUF1QlEsbUJBQWtCO1FBQ2xCLGVqQm1DVTtRaUJsQ1YscUJkd0JpRDtRSFh2RCw0QkFBMkI7UUFDM0Isb0JBQW1CO1FpQlpiLGlCQUEwQjtRQUMxQiwwQmRxQmlELEVjTGxEO1FicUZEO1VhaklOO1lBOEJVLHFCZG1CK0M7WWNsQi9DLGVka0IrQyxFY0xsRCxFQUFBO1FBNUNQO1VBbUNVLFlBQVc7VUFDWCxrQmRhK0M7VWNaL0MsU0FBUTtVQUNSLG1CQUFrQjtVQUNsQixVQUFTO1VBQ1QsUUFBTztVQUNQLG9CakJtQlU7VWlCbEJWLDRCQUEyQixFQUM1QjtNQTNDVDs7UUErQ1EsZWpCYVksRWlCVGI7UUFuRFA7O1VBaURVLFlBQVcsRUFDWjtNQWxEVDtRQXNEUSxtQkFBa0IsRUFNbkI7UUE1RFA7VUF5RFksZUFBYyxFQUNmO01BMURYO1FBOERRLGNBQWE7UUFDYixtQkFBa0I7UUFDbEIsVUFBUztRQUNULFVBQVM7UUFDVCxvQ0FBMkI7WUFBM0IsZ0NBQTJCO2dCQUEzQiw0QkFBMkI7UUFDM0IsMEJqQm9CTztRaUJuQlAsYUFBWSxFQUtiO1FBekVQO1VBc0VVLGNkckIrQztVY3NCL0MsVUFBUyxFQUNWOztBQVNUO0VBQ0UsWUFBVztFQUNYLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isa0NBQXlCO01BQXpCLG1CQUF5QjtVQUF6QiwwQkFBeUIsRUErQjFCO0VBbENEO0lBS0ksbUJBQTRCO0lBQzVCLG9CQUE2QjtJQUM3QixxQkFBb0I7SUFDcEIsa0JBQWlCO0lqQi9DbkIsMEJBQXlCO0lBQ3pCLG9CQUFtQjtJaUJnRGpCLGlCQUFnQjtJQUNoQixvQmQzQ3FELEVjNEN0RDtFQVpIO0lBY0ksc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw0QkFBa0I7UUFBbEIsdUJBQWtCO1lBQWxCLG9CQUFrQjtJQUNsQix1QmRoRHFELEVjaUV0RDtJQWpDSDtNQW1CTSxvQmRuRG1EO01jb0RuRCxlakIxQ1k7TUFqQmhCLDBCQUF5QjtNQUN6QixvQkFBbUI7TWlCNERmLG9CQUE2QixFQUM5QjtJQXZCTDtNQXlCTSxzQkFBcUI7TUFDckIsVUFBUztNQUNULHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhLEVBQ2Q7SUE1Qkw7O01BK0JNLGVqQnBEYyxFaUJxRGY7O0FBTUw7RUFDRSxjQUFhLEVBQ2Q7O0FMOFJDO0VLM1JBLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsYUFBWSxFQTZEYjtFQWhFRDtJQUtLLGNkL0VvRDtJY2dGcEQsa0JBQWlCLEVBU25CO0lBZkg7TUFRTSxlakJ2RWM7TWlCd0VkLDRCQUEyQixFQUs1QjtNQWRMO1FBV1EsZ0JBQWU7UUFDZixlakI1RVUsRWlCNkVYO0VMUEw7SUtXRSxvQkFBbUIsRUFDcEI7RUFsQkg7SUFvQkksdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFDZjtFQXJCSDtJQXVCSSxnQ0FBdUI7UUFBdkIsc0JBQXVCO1lBQXZCLHdCQUF1QixFQUV4QjtJQXpCSDtNQXdCUSx1QkFBc0IsRUFBRztFQXhCakM7SUEyQkksa0RqQmhFVyxFaUJpRVo7RUE1Qkg7SUE4QkksK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0IsRUFTdkI7SUF2Q0g7TUFnQ00sK0JBQXNCO1VBQXRCLDJCQUFzQjtjQUF0Qix1QkFBc0I7TUFDdEIsbUJBQWtCO01BQ2xCLFlBQVc7TUFDWCxvQkFBNkIsRUFDOUI7SUFwQ0w7TUFxQ2Msc0JBQXFCLEVBQUc7RUFyQ3RDO0lBeUNJLG1CQUE0QjtJQUM1QixzQkFBcUIsRUFxQnRCO0lBL0RIO01BNENNLDJDakI1R1ksRWlCeUhiO01BekRMO1FBNkNxQiw4Q2pCN0dILEVpQjZHd0Q7TUE3QzFFO1FBK0NRLG9CZHpIaUQ7UUhYdkQsNEJBQTJCO1FBQzNCLG9CQUFtQjtRaUJxSWIsaUJBQWdCO1FBQ2hCLDZCQUE4RDtRQUM5RCxlQUFjO1FBQ2QsbUJBQWtCO1FBQ2xCLGVqQnJIVTtRaUJzSFYsMEJBQXlCO1FBQ3pCLCtCakIzRk8sRWlCNEZSO0lBeERQOztNQTREUSxlakIzSFk7TWlCNEhaLCtCakI1SFksRWlCNkhmOztBQ2hPTDtFQUNFLGFBQVk7RUFDWixpQmZzRnVEO0VlckZ2RCw0QkFBZ0MsRUFDakM7O0FDSkQ7RUFDSSxZQUFXO0VBQ1gscUJBQW9CO0VBQ3BCLGNBQWE7RUFDYixtQm5CeUllO0VtQnhJZixvQm5CeUhXO0VtQnhIWCxnRG5CdUhXLEVtQmZaO0VBOUdIO0lBUU0sbUJBQWtCO0lBQ2xCLGdCQUFlLEVBQ2hCO0VBVkw7SUFZTSxtQkFBa0I7SUFDbEIsU0FBUTtJQUNSLG9DQUEyQjtRQUEzQixnQ0FBMkI7WUFBM0IsNEJBQTJCO0lBQzNCLGFBQVk7SUFDWixjQUFhLEVBQ2Q7RUFqQkw7SUFtQk0sVUFBUyxFQUNWO0VBcEJMO0lBc0JNLFdBQVUsRUFDWDtFQXZCTDs7SUEwQk0sb0JuQnlFYyxFbUJ4RWY7RUEzQkw7SUE2QlEsYUFBWTtJQUVaLG9CbkJrRmlCO0ltQmpGakIsZ0JoQndEaUQ7SWdCdkRqRCxpQmhCdURpRDtJZ0J0RGpELHNCaEJzRGlEO0lnQnJEakQsbUJBQWtCO0lBQ2xCLGVBQWM7SUFDZCxlbkJ5Rk87SW1CeEZQLG1CQUFrQjtJbkIrQ3hCLDJCQUEwQjtJQUMxQixvQkFBbUI7SW1COUNiLHVDQUFzQztJQUN0QyxxQkFBb0IsRUFDdkI7RUExQ0w7SUE0Q00sYUFBWSxFQUNiO0VBN0NMO0lBK0NNLGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsVUFBUztJQUNULGtCQUFpQjtJQUNqQixTQUFRO0lBQ1IsaUJBQWdCO0lBQ2hCLFdBQVUsRUFDWDtFQXRETDtJQXdETSxnQkFBZTtJQUNmLG1CQUFrQjtJQUNsQixtQkFBa0IsRUFLbkI7SUEvREw7TUE0RFEsZUFBYztNQUNkLGNBQWEsRUFDZDtFQTlEUDtJQWtFUSxXQUFVLEVBQ1g7RUFuRVA7SUFzRU0sWUFBVztJQUNYLGdCQUFlO0lBQ2YsMEJBQXlCO0lBQ3pCLGlCQUFnQixFQUNqQjtFQTFFTDtJQTRFTSxtQkFBa0I7SUFDbEIsbUJBQWtCO0lBQ2xCLGtCQUFpQjtJQUNqQixVQUFTLEVBQ1Y7RUFoRkw7SUFrRk0sVUFBUztJQUNULGFBQVksRUFPYjtJQTFGTDtNQXFGUSxlQUFjO01BQ2QsY0FBYTtNQUNiLGtCQUFpQjtNQUNqQixzQkFBcUIsRUFDdEI7RUF6RlA7SUE0Rk0sdUJBQXNCO0lBQ3RCLG1CQUFrQjtJQUNsQixnQkFBZTtJQUNmLGVBQWM7SUFDZCxnQkFBZTtJQUNmLGlCQUFnQixFQVlqQjtJQTdHTDtNQW1HUSxhQUFZO01BQ1osdUJBQXNCO01BQ3RCLGdCQUFlO01BQ2YsNkJBQTRCO01BQzVCLFlBQVc7TUFDWCxrQkFBaUIsRUFJbEI7TUE1R1A7UUEwR1UsWUFBVyxFQUNaOztBQVlUO0VBQ0UsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCx1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLHVCQUFzQjtFQUN0QixhQUFZO0VBQ1osZ0JBQWU7RUFDZixXQUFVO0VBQ1YsZ0JBQWU7RUFDZixXQUFVO0VBQ1YsV0FBVTtFQUNWLGNBQWE7RUFDYixjQUFhO0VuQjNEYiw2QkFBNEI7RUFDNUIsb0JBQW1CO0VtQjREbkIsZ0JBQWU7RUFDZixpQkFBZ0IsRUF1UmpCO0VBdlNEO0lBa0JJLG1CQUFrQjtJQUNsQixzQkFBcUI7SUFDckIsd0NBQXVDO0lBQ3ZDLFlBQVcsRUFDWjtFQXRCSDtJQXdCSSxVQUFTO0lBQ1Qsb0NBQW1DO0lBQ25DLG1DQUFrQztJQUNsQyw4QkFBNkIsRUFDOUI7RUE1Qkg7SUE4QkksVUFBUztJQUNULG9DQUFtQztJQUNuQyw4QkFBNkI7SUFDN0IsbUNBQWtDLEVBQ25DO0VBbENIO0lBcUNNLFdBQVUsRUFDWDtFQXRDTDtJQXdDTSxZQUFXLEVBQ1o7RUF6Q0w7SUE2Q00sUUFBTztJQUNQLFNBQVE7SUFDUixTQUFRO0lBQ1Isa0JBQWlCO0lBQ2pCLG1CQUFrQixFQUNuQjtFQWxETDtJQXNETSxVQUFTLEVBQ1Y7RUF2REw7SUF5RE0sV0FBVSxFQUNYO0VBMURMO0lBNkRJLGlCQUFnQixFQWFqQjtJQTFFSDtNQStETSxhQUFZO01BQ1osYUFBWTtNQUNaLHVCQUFzQjtNQUN0QiwyQkFBMEIsRUFDM0I7SUFuRUw7TUFxRU0sYUFBWTtNQUNaLGFBQVk7TUFDWix1QkFBc0I7TUFDdEIsMkJBQTBCLEVBQzNCO0VBekVMO0lBNkVNLFlBQVcsRUFDWjtFQTlFTDtJQWdGTSxjQUFhLEVBQ2Q7RUFqRkw7SUFxRk0sZUFBYyxFQUNmO0VBdEZMO0lBeUZJLGNBQWEsRUFDZDtFQTFGSDtJQTRGSSxjQUFhO0lBQ2IsaUJBQWdCLEVBVWpCO0lBdkdIO01BK0ZNLHVCQUFzQixFQUN2QjtJQWhHTDtNQWtHTSxhQUFZLEVBQ2I7SUFuR0w7TUFxR00sYUFBWSxFQUNiO0VBdEdMO0lBK0lJLHVCQUFzQjtJQUN0QixtQkFBa0I7SUFDbEIsdUJBQXNCLEVBT3ZCO0lBeEpIO01BMEdNLFlBQVc7TUFDWCxvQkFBbUI7TUFDbkIsMEJBQXlCO01BQ3pCLGlCQUFnQjtNQUNoQixzQkFBcUI7TUFDckIsYUFBWSxFQUNiO0lBaEhMO01Ba0hNLDhCQUF5QjtVQUF6QiwwQkFBeUI7TUFDekIsa0NBQWlDLEVBQ2xDO0lBcEhMO01Bc0hNLDhCQUF5QjtVQUF6QiwwQkFBeUI7TUFDekIsa0NBQWlDLEVBQ2xDO0lBeEhMO01BMEhNLG9CaEJwSk87TWdCcUpQLG9CbkJ4SGM7TW1CeUhkLG1CQUFrQjtNQUNsQixlbkJsSlksRW1CbUpiO0lBOUhMO01BZ0lNLG9CQUFtQjtNQUNuQixtQkFBa0I7TUFDbEIsdUJBQXNCO01BQ3RCLGdCQUFlO01BQ2YsWUFBVztNQUNYLGFBQVk7TUFDWixrQkFBaUI7TUFDakIsZ0JBQWU7TUFDZixtQkFBa0I7TUFDbEIsOEJBQTZCO01BQzdCLG9CQUFtQjtNQUNuQixnQkFBZTtNQUNmLDRCaEIzS21ELEVnQjRLcEQ7SUE3SUw7TUE4SVEsb0JuQnZJTyxFbUJ1SWM7SUE5STdCO01BbUpNLFlBQVc7TUFDWCxVQUFTO01BQ1Qsa0JBQWlCO01BQ2pCLDBCQUF5QixFQUMxQjtFQXZKTDtJQTBKSSx1QkFBc0I7SUFDdEIsMEJBQXlCO0lBQ3pCLGVBQWMsRUFDZjtFQTdKSDtJQStKSSxlQUFjO0lBQ2QsWUFBVyxFQUNaO0VBaktIO0lBb0tNLHVCQUFzQjtJQUN0QiwwQkFBeUI7SUFDekIsWUFBVyxFQU1aO0lBNUtMO01Bd0tRLHVCQUFzQjtNQUN0QiwwQkFBeUI7TUFDekIsWUFBVyxFQUNaO0VBM0tQO0lBOEtNLDBCQUF5QjtJQUN6QiwwQkFBeUI7SUFDekIsWUFBVztJQUNYLGlCQUFnQixFQUNqQjtFQWxMTDtJQW9MTSwyQkFBMEIsRUFDM0I7RUFyTEw7SUF1TE0sMkJBQTBCLEVBQzNCO0VBeExMO0lBMExNLG1CQUFrQixFQUNuQjtFQTNMTDtJQTZMTSwwQkFBeUI7SUFDekIsMEJBQXlCO0lBQ3pCLFlBQVcsRUFNWjtJQXJNTDtNQWlNUSwwQkFBeUI7TUFDekIsMEJBQXlCO01BQ3pCLFlBQVcsRUFDWjtFQXBNUDtJQXdNSSxZQUFXLEVBQ1o7RUF6TUg7SUEyTUksWUFBVztJQUNYLG9CQUFtQjtJQUNuQiw4QkFBNkIsRUFDOUI7RUE5TUg7SUFpTk0sZ0JBQWU7SUFDZixhQUFZO0lBQ1osYUFBWTtJQUNaLFVBQVM7SUFDVCxnQkFBZSxFQUNoQjtFQXROTDtJQXdOTSxpQkFBZ0I7SUFDaEIsV0FBVSxFQUNYO0VBMU5MO0lBNE5NLFdBQVUsRUFDWDtFQTdOTDtJQStOTSxZQUFXO0lBQ1gsZUFBYztJQUNkLGlCQUFnQjtJQUNoQix1QkFBc0I7SUFDdEIsYUFBWTtJQUNaLFdBQVU7SUFDVixnQkFBZSxFQUNoQjtFQXRPTDtJQXlPSSxtQkFBa0I7SUFDbEIsd0JBQXVCO0lBQ3ZCLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFLbkI7SUFqUEg7TUE4T00sWUFBVztNQUNYLG9CQUFtQixFQUNwQjtFQWhQTDtJQW1QSSxZQUFXO0lBQ1gsa0JBQWlCO0lBQ2pCLGFBQVk7SUFDWiwyQkFBMEI7SUFDMUIsY0FBYTtJQUNiLGtCQUFpQjtJQUNqQix1QkFBc0IsRUFDdkI7RUExUEg7SUE0UEksc0JBQXFCO0lBQ3JCLGdCQUFlO0lBQ2YsbUJBQWtCLEVBQ25CO0VBL1BIO0lBaVFJLGlCQUFnQjtJQUNoQixnQkFBZTtJQUNmLGtCQUFpQjtJQUNqQixpQkFBZ0I7SUFDaEIsZ0JBQWUsRUFFaEI7RUF2UUg7SUF5UUksNEJBQTJCLEVBQzVCO0VBMVFIO0lBNFFJLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsVUFBUyxFQUNWO0VBL1FIO0lBaVJJLGdCQUFlLEVBQ2hCO0VBbFJIO0lBcVJNLGlCQUFnQjtJQUNoQixlQUFjO0lBQ2QsV0FBVTtJQUNWLFlBQVcsRUFDWjtFQXpSTDtJQTJSTSxnQkFBZTtJQUNmLGtCQUFpQjtJQUNqQixnQkFBZSxFQVFoQjtJQXJTTDtNQStSUSx1QkFBc0IsRUFDdkI7SUFoU1A7TUFrU1EsdUJBQXNCO01BQ3RCLFlBQVcsRUFDWjs7QUFLUCw0QkFBNEI7QUFDNUI7RUExU0E7SUE0U0ksWUFBVyxFQWlGWjtJQTdYSDtNQThTTSxhQUFZLEVBQ2I7SUFKSDtNQU9NLFlBQVcsRUFDWjtJQVJMO01BVU0sWUFBVyxFQUNaO0lBWEw7TUFjUSxZQUFXLEVBQ1o7SUFmUDtNQW1CUSxhQUFZLEVBQ2I7SUFwQlA7TUF3QkksZUFBYztNQUNkLGlCQUFnQixFQTBCakI7TUFuREg7UUE0QlEsWUFBVztRQUNYLGdCQUFlLEVBTWhCO1FBbkNQO1VBK0JVLG1CQUFrQjtVQUNsQiwyQkFBMEI7VUFDMUIsOEJBQTZCLEVBQzlCO01BbENUO1FBcUNRLGVBQWMsRUFNZjtRQTNDUDtVQXVDVSxrQkFBaUI7VUFDakIsMEJBQXlCO1VBQ3pCLDZCQUE0QixFQUM3QjtNQTFDVDtRQTZDUSxtQkFBa0IsRUFDbkI7TUE5Q1A7UUFpRE0sWUFBVyxFQUNaO0lBbERMO01BcURJLGVBQWM7TUFDZCxrQkFBaUIsRUEyQmxCO01BakZIO1FBeURRLGFBQVk7UUFDWixlQUFjLEVBTWY7UUFoRVA7VUE0RFUsa0JBQWlCO1VBQ2pCLDBCQUF5QjtVQUN6Qiw2QkFBNEIsRUFDN0I7TUEvRFQ7UUFrRVEsZ0JBQWUsRUFNaEI7UUF4RVA7VUFvRVUsbUJBQWtCO1VBQ2xCLDJCQUEwQjtVQUMxQiw4QkFBNkIsRUFDOUI7TUF2RVQ7UUEwRVEsbUJBQWtCLEVBQ25CO01BM0VQO1FBOEVNLGtCQUFpQjtRQUNqQixhQUFZLEVBQ2IsRUFBQTs7QUFLUDtFQWhZQTtJQW1ZTSxZQUFXLEVBQ1o7RUFISDtJQUtJLFlBQVcsRUFDWjtFQU5IO0lBUUksYUFBWSxFQUNiO0VBMVlMO0lBNFlNLHVCQUFzQixFQUN2QixFQUFBOztBWC9QSDtFWXBRRSxvQnBCa0dnQjtFb0JqR2hCLG1CQUFrQjtFQUNsQixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLGVwQnlIVztFQXpDYiwyQkFBMEI7RUFDMUIsb0JBQW1CO0VvQi9FakIsMEJBQXlCO0VBQ3pCLHNCQUFxQjtFQUNyQixxQmpCK0VxRDtFaUI5RXJELHNCQUFxQjtFQUNyQixtQkFBb0MsRUFjdkM7RVo0T0M7SVl4UE0sMEJwQnFGVTtJb0JwRlYsZXBCZ0hPLEVvQi9HVjtFWnNQSDtJWXBQTSxxQmpCdUVpRDtJaUJ0RWpELHFCakJzRWlEO0lpQnJFakQsc0JBQXFCLEVBQ3hCO0VaaVBIO0lZL09NLHFCQUF3QztJQUN4QyxxQmpCaUVpRCxFaUJoRXBEOztBQ3BCTDtFQUNJLHFCQUE0QjtFQUM1QixzQkFBNkI7RUFDN0Isc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0Q2xCO0VBaEREO0lBTVEsZ0JBQXVCO0lBQ3ZCLFlBQVc7SUFDWCxpQkFBZ0IsRUFHbkI7SWpCb0pDO01pQi9KTjtRQVNzQyxXQUFVLEVBRTNDLEVBQUE7SWpCeUpDO01pQnBLTjtRQVVxQyxjQUFhLEVBQzdDLEVBQUE7RUFYTDtJQWFRLG9CckI2R087SXFCNUdQLGFBQVk7SUFDWixtQkFBa0I7SUFDbEIsMkNyQnlHTztJcUJ4R1AsaUJBQWdCO0lBQ2hCLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsMEJBQXlCLEVBaUI1QjtJQXJDTDtNQXNCWSxZQUFXO01BQ1gsbUJBQWtCO01BQ2xCLG9CbEI0RDZDO01IZnZELDZCQUE0QjtNQUM1QixvQkFBbUI7TXFCNUNULGVyQm9FTTtNcUJuRU4scUJsQnlENkM7TWtCeEQ3Qyw0QkFBMkI7TUFDM0IsaUJBQWdCO01BQ2hCLGFBQVksRUFDZjtJQS9CVDtNQWlDWSxvQ0FBMkI7VUFBM0IsZ0NBQTJCO2NBQTNCLDRCQUEyQjtNQUMzQiwrQ3JCNkVZLEVxQjNFZjtNQXBDVDtRQW1DaUIsZXJCNEVPLEVxQjVFbUI7RUFuQzNDO0lBdUNRLGtCbEI2Q2lEO0lrQjVDakQsaUJBQWdCLEVBT25CO0lqQnFIQztNaUJwS047UUF5Q3FDLGlCbEIyQ29CLEVrQnJDcEQsRUFBQTtJQS9DTDtNQTJDWSxrQkFBaUI7TUFDakIsYUFBWTtNQUNaLFlBQVUsRUFDYjs7QUNqRFQ7RUFDSSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLGFBQVk7RUFDWixzQkFBcUI7RUFDckIsZ0NBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUIsRUF1QjFCO0VBM0JEO0lBTVEsbUJuQmlGaUQsRW1CN0RwRDtJQTFCTDtNQVFZLG9CbkIrRTZDO01IWHZELDRCQUEyQjtNQUMzQixvQkFBbUI7TXNCbkVULFluQjZFNkM7TW1CNUU3QyxhbkI0RTZDO01tQjNFN0Msc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYixnQ0FBdUI7VUFBdkIsc0JBQXVCO2NBQXZCLHdCQUF1QjtNQUN2Qiw0QkFBbUI7VUFBbkIsdUJBQW1CO2NBQW5CLG9CQUFtQjtNQUNuQixldEJtRlE7TXNCbEZSLDBCQUF5QixFQVM1QjtNQXpCVDtRQWtCZ0Isb0J0QmdGSTtRc0IvRUosZXRCMEdELEVzQnpHRjtNQXBCYjtRQXNCZ0Isb0J0QjJFRTtRc0IxRUYsZXRCc0dELEVzQnJHRjs7QUN2QmI7RUFDRSwrQkFBOEI7RUFDOUIsOEJBQTZCO0VBQzdCLFlBQVc7RUFDWCxXQUFVO0VBQ1YsaUJBQWdCLEVBQ2pCOztBQUVEO0VBQ0UsMEJBQXlCO0VBQ3pCLG1CQUFrQjtFQUNsQiwyQ0FBMEM7RUFDMUMsc0JBQXFCO0VBQ3JCLGVBQWM7RUFDZCxlQUFjO0VBQ2QsZ0JBQWU7RUFDZixvQkFBbUI7RUFDbkIsa0JBQWlCO0VBQ2pCLGFBQVk7RUFDWixVQUFTO0VBQ1Qsb0JBQW1CO0VBQ25CLHdCQUF1QjtFQUN2QixzQkFBcUI7RUFDckIsU0FBUTtFQUNSLFlBQVc7RUFDWCxnQkFBZSxFQUNoQjs7QUMzQkQ7RUFDRSwyQkFBMEIsRUFDM0I7O0FBR0Q7RUFJTSxpQnJCOEVtRCxFcUI3RXBEOztBQUxMO0VBVU0sY3JCd0VtRCxFcUJwRXBEO0VwQm9KQztJb0JsS047TUFZUSxVckJzRWlELEVxQnBFcEQsRUFBQTs7QUNwQkw7RUFDRSxnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixZQUFXO0VBQ1gsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsZUFBYTtFQUNiLFlBQVc7RUFDWCxvQkFBc0IsRUFDdkI7O0FBRUQ7RUFDRSxZQUFXO0VBQ1gsb0JBQW1CO0VBQ25CLFVBQVMsRUFDVjs7QUFFRDtFQUNFLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsVUFBUyxFQUNWOztBQUVEO0VBQ0UsZUFBYztFQUNkLGtCQUFpQjtFQUNqQixtQkFBa0IsRUFDbkI7O0FBRUQ7RUNDRSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUhxQjtNQUdyQix3QkFIcUI7VUFHckIsb0JBSHFCO0VDRWYsdUJBQTRCO0VBQTVCLHNCQUE0QixFRndCbkM7RXJCMkdLO0lxQnBJTjtNRUNRLHNCQUE0QjtNQUE1QixxQkFBNEIsRUZ3Qm5DLEVBQUE7RXJCZ0hLO0lxQnpJTjtNRUNRLG9CQUE0QjtNQUE1QixtQkFBNEIsRUZ3Qm5DLEVBQUE7RUczQkM7SUN5REUsMEJBRGdIO0lGNUM5RyxzQkFBNEI7SUFBNUIscUJBQTRCLEVDVi9CO0V4Qm9JRztJd0J0SUo7TUN5REUsNEJBRGdIO01GNUM5Ryx3QkFBNEI7TUFBNUIsdUJBQTRCLEVDVi9CLEVBQUE7RXhCeUlHO0l3QjNJSjtNQ3lERSw2QkFEZ0g7TUY1QzlHLHdCQUE0QjtNQUE1Qix1QkFBNEIsRUNWL0IsRUFBQTtFQUZEO0lDeURFLDBCQURnSDtJRjVDOUcsc0JBQTRCO0lBQTVCLHFCQUE0QixFQ1YvQjtFeEJvSUc7SXdCdElKO01DeURFLDRCQURnSDtNRjVDOUcsd0JBQTRCO01BQTVCLHVCQUE0QixFQ1YvQixFQUFBO0V4QnlJRztJd0IzSUo7TUN5REUsNEJBRGdIO01GNUM5Ryx3QkFBNEI7TUFBNUIsdUJBQTRCLEVDVi9CLEVBQUE7RUFGRDtJQ3lERSwwQkFEZ0g7SUY1QzlHLHNCQUE0QjtJQUE1QixxQkFBNEIsRUNWL0I7RXhCb0lHO0l3QnRJSjtNQ3lERSw0QkFEZ0g7TUY1QzlHLHdCQUE0QjtNQUE1Qix1QkFBNEIsRUNWL0IsRUFBQTtFeEJ5SUc7SXdCM0lKO01DeURFLGtDQURnSDtNRjVDOUcsd0JBQTRCO01BQTVCLHVCQUE0QixFQ1YvQixFQUFBO0VBRkQ7SUN5REUsMEJBRGdIO0lGNUM5RyxzQkFBNEI7SUFBNUIscUJBQTRCLEVDVi9CO0V4Qm9JRztJd0J0SUo7TUN5REUsNEJBRGdIO01GNUM5Ryx3QkFBNEI7TUFBNUIsdUJBQTRCLEVDVi9CLEVBQUE7RXhCeUlHO0l3QjNJSjtNQ3lERSw0QkFEZ0g7TUY1QzlHLHdCQUE0QjtNQUE1Qix1QkFBNEIsRUNWL0IsRUFBQTtFQUZEO0lDeURFLDBCQURnSDtJRjVDOUcsc0JBQTRCO0lBQTVCLHFCQUE0QixFQ1YvQjtFeEJvSUc7SXdCdElKO01DeURFLDRCQURnSDtNRjVDOUcsd0JBQTRCO01BQTVCLHVCQUE0QixFQ1YvQixFQUFBO0V4QnlJRztJd0IzSUo7TUN5REUsNEJBRGdIO01GNUM5Ryx3QkFBNEI7TUFBNUIsdUJBQTRCLEVDVi9CLEVBQUE7RUFGRDtJQ3lERSwwQkFEZ0g7SUY1QzlHLHNCQUE0QjtJQUE1QixxQkFBNEIsRUNWL0I7RXhCb0lHO0l3QnRJSjtNQ3lERSw0QkFEZ0g7TUY1QzlHLHdCQUE0QjtNQUE1Qix1QkFBNEIsRUNWL0IsRUFBQTtFeEJ5SUc7SXdCM0lKO01DeURFLGtDQURnSDtNRjVDOUcsd0JBQTRCO01BQTVCLHVCQUE0QixFQ1YvQixFQUFBO0VBRkQ7SUN5REUsMEJBRGdIO0lGNUM5RyxzQkFBNEI7SUFBNUIscUJBQTRCLEVDVi9CO0V4Qm9JRztJd0J0SUo7TUN5REUsNEJBRGdIO01GNUM5Ryx3QkFBNEI7TUFBNUIsdUJBQTRCLEVDVi9CLEVBQUE7RXhCeUlHO0l3QjNJSjtNQ3lERSxrQ0FEZ0g7TUY1QzlHLHdCQUE0QjtNQUE1Qix1QkFBNEIsRUNWL0IsRUFBQTtFQUZEO0lDeURFLDBCQURnSDtJRjVDOUcsc0JBQTRCO0lBQTVCLHFCQUE0QixFQ1YvQjtFeEJvSUc7SXdCdElKO01DeURFLDRCQURnSDtNRjVDOUcsd0JBQTRCO01BQTVCLHVCQUE0QixFQ1YvQixFQUFBO0V4QnlJRztJd0IzSUo7TUN5REUsOEJBRGdIO01GNUM5Ryx3QkFBNEI7TUFBNUIsdUJBQTRCLEVDVi9CLEVBQUE7RUFGRDtJQ3lERSwwQkFEZ0g7SUY1QzlHLHNCQUE0QjtJQUE1QixxQkFBNEIsRUNWL0I7RXhCb0lHO0l3QnRJSjtNQ3lERSw0QkFEZ0g7TUY1QzlHLHdCQUE0QjtNQUE1Qix1QkFBNEIsRUNWL0IsRUFBQTtFeEJ5SUc7SXdCM0lKO01DeURFLGtDQURnSDtNRjVDOUcsd0JBQTRCO01BQTVCLHVCQUE0QixFQ1YvQixFQUFBO0VIQUg7SUtHRSxzQkFBcUI7SUFDckIsZ0JBQWU7SUFDZixvQjlCb0drQjtJOEJsR2xCLDBCOUJ3RmE7SThCdkZiLG1COUJzR2lCO0k4QnJHakIseUM5QnFGYTtJOEJuRmIsZUFBYztJQUlkLHNDOUJvekI4QyxFeUI5eUI3QztJS0pEO01BRUUsNkM5QmdEYyxFOEIvQ2Y7SUFFRDtNQUNFLGlCQUFnQixFQUNqQjtFTHhCSDtJS0dFLHNCQUFxQjtJQUNyQixnQkFBZTtJQUNmLG9COUJvR2tCO0k4QmxHbEIsMEI5QndGYTtJOEJ2RmIsbUI5QnNHaUI7SThCckdqQix5QzlCcUZhO0k4Qm5GYixlQUFjLEVMYWI7O0E3QjJCQztFbUNsRkUsbUJBQWtCLEVBQUc7O0FBRTNCO0VBQ0ksaUI1QnFGcUQ7RTRCcEZyRCxhQUFZLEVBQ2Y7O0FBQ0Q7RUFDSSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFQU9oQjtFM0IwSks7STJCbEtOO01BR1EsK0JBQXNCO1VBQXRCLDJCQUFzQjtjQUF0Qix1QkFBc0IsRUFLN0IsRUFBQTtFQVJEO0lBTVEscUJBQVk7UUFBWixpQkFBWTtZQUFaLGFBQVksRUFDZjs7QUFHTDtFQUNJLGFBQVk7RUFDWixpQjVCc0VxRDtFNEJyRXJELFlBQVcsRUFDZDs7QUFDRDtFQUNJLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsb0I1QmdFcUQsRTRCL0R4RDs7QUFDRDs7RUFDSSxrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLHNCNUIyRHFELEU0QjFEeEQ7O0FBQ0Q7RUFDSSxzQkFBcUI7RUFDckIsZUFBYyxFQWdCakI7RUFmRztJQUNJLG1CQUE0QjtJQUU1QixtQkFBa0IsRUFXckI7SUFaRztNQUFxQiwwQkFBK0IsRUFBSTtJQUd4RDtNQUNJLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsWTVCOEM2QztNNEI3QzdDLFFBQU87TUFDUCxlNUI0QzZDO000QjNDN0MsaUI1QjJDNkM7TTRCMUM3QyxvZEFBbWQsRUFDdGQ7O0F4Qi9CTDtFd0JvQ0EsdUJBQXNCLEVBQUk7O0FBQzlCOztFQUNJLHNCQUFxQixFQUFJOztBbkNtTnpCO0VtQ2hOQSw0QkFBMkIsRUFFOUI7RUFKRDtJQUdjLFdBQVUsRUFBRzs7QW5Da1B2Qjs7RUkzTkYsMEJBQXlCO0VBQ3pCLG9CQUFtQixFK0JwQnBCOztBN0J5TkM7RUY5TUEsNkJBQTRCO0VBQzVCLG9CQUFtQjtFK0JUakIsZ0I1QnVCcUQ7RTRCdEJyRCxrQkFBaUIsRUFLcEI7RUFSRDtJQUlxQixpQkFBZ0IsRUFBRztFM0JnR2xDO0lGb0hKO002QmxOTSxxQjVCbUJpRCxFNEJqQnhELEVBQUE7O0FuQ2lDRztFSXZCRiwwQkFBeUI7RUFDekIsb0JBQW1CO0UrQlJqQixlL0J3QmM7RStCdkJkLHlCNUJrQlM7RTRCakJULG9CNUJZcUQ7RTRCWHJELG1CQUFrQjtFQUNsQixtQkFBa0IsRUFvQnJCO0VBMUJEO0lBUVEsbUJBQWtCO0lBQ2xCLFFBQU87SUFDUCxVQUFTO0lBQ1QsWUFBVztJQUNYLGM1QklpRDtJNEJIakQsa0I1QkdpRDtJNEJGakQsb0IvQmFZO0krQlpaLFVBQVM7SUFDVCxvQ0FBMkI7UUFBM0IsZ0NBQTJCO1lBQTNCLDRCQUEyQixFQUs5QjtJM0IyRUM7TTJCaEdOO1FBa0JZLFk1QkY2QztRNEJHN0MsZ0I1Qkg2QyxFNEJLcEQsRUFBQTtFM0IyRUM7SVJoRUY7TW1DVEksb0JBQTZCO01BQzdCLDRCNUJISyxFNEJLWixFQUFBOztBQUNEO0VBQUssZS9CQWUsRStCQVc7O0FBQy9CO0UvQm5CRSwwQkFBeUI7RUFDekIsb0JBQW1CLEUrQmtCQzs7QUFDdEI7RS9CeEJFLDRCQUEyQjtFQUMzQixvQkFBbUIsRStCdUJFOztBQUN2QjtFL0JyQkUsMEJBQXlCO0VBQ3pCLG9CQUFtQixFK0JvQkE7O0FBRXJCO0VBRVEsbUJBQWtCLEVBR3JCO0UzQnNEQztJMkIzRE47TUFHc0MsaUJBQWdCLEVBRWpELEVBQUE7O0FBR0w7RUFDSSw2Qy9CZGdCO0UrQmVoQixrQjVCMUJxRDtFNEIyQnJELG1CQUFrQjtFL0JsQ3BCLDBCQUF5QjtFQUN6QixvQkFBbUI7RStCbUNqQixpQkFBMEI7RUFDMUIsb0I1QjlCcUQsRTRCaUN4RDtFM0IwQ0s7STJCbkROO01BT2tDLHNCNUIvQnVCLEU0QmlDeEQsRUFBQTtFM0IrQ0s7STJCeEROO01BUWlDLGtCQUFpQixFQUNqRCxFQUFBOztBQUNEO0VBQ0ksZS9CeEJnQixFK0JrQ25CO0VBWEQ7SUFHUSxlL0IzQlU7SStCNEJWLHNCNUJ0Q2lEO0k0QnVDakQsd0NBQStCO0lBQS9CLGdDQUErQjtJQUEvQiw2REFBK0IsRUFDbEM7RUFOTDtJQVFRLGUvQmhDVSxFK0JrQ2I7SUFWTDtNQVNjLG1DQUEwQjtVQUExQiwrQkFBMEI7Y0FBMUIsMkJBQTBCLEVBQUc7O0FBTTNDO0UvQjVERSw0QkFBMkI7RUFDM0Isb0JBQW1CO0UrQjZEakIsb0I1Qm5EcUQ7RTRCb0RyRCw0Qi9CMUNjO0UrQjJDZCxvQjVCckRxRDtFNEJzRHJELGtCQUFpQixFQU9wQjtFM0JjSztJMkIxQk47TUFPUSxrQkFBaUI7TUFDakIsb0JBQTZCLEVBSXBDLEVBQUE7O0FBQ0Q7RS9CckVFLDBCQUF5QjtFQUN6QixvQkFBbUI7RStCc0VqQixlL0JyRGdCO0UrQnNEaEIsMEJBQXlCO0VBQ3pCLHFCNUJsRXFEO0U0Qm1FckQsdUJBQXNCO0VBQ3RCLGtCQUFpQjtFQUNqQix1QkFBNEI7RUFDNUIsbUJBQWtCLEVBT3JCO0UzQkZLO0kyQmJOO01BVVEsdUJBQXNCO01BQ3RCLGlCQUFnQjtNQUNoQixvQjVCMUVpRDtNNEIyRWpELHVCQUE2QixFQUVwQyxFQUFBOztBQUNEO0VBRUksZS9CckRvQjtFK0JzRHBCLGlCQUFnQjtFQUNoQiwrQkFBOEMsRUFHakQ7RTNCVks7STJCR047TUFLa0MsMkJBQTRDLEVBRTdFLEVBQUE7RUFQRDtJQU1jLGNBQWEsRUFBRzs7QUFFOUI7RUFDSSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsZ0NBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUIsRUFDdEI7O0FBRUQ7RUFDSSxZQUFXO0VBQ1gsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QixpQjVCakdxRDtFNEJrR3JELG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osVTVCcEdxRCxFNEI4R3hEO0UzQm5DSztJMkJrQk47TUFRa0MsT0FBTSxFQVN2QyxFQUFBO0UzQjlCSztJMkJhTjtNQVVRLG1CQUFrQjtNQUNsQixVQUFTO01BQ1QsZTVCekdpRDtNNEIwR2pELGtDQUF5QjtVQUF6QixtQkFBeUI7Y0FBekIsMEJBQXlCO01BQ3pCLG9DQUEyQjtVQUEzQixnQ0FBMkI7Y0FBM0IsNEJBQTJCLEVBR2xDLEVBQUE7RTNCOUJLO0kyQmFOO01BZ0JrQyxjNUI3R3VCLEU0QjhHeEQsRUFBQTs7QUFDRDtFQUNJLGdCNUJoSHFELEU0QnNJeEQ7RUF2QkQ7SUFHUSxlQUFjO0lBQ2QsZS9CeEdZO0lBbEJsQiwwQkFBeUI7SUFDekIsb0JBQW1CO0krQjJIYixxQjVCckhpRDtJNEJzSGpELGtCNUJ0SGlEO0k0QnVIakQsdUJBQXNCO0lBQ3RCLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsMEJBQXlCLEVBVzVCO0kzQjFEQztNMkJvQ047UUFZc0Msc0I1QjNIbUIsRTRCcUlwRCxFQUFBO0lBdEJMO01BY1ksdUI1QjdINkM7TTRCOEg3QyxlL0JwSE07TStCcUhOLHdDQUErQjtNQUEvQixnQ0FBK0I7TUFBL0IsNkRBQStCLEVBQ2xDO0lBakJUO01BbUJZLGUvQnhITSxFK0IwSFQ7TUFyQlQ7UUFvQmtCLHFDQUE0QjtZQUE1QixpQ0FBNEI7Z0JBQTVCLDZCQUE0QixFQUFHOztBQVNqRDtFQUNJLHdEQUF1RDtNQUF2RCxvREFBdUQ7VUFBdkQsZ0RBQXVEO0VBQ3ZELGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLHFCQUE4QixFQVVqQztFM0IzRUs7STJCNEROO01BUVEsa0JBQTJCLEVBT2xDLEVBQUE7RUFmRDtJQVdRLG9DQUFtQztRQUFuQyxnQ0FBbUM7WUFBbkMsNEJBQW1DO0lBQ25DLG1CQUFrQjtJQUNsQixhQUFZLEVBQ2Y7O0FBS0w7RUFDSSxpQjVCaEtxRDtFNEJvS3JELGlCQUFnQixFQWtCbkI7RTNCdEdLO0kyQitFTjtNQUdRLGM1QmxLaUQsRTRCc0x4RCxFQUFBO0VBdkJEO0lBUVEsa0I1QmxLSztJNEJtS0wsd0I1QnhLaUQ7STRCeUtqRCxrQjVCektpRCxFNEIrS3BEO0kzQi9GQztNMkIrRU47UUFXb0Msc0JBQXFCLEVBS3BELEVBQUE7STNCL0ZDO00yQitFTjtRQWFZLHNCNUI1SzZDLEU0QitLcEQsRUFBQTtJQWhCTDtNQWU0QixpQkFBMEIsRUFBRztFQWZ6RDtJQW1CUSxhQUFZO0lBQ1osWUFBVztJQUNYLGtCQUFpQixFQUNwQjs7QUFHTCxtQ0FBbUM7QWxCM1FqQztFa0I2UUUsY0FBYTtFQUNiLFlBQVc7RUFDWCxnQkFBZSxFQVVsQjtFQWJEO0lBS1Esb0IvQnhKTztJK0J5SlAsWUFBVTtJQUNWLGE1QmhNaUQ7STRCaU1qRCxpRC9CNUpPLEUrQmdLVjtJM0JySEM7TTJCeUdOO1FBVVksZTVCbk02QyxFNEJxTXBELEVBQUE7O0FBRUw7RUFDSSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGdCNUIxTXFELEU0QjJNeEQ7O0FBQ0Q7RUFDSSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLHVDQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQzlCLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjLEVBQ2pCOztBQUNEO0VBQ0ksYUFBWTtFQUNaLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLGdCNUJ6TnFELEU0QjJPeEQ7RUF6QkQ7SUFTUSxZQUFXLEVBT2Q7STNCbEpDO00yQmtJTjtRQVdZLHFCNUI3TjZDLEU0QmtPcEQsRUFBQTtJM0JsSkM7TTJCa0lOO1FBY1kscUI1QmhPNkMsRTRCa09wRCxFQUFBO0VBaEJMO0lBa0JRLGdDQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCO0lBQ3ZCLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2QsbUJBQWtCLEVBSXJCO0lBeEJMO01Bc0JZLG1CNUJ4TzZDLEU0QnlPaEQ7O0FBR1Q7RUFDSSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLGtDQUF5QjtNQUF6QixtQkFBeUI7VUFBekIsMEJBQXlCLEVBQzVCOztBQUNEO0VBQ0ksNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxVQUFTO0VBQ1Qsc0JBQXFCO0VBQ3JCLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isa0NBQXlCO01BQXpCLG1CQUF5QjtVQUF6QiwwQkFBeUIsRUFvQjVCO0VBMUJEO0lBU1ksYUFBVztJQUNYLDZCL0JoUE07SStCaVBOLGtCNUIzUDZDLEU0QjRQaEQ7RUFaVDtJQWVRLDZCL0JyUFU7SUFqQmhCLDBCQUF5QjtJQUN6QixvQkFBbUI7SStCdVFiLG9CNUJqUWlEO0k0QmtRakQsMEJBQXlCLEVBTzVCO0lBekJMO01Bc0JZLGUvQjNQUSxFK0I2UFg7TUF4QlQ7UUF1QnVCLDZCL0I3UEwsRStCNlB3Qzs7QUFJMUQsNENBQTRDO0FBRzVDO0VBQ0ksbUI1Qi9RcUQ7RTRCZ1JyRCxvQjVCaFJxRDtFNEJpUnJELHFCQUE4QjtFQUM5QixtQkFBa0IsRUFrQnJCO0UzQnBOSztJMkI4TE47TUFVUSxnQkFBZTtNQUNmLGlCQUFnQixFQVd2QixFQUFBO0VBdEJEOztJQWVRLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFFbEIsc0I1QmhTaUQsRTRCa1NwRDtJM0JsTkM7TTJCOExOOztRQW1CcUMsZTVCNVJ4QixFNEI2UlIsRUFBQTs7QUFNTCxxREFBcUQ7QUFDckQ7RUFHSSxrQkFBMEIsRUFnQjdCO0UzQjVPSztJMkJ5Tk47TUFLUSxrQkFBMkIsRUFjbEMsRUFBQTtFQW5CRDtJQVFRLGtCQUEwQixFQUk3QjtJM0JyT0M7TTJCeU5OO1FBVVksa0I1Qm5UNkMsRTRCcVRwRCxFQUFBO0VBWkw7SUFjUSxvQjVCdlRpRCxFNEIyVHBEO0kzQjNPQztNMkJ5Tk47UUFnQlksb0JBQTJCLEVBRWxDLEVBQUE7O0FBR0w7RUFDSSxrQkFBMkIsRUFDOUI7O0FBQ0Q7OztFQUlRLGtCNUJyVWlELEU0QnVVcEQ7RTNCdlBDO0kyQmlQTjs7O01BS3FDLGtCQUEyQixFQUMzRCxFQUFBOztBQU5MOzs7RUFRUSxjQUFhLEVBQ2hCOztBQUVMO0VBQStDLGlCNUI1VVUsRTRCNFVpQjs7QUFDMUU7RUFDSSxvQkFBNkIsRUFDaEM7O0FBQ0Q7RUFDSSxrQjVCalZxRCxFNEJtVnhEO0UzQm5RSztJMkJnUU47TUFFaUMsb0JBQTZCLEVBQzdELEVBQUE7O0FBR0Qsb0RBQW9EO0FBQ3BEO0VBRVEsbUJBQWtCLEVBS3JCO0VBUEw7SUFJWSxVQUFTO0lBQ1Qsb0NBQTJCO1FBQTNCLGdDQUEyQjtZQUEzQiw0QkFBMkIsRUFDOUI7O0FBSVQ7RUFDSSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHFCQUE0QjtFQUM1QixzQkFBNkI7RUFDN0Isd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlO0VBQ2YsZ0NBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUIsRUFpRTFCO0VBdEVEO0lBT1EscUJBQW9DO0lBQ3BDLFlBQVcsRUE2RGQ7STNCM1ZDO00yQnNSTjtRQVVZLFdBQVU7UUFDVixxQkFBb0MsRUEwRDNDLEVBQUE7STNCdFZDO00yQmlSTjtRQWFxQyxjQUFhLEVBd0Q3QyxFQUFBO0lBckVMO01BZWlCLGUvQnJWTyxFK0JxVmtCO0lBZjFDO01Ba0IwQixXQUFVLEVBQUc7SUFsQnZDO01Bc0JZLHVCQUFjO1VBQWQsbUJBQWM7Y0FBZCxlQUFjLEVBQ2pCO0lBdkJUO01BeUJZLG9CNUIxWDZDO000QjJYN0MsaUJBQWdCO01BQ2hCLG1CQUFrQixFQTJCckI7TUF0RFQ7UUE4QmdCLFlBQVc7UUFDWCxXQUFVO1FBQ1YsOEJBQTZCO1FBQzdCLGFBQVk7UUFDWixtQkFBa0IsRUFDckI7TUFuQ2I7UUFxQ2dCLGFBQVk7UUFDWCxvQjVCdll3QztRNEJ5WXpDLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2IsZ0NBQXVCO1lBQXZCLHNCQUF1QjtnQkFBdkIsd0JBQXVCO1FBQ3ZCLDRCQUFtQjtZQUFuQix1QkFBbUI7Z0JBQW5CLG9CQUFtQjtRQUNuQixlL0J0V0Q7UStCdVdDLFdBQVU7UTlCMU94QixtQkFBa0I7UUFDbEIsU0FBUTtRQUNSLFVBQVM7UUFDVCx5Q0FBZ0M7WUFBaEMscUNBQWdDO2dCQUFoQyxpQ0FBZ0MsRThCeU9yQjtNQTlDYjtRQWdEZ0IsYUFBWTtRQUNaLFlBQVc7UUFDWCxVQUFTO1FBQ1QsU0FBUTtRQUNSLGdDL0JoWEQsRStCaVhGO0lBckRiO01Bd0RZLDRCQUEyQjtNQUMzQixrQkFBaUI7TUFDakIsa0I1QjNaNkM7TTRCNFo3QyxlL0JsWk07TStCbVpOLGlCQUFnQjtNQUNoQiwwQkFBK0IsRUFDbEM7SUE5RFQ7TUFnRVksZS9CdlpNO00rQndaTixpQkFBZ0I7TUFDaEIscUI1Qm5hNkMsRTRCcWFoRDtNM0IxVkg7UTJCc1JOO1VBbUUwQyxxQjVCcGFlLEU0QnFhaEQsRUFBQTs7QUFHVDtFQUNJLHFCNUJ6YXFEO0U0QjBhckQsZS9CL1pnQjtFQWxCbEIsMEJBQXlCO0VBQ3pCLG9CQUFtQjtFK0JrYmpCLG9CQUFtQjtFQUNuQixlQUFjLEVBRWpCO0UzQnBXSztJMkI2Vk47TUFNa0MscUI1QjlhdUIsRTRCK2F4RCxFQUFBOztBQUlELGtEQUFrRDtBQUVsRDtFQUNJLG9CL0JuYWtCO0UrQm9hbEIsZ0JBQXlCLEVBcUU1QjtFQXZFRDtJQUdlLG1EQUFrRDtRQUFsRCwrQ0FBa0Q7WUFBbEQsMkNBQWtELEVBQUc7RUFIcEU7SUFNUSxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDRCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLG1CNUI3YmlEO0k0QjhiakQsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBU2xCO0kzQjdYQztNMkIwV047UUFXc0MsNEJBQW1CO1lBQW5CLHdCQUFtQjtnQkFBbkIsb0JBQW1CLEVBUXBELEVBQUE7STNCeFhDO00yQnFXTjtRQWFZLGdCQUFlO1FBQ2YsaUJBQWdCLEVBS3ZCLEVBQUE7SUFuQkw7TUFpQlksdUJBQWM7VUFBZCxtQkFBYztjQUFkLGVBQWMsRUFDakI7RUFsQlQ7SUFxQlEsWUFBVztJQUNYLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsbUJBQWtCLEVBOENyQjtJM0IzYUM7TTJCcVdOO1FBeUJxQyxpQkFBZ0IsRUE2Q2hELEVBQUE7STNCM2FDO00yQnFXTjtRQTBCc0MsNEJBQW1CO1lBQW5CLHdCQUFtQjtnQkFBbkIsb0JBQW1CO1FBQUUsdUNBQThCO1lBQTlCLHVCQUE4QjtnQkFBOUIsK0JBQThCLEVBNENwRixFQUFBO0lBdEVMO01BNEJZLHFCNUJqZDZDO000QmtkN0MsZS9CNWFHLEUrQjZhTjtJQTlCVDtNQWdDWSxvQjVCcmQ2QztNSGZ2RCw2QkFBNEI7TUFDNUIsb0JBQW1CO00rQnFlVCxrQjVCbGRDLEU0QnFkSjtNM0IxWUg7UTJCcVdOO1VBbUMwQyxjQUFhLEVBRTlDLEVBQUE7SUFyQ1Q7TUFzQzRCLGUvQmhkUixFK0JnZGtDO0lBdEN0RDtNQXdDWSxzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLCtCQUFzQjtVQUF0QiwyQkFBc0I7Y0FBdEIsdUJBQXNCO01BQ3RCLG1CQUFrQixFQWVyQjtNM0I5Wkg7UTJCcVdOO1VBMkN5QyxpQkFBZ0IsRUFjaEQsRUFBQTtNM0I5Wkg7UTJCcVdOO1VBNEMwQyw0QkFBbUI7Y0FBbkIsd0JBQW1CO2tCQUFuQixvQkFBbUIsRUFhcEQsRUFBQTtNM0I5Wkg7UTJCcVdOO1VBOEM2QyxlQUF3QixFQVV4RCxFQUFBO01BeERiO1FBaURvQixpQkFBMEI7UUFDMUIsc0JBQXFCLEVBS3hCO1FBdkRqQjtVQW9Ed0Isb0IvQm5jVDtVK0JvY1MsZS9CaGVOLEUrQmllRztJQXREckI7TUE0RGdCLHNCQUFxQjtNQUNyQixVQUFTO01BQ1QsbUJBQVU7Y0FBVixXQUFVO01BQ1YseUJBQWdCO2NBQWhCLGlCQUFnQixFQUtuQjtNQXBFYjtRQWlFb0IsaUJBQWdCO1FBQ2hCLHFCNUJsZlAsRTRCbWZJOztBQUtqQjtFQUVJLG9CL0J4ZXVCLEUrQjJnQjFCO0VBckNEO0lBS1Esc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZixpQkFBUTtRQUFSLGtCQUFRO1lBQVIsU0FBUTtJQUNSLGM1QnJnQmlEO0k0QnNnQmpELGUvQmhlTztJK0JpZVAsZ0NBQXVCO1FBQXZCLHNCQUF1QjtZQUF2Qix3QkFBdUI7SUFDdkIsVTVCeGdCaUQsRTRCOGdCcEQ7STNCbmNDO00yQmtiTjtRQWFZLHVDQUE4QjtZQUE5Qix1QkFBOEI7Z0JBQTlCLCtCQUE4QjtRQUM5QixpQkFBUTtZQUFSLGtCQUFRO2dCQUFSLFNBQVEsRUFHZixFQUFBO0kzQjliQztNMkI2YU47UUFnQndDLGdCQUF1QixFQUMxRCxFQUFBO0VBakJMO0lBbUJRLHNCQUFxQjtJQUNyQixVQUFTO0lBQ1QsV0FBVTtJQUNWLG1CQUFrQjtJQUNsQixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLGdDQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCO0lBQ3ZCLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQUNsQjtFQTFCTDtJL0J4Z0JFLDRCQUEyQjtJQUMzQixvQkFBbUI7SStCb2lCYixnQy9CcGZPO0krQnFmUCxxQjVCM2hCaUQ7STRCNmhCakQsbUI1QjdoQmlELEU0QmlpQnBEO0lBcENMO01BK0JrQixlL0J0ZkgsRStCc2ZtQjtJM0I1YzVCO00yQjZhTjtRQWtDWSxzQjVCMWhCQyxFNEI0aEJSLEVBQUE7O0FBR0w7RUFDSSxvQjVCcmlCcUQsRTRCc2lCeEQ7O0FDN25CRDtFQUVRLGVBQWMsRUFDakI7O0FBSEw7RUFNWSxnQjdCaUY2QztFNkJoRjdDLGlCN0JnRjZDO0U2Qi9FN0MsYUFBWSxFQUlmO0U1QjJKSDtJNEJ2S047TUFTK0MsZ0NBQXVCO1VBQXZCLHNCQUF1QjtjQUF2Qix3QkFBdUIsRUFHN0QsRUFBQTtFNUIySkg7STRCdktOO01BVXlDLGlCN0I2RWdCLEU2QjNFaEQsRUFBQTtFNUIySkg7STRCdktOO01BVzRDLFdBQVUsRUFDN0MsRUFBQTs7QUFaVDtFQWVRLGlCQUEwQjtFQUMxQixlaEM2R087RWdDM0dQLG1CQUFrQixFQUNyQjs7QUFuQkw7RUFxQlEsaUI3QmtFaUQsRTZCN0RwRDtFQTFCTDtJQXVCWSxpQkFBZ0IsRUFDbkI7RTVCK0lIO0k0QnZLTjtNQXlCb0Msc0JBQXFCLEVBQ3BELEVBQUE7O0FBMUJMO0VBMkJvQixnQkFBZSxFQUFHOztBQTNCdEM7RWhDb0ZFLDJCQUEwQjtFQUMxQixvQkFBbUI7RWdDdkRiLGtCN0J5RGlEO0U2QnhEakQscUJBQThCLEVBU2pDO0U1QitIQztJNEJ2S047TUFnQ3FDLGtCN0J1RG9CLEU2Qi9DcEQsRUFBQTtFQXhDTDtJQWtDWSxlQUFjLEVBS2pCO0k1QmdJSDtNNEJ2S047UUFvQ2dCLGU3Qm1EeUM7UTZCbER6QyxnQjdCa0R5QyxFNkJoRGhELEVBQUE7O0FBdkNUO0VBMENRLGdCQUFlO0VBQ2YsaUJBQWdCLEVBSW5CO0VBL0NMO0lBNkNZLG1CN0IwQzZDLEU2QnpDaEQ7O0FBOUNUO0VBaURRLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsbUJBQWtCLEVBQ3JCOztBQUdMO0VBRVEsZUFBdUIsRUFPMUI7RTVCdUdDO0k0QmhITjtNQUtZLG1CQUFVO2NBQVYsV0FBVTtNQUNWLHlCQUFnQjtjQUFoQixpQkFBZ0I7TUFDaEIsZUFBd0IsRUFFL0IsRUFBQTs7QUFUTDtFQVdRLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IscUJBQTRCO0VBQzVCLHNCQUE2QixFQUVoQztFQWZMO0lBY1ksZ0JBQXVCLEVBQUk7O0FBS3ZDO0VBQ0ksMEJoQ3VCZ0I7RWdDdEJoQixxQkFBOEIsRUFrRWpDO0VBcEVEO0lBR2dCLGVoQ2dERCxFZ0NoRGtCO0VBSGpDO0lBTVEsZWhDNkNPLEVnQzNDVjtJQVJMO01BT2tCLDBCaENnQkEsRWdDaEJtQztFQVByRDtJQVVRLGlCN0JHaUQ7STZCRmpELGFBQVksRUFDZjtFQVpMO0lBY1Esc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWU7SUFDZiwyQkFBMEI7SUFDMUIsaUJBQWdCO0lBQ2hCLGdDQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCO0lBQ3ZCLG1CQUE0QjtJQUM1QixxQkFBNEI7SUFDNUIsc0JBQTZCLEVBOENoQztJNUIwQkM7TTRCN0ZOO1FBd0JZLG1CQUF3RCxFQTJDL0QsRUFBQTtJQW5FTDtNQTJCWSwrQkFBOEI7TUFDOUIsdUJBQWM7VUFBZCxtQkFBYztjQUFkLGVBQWM7TUFDZCxZQUFXO01BQ1gsbUNBQW9FO01BQ3BFLG1CQUFrQixFQWtCckI7TTVCdUNIO1E0QnhGTjtVQWdDMEMsV0FBVTtVQUFFLHFCQUF3QyxFQWlCckYsRUFBQTtNQWpEVDtRQWtDZ0IsOEJBQTZCO1FoQ3hCM0MsMkJBQTBCO1FBQzFCLG9CQUFtQjtRZ0N5Qkwsb0I3QnZCeUM7UTZCd0J6QyxlaENiSTtRZ0NjSixnRGhDWUQ7UWdDWEMsbUJBQWtCO1FBQ2xCLFNBQVE7UUFDUixVQUFTO1FBQ1QsWUFBVztRQUNYLGVBQWMsRUFLakI7UTVCNkNQO1U0QjdGTjtZQTZDb0IsV0FBVTtZQUNWLFlBQVcsRUFFbEIsRUFBQTtJQWhEYjtNQWtEb0IsaUJBQWdCLEVBQUc7SUFsRHZDO01Bb0RZLGtCN0J2QzZDO01IUHZELDBCQUF5QjtNQUN6QixvQkFBbUI7TWdDK0NULGVoQ0hHO01nQ0lILFVBQVM7TUFDVCxXQUFVO01BQ1YsZUFBYyxFQUNqQjtJQTFEVDtNQTREWSxpQjdCL0M2QztNNkJnRDdDLGVoQ1ZHO01BakRiLDRCQUEyQjtNQUMzQixvQkFBbUI7TWdDNERULHFCN0JsRDZDO002Qm1EN0MsaUJBQWdCLEVBQ25COztBQUtUO0VBQ0ksb0JoQ2hDd0IsRWdDeUMzQjtFQVZEO0lBR1EscUI3QjVEaUQsRTZCOERwRDtJNUJrQkM7TTRCdkJOO1FBSW9DLGdCQUF5QixFQUN4RCxFQUFBO0VBTEw7SUFNb0IsbUJBQWtCLEVBQUk7RUFOMUM7SUFRUSxlQUFjLEVBQ2pCOztBQUtMO0VBQ0kscUJBQThCLEVBQ2pDOztBQUtEO0VBQ0ksNENBQW9EO0VBQ3BELHVCQUFzQixFQXlDekI7RUEzQ0Q7SUFLUSxZQUFXO0lBQ1gsT0FBTTtJQUNOLFFBQU87SUFDUCxTQUFRO0lBQ1IsVUFBUztJQUNULG1CQUFrQixFQUNyQjtFQVhMO0lBYVEsdUNoQ3JFaUI7SWdDc0VqQixXQUFVLEVBQ2I7RUFmTDtJQWlCUSw4QkFBcUI7UUFBckIsMEJBQXFCO1lBQXJCLHNCQUFxQjtJQUNyQiw0QkFBMkI7SUFDM0IsNkJBQTRCO0lBQzVCLHVCQUFzQjtJQUN0QixtQ0FBa0M7SUFDbEMsV0FBVSxFQUNiO0VBdkJMO0lBeUJRLGVoQ2pFTyxFZ0NtRVY7SUEzQkw7TUEwQmtCLDBCaEM3RkUsRWdDNkZtQztFQTFCdkQ7SUErQlksc0JBQXlDO0lBQ3pDLHFCQUE0QjtJQUM1QixzQkFBNkIsRUFJaEM7STVCbkNIO000QkZOO1FBbUNnQixtQkFBd0QsRUFFL0QsRUFBQTtFQXJDVDtJQXdDUSxvQmhDaEZPO0lnQ2lGUCxlaEM3R1UsRWdDOEdiOztBQUlMO0VBQ0ksa0I3QjdIcUQ7RTZCOEhyRCx3REFBdUQ7TUFBdkQsb0RBQXVEO1VBQXZELGdEQUF1RDtFQUN2RCxpQkFBZ0IsRUFPbkI7RUFWRDtJQUtRLGFBQVk7SUFDWixZQUFVO0lBQ1Ysa0JBQWlCO0lBQ2pCLCtDQUE4QztRQUE5QywyQ0FBOEM7WUFBOUMsdUNBQThDLEVBQ2pEOztBNUJyREM7RTZCdktOO0lBR1Esc0JBQTRCO0lBQzVCLHVCQUE2QixFQTZDcEMsRUFBQTs7QUFqREQ7RUFPUSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQXNDbEI7RTdCa0hDO0k2QmxLTjtNQVlZLGdDQUF1QjtVQUF2QixzQkFBdUI7Y0FBdkIsd0JBQXVCO01BQ3ZCLHNCQUE0QjtNQUM1Qix1QkFBNkI7TUFDN0Isa0JBQTJCLEVBaUNsQyxFQUFBO0VBaERMO0lBa0JZLGlCQUF1QjtJQUN2QixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDRCQUFtQjtRQUFuQix3QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLFlBQVcsRUFNZDtJN0J1SUg7TTZCbEtOO1FBdUJnQiwrQkFBc0I7WUFBdEIsMkJBQXNCO2dCQUF0Qix1QkFBc0I7UUFDdEIsY0FBYTtRQUNiLHNDQUFvRSxFQUUzRSxFQUFBO0VBM0JUO0lBNkJZLGFBQVk7SUFDWixvQkFBNkI7SUFDN0IsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFLakI7STdCOEhIO002QmxLTjtRQWlDZ0Isb0JBQTJCO1FBQzNCLFVBQVMsRUFFaEIsRUFBQTtFQXBDVDtJQXNDWSxxQjlCaUQ2QyxFOEJoRGhEO0U3QmdJSDtJNkJ2S047TUF5QzhDLG9COUI4Q1csRThCN0NoRCxFQUFBO0VBMUNUO0lBNENZLGdCOUIyQzZDO0lIUHZELDBCQUF5QjtJQUN6QixvQkFBbUI7SWlDbkNULGVqQzJFUSxFaUMxRVg7O0FDOUNUO0VBRVEsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWU7RUFDZixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QixxQkFBNEI7RUFDNUIsc0JBQTZCLEVBQ2hDOztBQVBMO0VBU1EsZUFBYztFQUNkLGdCQUF1QjtFQUN2QixZQUFXO0VBQ1gsMEJBQXlCLEVBd0Q1QjtFOUI2RkM7SThCaktOO01BYXNDLFdBQVUsRUF1RDNDLEVBQUE7RUFwRUw7SUFnQmdCLG9DQUEyQjtRQUEzQixnQ0FBMkI7WUFBM0IsNEJBQTJCO0lBQzNCLDJDbEMwR0QsRWtDekdGO0VBbEJiO0lBcUJvQixXQUFVLEVBQ2I7RUF0QmpCO0lBd0JvQixlL0I4RHFDO0krQjdEckMsZ0IvQjZEcUM7SStCNURyQyxXQUFVLEVBQ2I7RUEzQmpCO0lBK0JZLDBCQUF5QjtJQUN6QiwyQ2xDMkZHLEVrQzFGTjtFQWpDVDtJQW1DWSxtQkFBa0IsRUFnQ3JCO0lBbkVUO01BcUNnQixZQUFXO01BQ1gsWUFBVztNQUNYLGFBQVk7TUFDWix1Q2xDd0RFO01rQ3ZERixtQkFBa0I7TUFDbEIsUUFBTztNQUNQLE9BQU07TUFDTixXQUFVO01BQ1YsV0FBVTtNQUNWLDhCQUE2QixFQUNoQztJQS9DYjtNQWlEZ0IsV0FBVTtNQUNWLGFBQVk7TUFDWixTQUFRO01BQ1IsVUFBUztNQUNULHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsNEJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixvQkFBbUI7TUFDbkIsZ0NBQXVCO1VBQXZCLHNCQUF1QjtjQUF2Qix3QkFBdUI7TUFDdkIscUNsQ29FRDtNa0NuRUMsZWxDbUVEO01rQ2xFQyxtQkFBa0I7TUFDbEIsVUFBUztNQUNULFNBQVE7TUFDUixtQkFBa0I7TUFDbEIscUIvQndCeUM7TStCdkJ6Qyx5Q0FBZ0M7VUFBaEMscUNBQWdDO2NBQWhDLGlDQUFnQztNQUNoQyxXQUFVO01BQ1YsMEJBQXlCLEVBQzVCOztBQWxFYjtFQXNFUSxrQi9CZ0JpRDtFK0JmakQsb0JsQ3lCVTtFa0N4QlYsZWxDb0RPO0VrQ25EUCxvQi9CYWlEO0VIUHZELDBCQUF5QjtFQUN6QixvQkFBbUI7RWtDTGIsMEJBQXlCO0VBQ3pCLHVCQUFzQjtFQUN0Qiw4QmxDK0NPLEVrQzlDVjs7QUMvRUw7RUFDSSxtQkFBa0IsRUFDckI7O0FDSEQ7RUFHUSxnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QixFQUMxQjs7QUFKTDtFQU1RLDBCcEM0RlUsRW9DeEViO0VBMUJMOztJQVNZLGVwQ3FIRyxFb0NwSE47RUFWVDtJQVlZLFdBQVU7SUFDVixpQkFBZ0IsRUFDbkI7RUFkVDtJQWdCWSxpQkFBZ0I7SUFDaEIsb0JqQ3VFNkM7SWlDdEU3QyxtQkFBMEIsRUFFN0I7SUFwQlQ7TUFtQnVDLGNBQWEsRUFBRztFQW5CdkQ7SUF1QmdCLGVwQ3VHRCxFb0N0R0Y7O0FBeEJiO0VBNEJRLGNqQzREaUQ7RWlDM0RqRCxpQkFBZ0I7RUFDaEIsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCLEVBQzFCOztBQ2hDTDtFQUVRLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsZ0NBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlO0VBQ2YscUJBQTRCO0VBQzVCLHNCQUE2QixFQUNoQzs7QUFQTDtFQVNRLGVBQWM7RUFDZCxnQkFBdUI7RUFDdkIsbUJBQWtCO0VBQ2xCLFlBQVcsRUFNZDtFakMrSUM7SWlDaktOO01BYXNDLFdBQVUsRUFLM0MsRUFBQTtFakNvSkM7SWlDdEtOO01BY3FDLGNBQWEsRUFJN0MsRUFBQTtFQWxCTDtJQWdCc0Isb0JyQ2dGSixFcUNoRmtDOztBQWhCcEQ7RUFvQlEsb0JsQ2tFaUQ7RWtDakVqRCxtQnJDc0hXO0VxQ3JIWCwyQnJDc0dPO0VxQ3JHUCwyQ3JDb0dPLEVxQ25HVjs7QUF4Qkw7RUEwQlEsbUJBQTBCLEVBQzdCOztBQTNCTDtFQTZCUSxxQmxDeURpRCxFa0N4RHBEOztBQzdCTDtFQUdRLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlO0VBQ2YscUJBQTRCO0VBQzVCLHNCQUE2QixFQUNoQzs7QUFQTDtFQVNRLFlBQVc7RUFFWCxnQkFBdUIsRUFDMUI7RWxDb0pDO0lrQ2hLTjtNQVVzQyxXQUFVLEVBRTNDLEVBQUE7O0FBWkw7RUFjUSx5Q3RDa0ZZO0VzQ2pGWixjbkNzRWlEO0VtQ3JFakQsYUFBWTtFQUNaLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUIsRUFLdEI7RUF2Qkw7SUFvQlksZXRDMkVNLEVzQ3pFVDtJQXRCVDtNQXFCa0IsbUNBQTBCO1VBQTFCLCtCQUEwQjtjQUExQiwyQkFBMEIsRUFBRzs7QUFyQi9DO0VBeUJRLDhCdEN1RVk7RXNDdEVaLHFCbkMyRGlELEVtQzFEcEQ7O0FBM0JMO0VBNkJRLGtCQUFpQjtFdENpRHZCLDBCQUF5QjtFQUN6QixvQkFBbUI7RXNDaERiLHFCbkNzRGlEO0VtQ3JEakQsMEJBQXlCLEVBSzVCO0VBckNMO0lBa0NZLHdDQUErQjtJQUEvQixnQ0FBK0I7SUFBL0IsNkRBQStCO0lBQy9CLHFCbkNrRDZDLEVtQ2pEaEQ7O0FDdkNULDBEQUEwRDtBbkNtS3BEO0VtQ2pLTjtJQUVRLGVBQWMsRUFFckIsRUFBQTs7QUFFRDtFQUVJLFlBQVc7RUFDWCwwQkFBeUIsRUFtSTVCO0VuQzBCSztJbUNoS047TUFLUSxtQnBDMkVpRDtNb0MxRWpELG9CcEMwRWlEO01vQ3pFakQseUJBQXFDO01BQ3JDLGdCQUFlLEVBOEh0QixFQUFBO0VuQ3FCSztJbUMzSk47TUFXUSxvQkFBbUI7TUFDbkIsdUN2QzhFVSxFdUM0Q2pCLEVBQUE7RUF0SUQ7SUFlUSxpQ3ZDMkVVO0l1QzFFVixldkMwRVU7SXVDekVWLGlCQUFnQjtJQUNoQiwwQkFBeUI7SXZDdUQvQiwwQkFBeUI7SUFDekIsb0JBQW1CO0l1Q3REYixjQUFhLEVBU2hCO0luQzhIQztNbUMzSk47UUFxQnFDLDRCQUEyQixFQVEzRCxFQUFBO0lBN0JMO01BdUJZLG1CcEN5RDZDO01ISHZELDJCQUEwQjtNQUMxQixvQkFBbUI7TXVDckRULGlCQUFnQjtNQUNoQixxQkFBb0MsRUFDdkM7RUEzQlQ7SUErQjBCLGtDdkMyRFIsRXVDM0RpRDtFQS9CbkU7SUFrQ1ksY0FBYSxFQUNoQjtFQW5DVDtJQXVDUSwyQ3ZDbURVO0l1Q2xEVixpQ3ZDbURZLEV1Q3hDZjtJQW5ETDtNQTBDWSxldkM0RUc7TXVDM0VILG9CcENxQzZDO01vQ3BDN0MscUJBQW9DO01BQ3BDLG9CdkM4Q1EsRXVDekNYO01uQ3lHSDtRbUMzSk47VUErQ2dCLG9CdkN1RUQ7VXVDdEVDLGV2QzJDSSxFdUN6Q1gsRUFBQTtFQWxEVDtJQXFEUSxtQkFBa0IsRUFhckI7SUFsRUw7TUF1RFksZXZDbUNNO011Q2xDTixjQUF1QixFQUMxQjtJQXpEVDtNQTJEWSxxQnBDcUI2QztNSFh2RCw0QkFBMkI7TUFDM0Isb0JBQW1CLEV1Q1RaO0lBN0RUO01BK0RZLGV2QzRCUSxFdUMxQlg7TUFqRVQ7UUFnRXNCLGV2QzBCSixFdUMxQjZCO0VBaEUvQztJQXFFUSxtQkFBa0I7SUFDbEIsb0JwQ1VpRCxFb0NDcEQ7SUFqRkw7TUF5RVksWXBDTzZDO01vQ043QyxhcENNNkM7TW9DTDdDLG1CQUFrQjtNQUNsQixjQUFxQjtNQUNyQixTQUFRO01BQ1Isb0NBQTJCO1VBQTNCLGdDQUEyQjtjQUEzQiw0QkFBMkI7TUFDM0Isb0VBQTRFLEVBQy9FO0VBaEZUO0lBb0ZRLHVCQUFzQjtJQUN0QixnQkFBdUI7SUFDdkIscUJwQ05pRDtJb0NPakQsaUJBQWdCO0lBQ2hCLGNBQWEsRUFXaEI7SUFuR0w7TUEwRlksbUJwQ1Y2QztNb0NXN0Msb0JBQW1CLEVBQ3RCO0lBNUZUO01BNkZ3QixvQnBDYmlDLEVvQ2FIO0luQzhEaEQ7TW1DM0pOO1FBZ0dZLG9CQUFtQixFQUcxQjtRQW5HTDtVQWlHa0MsNkN2Q1BoQixFdUNPbUUsRUFBQTtFQWpHckY7SXZDcUVFLDRCQUEyQjtJQUMzQixvQkFBbUI7SXVDaUNiLDRCdkNiVSxFdUNjYjtFQXhHTDtJQXlHTyxvQnBDekJrRCxFb0N5QnhCO0VBekdqQztJQTJHUSxtQnBDM0JpRDtJSGZ2RCw2QkFBNEI7SUFDNUIsb0JBQW1CO0l1QzJDYixvQkFBNkIsRUFDaEM7RUE5R0w7SUFpSFEsc0JBQXFCO0lBQ3JCLGdCcENsQ2lEO0lvQ21DakQsaUJwQ25DaUQ7SW9Db0NqRCxtQkFBa0I7SUFDbEIsa0N2QzNCVTtJdUM0QlYsc0JBQTRCO0lBQzVCLGFBQVksRUFDZjtFQXhITDtJQTBIUSxXQUFVLEVBS2I7SUEvSEw7TUE0SFksV0FBVTtNQUNWLDhCQUE2QixFQUNoQztFQTlIVDtJQWtJUSxxQnBDbERpRCxFb0NtRHBEO0VBbklMO0lBcUlXLGNBQWEsRUFBRzs7QUFHM0I7RUFDSSxtQnBDekRxRDtFb0MwRHJELDBCQUF5QixFQXlGNUI7RUEzRkQ7SUFJUSxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZTtJQUNmLDhCQUFxQjtRQUFyQixvQkFBcUI7WUFBckIsc0JBQXFCO0lBQ3JCLGdDQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCO0l2Q3RFN0IsMEJBQXlCO0lBQ3pCLG9CQUFtQjtJdUN1RWIseUJBQWtDLEVBQ3JDO0VBVkw7SUFZUSxtQnBDcEVpRDtJb0NxRWpELGVBQXNCLEVBSXpCO0luQ0VDO01tQ25CTjtRQWVZLG9CQUFtQyxFQUUxQyxFQUFBO0VBakJMO0lBbUJRLGVBQWM7SUFDZCxnQnBDNUVpRDtJSGZ2RCw2QkFBNEI7SUFDNUIsb0JBQW1CO0l1QzRGYix3QnBDOUVpRDtJb0MrRWpELHlCQUFnQjtZQUFoQixpQkFBZ0I7SUFDaEIsd0N2Q3RFVTtJdUN1RVYseUJwQ2pGaUQ7SW9Da0ZqRCxtQnBDbEZpRDtJb0NtRmpELHdDdkN6RVU7SXVDMEVWLDBCQUFxQyxFQUt4QztJQWpDTDtNQThCWSxjQUFhO01BQ2Isd0N2QzdFTSxFdUM4RVQ7RUFoQ1Q7SUFtQ1EsdUZBQW1HO0lBQ25HLG9CQUE2QixFQUNoQztFQXJDTDtJQXVDUSxnQkFBZTtJQUNmLHdCQUF1QztJQUN2QyxhQUFZO0lBQ1osMEJ2Q3ZGWTtJdUN3RlosZXZDN0RPO0lBN0NiLDBCQUF5QjtJQUN6QixvQkFBbUI7SXVDMkdiLDBCQUF5QjtJQUN6QixxQnBDdEdpRDtJb0N1R2pELHVCQUEyQztJQUMzQyxvQkFBbUI7SUFDbkIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw0QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixZQUFXLEVBWWQ7SUEvREw7TUFxRFksMEJ2Q25HTSxFdUNvR1Q7SUF0RFQ7TUF3RFksY0FBYTtNQUNiLGFBQVksRUFDZjtJQTFEVDtNQTREWSxhQUFZO01BQ1oscUJBQTRCLEVBQy9CO0VBOURUO0lBaUVRLG1CQUFrQjtJQUNsQixtQnBDMUhpRDtJb0MySGpELHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlO0lBQ2YseUJBQWdCO1FBQWhCLDhCQUFnQjtZQUFoQixpQkFBZ0IsRUFxQm5CO0luQ3ZFQztNbUNuQk47UUF1RVksbUJ2QzFFTztRdUMyRVAsd0N2Q3RITTtRdUN1SE4sY0FBdUIsRUFpQjlCLEVBQUE7SUExRkw7TUE0RVkseUJBQW9DLEVBR3ZDO01uQ3ZESDtRbUN4Qk47VUE4RXlDLHlCQUFvQyxFQUNwRSxFQUFBO0lBL0VUO01Ba0ZZLG1CQUFrQjtNQUNsQixVcEMzSTZDO01vQzRJN0MsWXBDNUk2QztNb0M2STdDLGV2Q2xJUTtNdUNtSVIsY0FBYSxFQUdoQjtNbkN0RUg7UW1DbkJOO1VBdUYwQyxzQkFBcUIsRUFFdEQsRUFBQTtNQXpGVDtRQXdGc0IsZXZDdElKLEV1Q3NJNkI7O0FBSy9DO0VBQ0ksa0JBQWlCO0VBQ2pCLG1CcEN2SnFEO0VvQ3dKckQscUJBQW9CO0VBQ3BCLGV2QzlJZ0IsRXVDZ0puQjtFQU5EO0lBS2EsZXZDaEpLLEV1Q2dKbUI7O0FDaFByQztFQUdRLG1CQUFrQixFQUtyQjtFQVJMO0lBSTZCLG9CckNrRjRCLEVxQ2xGRTs7QUFKM0Q7RUFVUSwwQ3JDNEVpRDtFcUMzRWpELDBCeENpSE87RXdDaEhQLDJDeEMrR087RXdDOUdQLGVBQWM7RUFDZCwwQkFBeUI7RUFDekIsbUJ4QzRIVyxFd0M3RmQ7RUE5Q0w7SUFpQlksWUFBVztJQUNYLGljQUEwYztJQUMxYyxlckNtRTZDO0lxQ2xFN0MsZ0JyQ2tFNkM7SXFDakU3QyxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLFVBQVM7SUFDVCxtQkFBa0I7SUFDbEIsdUNBQXNDLEVBQ3pDO0VBMUJUO0lBNEJZLDBCeENvRU0sRXdDbEVUO0lBOUJUO01BNkJvQixleEMrRkwsRXdDL0ZxQjtFQTdCcEM7SUFnQ1ksZXhDZ0VNO0l3Qy9ETix3QnJDcUQ2QztJcUNwRDdDLDRCQUEyQjtJQUMzQixxQnJDbUQ2QyxFcUMvQ2hEO0lwQytISDtNb0N0S047UUFxQ2dCLG9CQUEyQixFQUVsQyxFQUFBO0VBdkNUO0lBeUNZLDRCeEN1RE07SXdDdEROLHFCckM0QzZDO0lxQzNDN0Msa0JBQWlCO0lBQ2pCLDRCQUEyQixFQUM5Qjs7QUM5Q1Q7RXpDZ0ZFLDBCQUF5QjtFQUN6QixvQkFBbUI7RXlDN0ViLGV6QzhGWSxFeUM1RmY7RUFOTDtJQUtrQixlekM0RkEsRXlDNUZ3Qjs7QXJDa0twQztFcUN2S047O0lBYTBDLG1CQUFrQixFQUN2RCxFQUFBOztBQWRMO0VBZVMsb0J0Q3dFZ0QsRXNDeEVsQjs7QUFmdkM7RUFpQlEsMEJBQTJDLEVBRTlDO0VyQ29KQztJcUN2S047TUFrQnNDLHdCQUF5QyxFQUMxRSxFQUFBOztBQW5CTDtFQW9CUywwQkFBMkMsRUFBRzs7QUNwQnZEO0VBRUksMkMxQzhHcUI7RTBDN0dyQixtQnZDb0ZxRDtFdUNuRnJELG1CMUN3SWUsRTBDaEVsQjtFdENzRks7SXNDbEtOO01BS2tDLGNBQXVCLEVBdUV4RCxFQUFBO0VBNUVEO0lBT1Esc0JBQXFCO0lBQ3JCLGVBQWMsRUFNakI7SUFkTDtNQVdrQyxjQUFhLEVBQUk7RUFYbkQ7SUFnQlEsMEJBQXlCO0lBQ3pCLHFCdkNzRWlEO0l1Q3JFakQsZ0N2QzBFSztJdUN6RUwsc0JBQXFCO0lBQ3JCLGUxQzZFVSxFMEM1RWI7RUFyQkw7SUF1QlEsWUFBVztJQUNYLDBCMUNxR087STBDcEdQLFVBQVM7SUFDVCxjdkM2RGlEO0l1QzVEakQsbUIxQ2lIVyxFMEMxR2Q7SUFsQ0w7TUE2QlksMEIxQ3FFUSxFMENwRVg7SUE5QlQ7TUFnQ1ksNEMxQ2dGYSxFMEMvRWhCO0VBakNUO0lBdUNRLGUxQzJEWTtJMEMxRFosb0JBQTJCLEVBQzlCO0VBekNMO0lBMkNRLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsZ0NBQXVCO1FBQXZCLHNCQUF1QjtZQUF2Qix3QkFBdUI7SUFDdkIsb0JBQTJCLEVBQzlCO0VBOUNMO0lBK0NzQixpQkFBMEIsRUFBSTtFQS9DcEQ7SUFpRFEsb0IxQ2lEWTtJMENoRFosZTFDMkVPO0kwQzFFUCxnQkFBdUI7SUFDdkIsbUIxQ3dGVztJMEN2RlgsbUJBQWtCO0lBQ2xCLDBCQUF5QjtJQUN6QixvQnZDZ0NpRCxFdUMvQnBEO0VBeERMO0lBMERRLGUxQ3dDWTtJMEN2Q1osMEJBQXlCO0lBQ3pCLG1CQUFrQjtJQUNsQiwwQkFBeUI7SUFDekIscUJ2Q3lCaUQ7SXVDeEJqRCxtQkFBMEI7SUFDMUIsc0J2Q3VCaUQsRXVDWnBEO0lBM0VMO01Ba0VZLFlBQVc7TUFDWCxtU0FBa1M7TUFDbFMsbUJBQWtCO01BQ2xCLFNBQVE7TUFDUixRQUFPO01BQ1AsZXZDZ0I2QztNdUNmN0MsZXZDZTZDO011Q2Q3QyxtREFBMEM7VUFBMUMsK0NBQTBDO2NBQTFDLDJDQUEwQyxFQUM3Qzs7QXRDNkZIO0V1Q3BLTjtJQUdRLHdCQUE2QjtJQUM3Qix5QkFBOEIsRUFtRXJDLEVBQUE7O0FBdkVEO0VBT1Esc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixnQ0FBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2Qix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUFLbEI7RXZDaUpDO0l1Qy9KTjtNQVdZLHdCQUE2QjtNQUM3Qix5QkFBOEIsRUFFckMsRUFBQTs7QUFkTDtFQXVCUSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLGdDQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLHFCQUFZO01BQVoscUJBQVk7VUFBWixhQUFZO0VBQ1osdUJBQWM7TUFBZCxxQkFBYztVQUFkLGVBQWM7RUFDZCxXQUFVO0VBRVYsbUJBQXdCLEVBd0MzQjtFQXRFTDtJQWlCWSxxQkFBWTtRQUFaLHFCQUFZO1lBQVosYUFBWSxFQUlmO0l2QytJSDtNdUNwS047UUFtQmdCLFlBQVcsRUFFbEIsRUFBQTtFdkMwSUg7SXVDL0pOO01BZ0NZLGNBQWEsRUFzQ3BCLEVBQUE7RUF0RUw7SUFtQ1ksbUJBQWtCO0lBQ2xCLGlCQUFnQixFQTZCbkI7SUFqRVQ7TUF1Q2dCLFlBQVc7TUFDWCxXQUFVO01BQ1YsOEJBQTZCO01BQzdCLGFBQVk7TUFDWixtQkFBa0IsRUFDckI7SUE1Q2I7TUE4Q2dCLGFBQVk7TUFDWCxvQnhDcUN3QztNd0NuQ3pDLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsZ0NBQXVCO1VBQXZCLHNCQUF1QjtjQUF2Qix3QkFBdUI7TUFDdkIsNEJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixvQkFBbUI7TUFDbkIsZTNDc0VEO00yQ3JFQyxXQUFVO00xQ2tNeEIsbUJBQWtCO01BQ2xCLFNBQVE7TUFDUixVQUFTO01BQ1QseUNBQWdDO1VBQWhDLHFDQUFnQztjQUFoQyxpQ0FBZ0MsRTBDbk1yQjtJQXZEYjtNQXlEZ0IsYUFBWTtNQUNaLFlBQVc7TUFDWCxVQUFTO01BQ1QsU0FBUTtNQUNSLGdDM0M0REQsRTJDM0RGO0lBOURiO01BZ0U2QixXQUFVLEVBQUc7RUFoRTFDO0lBbUVZLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2pCOztBQ3hFVCw4QkFBOEI7QUFFOUIsc0RBQXNEO0FBRXREOztFQUVDLFdBQVUsRUFDVjs7QUFDRDtFQUNDLFdBQVU7RUFDViwwQkFBeUIsRUFDekI7O0FBQ0Q7RUFDQyxtQkFBa0IsRUFDbEIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3JvYm90b3JlZ3VsYXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3JvYm90by1yZWd1bGFyLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3JvYm90by1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvcm9ib3RvLWJvbGQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvcm9ib3RvLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdyb2JvdG9tZWRpdW0nO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3JvYm90by1tZWRpdW0td2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvcm9ib3RvLW1lZGl1bS13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3JvYm90b2xpZ2h0JztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9yb2JvdG8tbGlnaHQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvcm9ib3RvLWxpZ2h0LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncm9ib3RvYmxhY2snO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3JvYm90by1ibGFjay13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9yb2JvdG8tYmxhY2std2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxLCAuc2VjdGlvbnRpdGxlIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NTBlbSZ4bGFyZ2U9NjRlbSZ4eGxhcmdlPTc3LjVlbSZ4eHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiBcInJvYm90b3JlZ3VsYXJcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAyQjU4O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLCBoMSwgLnNlY3Rpb250aXRsZSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5zZWN0aW9udGl0bGUsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwicm9ib3RvcmVndWxhclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAyQjU4O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCAuc2VjdGlvbnRpdGxlIHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjMkYzNjNEOyB9XG5cbmgxLCAuc2VjdGlvbnRpdGxlLCAuaDEge1xuICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTY7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE2O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE2O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuc2VjdGlvbnRpdGxlLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzAwMkI1ODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICNEQzJCMUM7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMkYzNjNEO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzJGMzYzRDsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMwMDJCNTg7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICMwMDJCNTg7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMDAwMDAwO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyRjM2M0Q7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NzUyNjc7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NTI2NztcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzAwMkI1ODsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMkI1ODtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBmb250LWZhbWlseTogXCJyaWZ0XCI7XG4gIHBhZGRpbmc6IDEuNGVtIDIuNWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAyQjU4OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0biwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idG4sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGEsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b246Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dDpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyQjU4O1xuICAgIGNvbG9yOiAjMDAyQjU4OyB9XG4gIC5idXR0b24udGlueSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLnRpbnkuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEudGlueSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC50aW55W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5zbWFsbCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyBhLmJ0biwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmJ0biwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5zbWFsbFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAubGFyZ2UuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEubGFyZ2UsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQubGFyZ2VbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5leHBhbmRlZC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5leHBhbmRlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5leHBhbmRlZFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAucHJpbWFyeS5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5wcmltYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkI1ODtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLnByaW1hcnkuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEucHJpbWFyeTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5wcmltYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24ucHJpbWFyeTpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLnByaW1hcnkuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEucHJpbWFyeTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5wcmltYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMjI0NjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuc2Vjb25kYXJ5LmJ0biwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLnNlY29uZGFyeSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RDMkIxQztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuc2Vjb25kYXJ5LmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLnNlY29uZGFyeTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5zZWNvbmRhcnk6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5zZWNvbmRhcnkuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuc2Vjb25kYXJ5OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LnNlY29uZGFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMDIyMTY7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5zdWNjZXNzLmJ0biwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLnN1Y2Nlc3MsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkVCNTMzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuc3VjY2Vzcy5idG46aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5zdWNjZXNzOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LnN1Y2Nlc3M6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuc3VjY2Vzcy5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5zdWNjZXNzOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5MTI5O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAud2FybmluZy5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS53YXJuaW5nLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RDMwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLndhcm5pbmcuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEud2FybmluZzpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC53YXJuaW5nOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24ud2FybmluZzpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLndhcm5pbmcuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEud2FybmluZzpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC53YXJuaW5nOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M2YTkwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uYWxlcnQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5hbGVydC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5hbGVydCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5hbGVydFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUMxRDI0O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmFsZXJ0LmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmFsZXJ0OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmFsZXJ0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uYWxlcnQ6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5hbGVydC5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5hbGVydDpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5hbGVydDpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNDEwMTY7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG5bZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGFbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmRpc2FibGVkLmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmRpc2FibGVkOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kaXNhYmxlZC5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZDpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZDpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0bltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYVtkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuYnRuW2Rpc2FibGVkXTpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhW2Rpc2FibGVkXTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF06aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG5bZGlzYWJsZWRdOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGFbZGlzYWJsZWRdOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMwMDJCNTg7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kaXNhYmxlZC5wcmltYXJ5LmJ0biwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmRpc2FibGVkLnByaW1hcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuYnRuW2Rpc2FibGVkXS5wcmltYXJ5LCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGFbZGlzYWJsZWRdLnByaW1hcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQucHJpbWFyeS5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZC5wcmltYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQucHJpbWFyeS5idG46aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLnByaW1hcnk6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQucHJpbWFyeS5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLnByaW1hcnk6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0bltkaXNhYmxlZF0ucHJpbWFyeSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhW2Rpc2FibGVkXS5wcmltYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG5bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYVtkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF0ucHJpbWFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuYnRuW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGFbZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDJCNTg7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kaXNhYmxlZC5zZWNvbmRhcnkuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuZGlzYWJsZWQuc2Vjb25kYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG5bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmRpc2FibGVkLnNlY29uZGFyeS5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZC5zZWNvbmRhcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQuc2Vjb25kYXJ5LmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kaXNhYmxlZC5zZWNvbmRhcnkuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLnNlY29uZGFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG5bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG5bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG5bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RDMkIxQztcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kaXNhYmxlZC5zdWNjZXNzLmJ0biwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmRpc2FibGVkLnN1Y2Nlc3MsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuYnRuW2Rpc2FibGVkXS5zdWNjZXNzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGFbZGlzYWJsZWRdLnN1Y2Nlc3MsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQuc3VjY2Vzcy5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZC5zdWNjZXNzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQuc3VjY2Vzcy5idG46aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQuc3VjY2Vzcy5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0bltkaXNhYmxlZF0uc3VjY2VzcywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhW2Rpc2FibGVkXS5zdWNjZXNzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG5bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYVtkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uc3VjY2Vzczpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuYnRuW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGFbZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RUI1MzM7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQud2FybmluZy5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZC53YXJuaW5nLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0bltkaXNhYmxlZF0ud2FybmluZywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhW2Rpc2FibGVkXS53YXJuaW5nLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmRpc2FibGVkLndhcm5pbmcuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuZGlzYWJsZWQud2FybmluZywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmRpc2FibGVkLndhcm5pbmcuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmRpc2FibGVkLndhcm5pbmcuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG5bZGlzYWJsZWRdLndhcm5pbmcsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYVtkaXNhYmxlZF0ud2FybmluZywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF0ud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuYnRuW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGFbZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLndhcm5pbmc6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0bltkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhEMzAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kaXNhYmxlZC5hbGVydC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZC5hbGVydCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0bltkaXNhYmxlZF0uYWxlcnQsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYVtkaXNhYmxlZF0uYWxlcnQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kaXNhYmxlZC5hbGVydC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kaXNhYmxlZC5hbGVydCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZGlzYWJsZWQuYWxlcnQuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQuYWxlcnQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmRpc2FibGVkLmFsZXJ0LmJ0bjpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuYnRuW2Rpc2FibGVkXS5hbGVydCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhW2Rpc2FibGVkXS5hbGVydCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG5bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGFbZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5hbGVydDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0bltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYVtkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLmFsZXJ0OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUMxRDI0O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmhvbGxvdywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3csIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LmJ0biwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdzpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3c6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5kaXNhYmxlZC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LmRpc2FibGVkLmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuZGlzYWJsZWQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuZGlzYWJsZWQuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5kaXNhYmxlZDpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuYnRuW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvd1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuYnRuW2Rpc2FibGVkXTpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93W2Rpc2FibGVkXTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuYnRuW2Rpc2FibGVkXTpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93W2Rpc2FibGVkXTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdzpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3c6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LmJ0bjpob3Zlci5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3c6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LmJ0bjpob3ZlcltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdzpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuYnRuOmZvY3VzLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdzpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuYnRuOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnksIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cucHJpbWFyeS5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cucHJpbWFyeSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDJCNTg7XG4gICAgICBjb2xvcjogIzAwMkI1ODsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5wcmltYXJ5LmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5wcmltYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cucHJpbWFyeS5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cucHJpbWFyeTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cucHJpbWFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNjJjO1xuICAgICAgICBjb2xvcjogIzAwMTYyYzsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LnByaW1hcnkuYnRuOmhvdmVyLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cucHJpbWFyeS5idG46aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LnByaW1hcnkuYnRuOmZvY3VzLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cucHJpbWFyeS5idG46Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAyQjU4O1xuICAgICAgICAgIGNvbG9yOiAjMDAyQjU4OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LnNlY29uZGFyeS5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cuc2Vjb25kYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjREMyQjFDO1xuICAgICAgY29sb3I6ICNEQzJCMUM7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5zZWNvbmRhcnkuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5zZWNvbmRhcnkuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnNlY29uZGFyeTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZTE2MGU7XG4gICAgICAgIGNvbG9yOiAjNmUxNjBlOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5zZWNvbmRhcnkuYnRuOmhvdmVyLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuc2Vjb25kYXJ5LmJ0bjpob3ZlcltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuc2Vjb25kYXJ5LmJ0bjpmb2N1cy5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LnNlY29uZGFyeS5idG46Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RDMkIxQztcbiAgICAgICAgICBjb2xvcjogI0RDMkIxQzsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuc3VjY2Vzcy5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cuc3VjY2VzcywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICBjb2xvcjogIzZFQjUzMzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5zdWNjZXNzLmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuc3VjY2Vzcy5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cuc3VjY2Vzczpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc3VjY2Vzczpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzc1YjFhO1xuICAgICAgICBjb2xvcjogIzM3NWIxYTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LnN1Y2Nlc3MuYnRuOmhvdmVyLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuc3VjY2Vzcy5idG46aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LnN1Y2Nlc3MuYnRuOmZvY3VzLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuc3VjY2Vzcy5idG46Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNkVCNTMzO1xuICAgICAgICAgIGNvbG9yOiAjNkVCNTMzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy53YXJuaW5nLmJ0biwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdy53YXJuaW5nLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Y4RDMwMDtcbiAgICAgIGNvbG9yOiAjRjhEMzAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93Lndhcm5pbmcuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmc6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy53YXJuaW5nLmJ0bjpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdy53YXJuaW5nOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy53YXJuaW5nOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3YzZhMDA7XG4gICAgICAgIGNvbG9yOiAjN2M2YTAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cud2FybmluZy5idG46aG92ZXIuZGlzYWJsZWQsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy53YXJuaW5nLmJ0bjpob3ZlcltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cud2FybmluZy5idG46Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy53YXJuaW5nLmJ0bjpmb2N1c1tkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGOEQzMDA7XG4gICAgICAgICAgY29sb3I6ICNGOEQzMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5hbGVydC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cuYWxlcnQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VDMUQyNDtcbiAgICAgIGNvbG9yOiAjRUMxRDI0OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5hbGVydC5idG46aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuaG9sbG93LmFsZXJ0LmJ0bjpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdy5hbGVydDpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuYWxlcnQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzdhMGEwZTtcbiAgICAgICAgY29sb3I6ICM3YTBhMGU7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuYWxlcnQuYnRuOmhvdmVyLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5ob2xsb3cuYWxlcnQuYnRuOmhvdmVyW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5hbGVydC5idG46Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmhvbGxvdy5hbGVydC5idG46Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFQzFEMjQ7XG4gICAgICAgICAgY29sb3I6ICNFQzFEMjQ7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmJ0biwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXI6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXI6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmJ0bjpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuZGlzYWJsZWQuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmRpc2FibGVkLmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmRpc2FibGVkOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5kaXNhYmxlZC5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5kaXNhYmxlZDpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmJ0bltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYnRuW2Rpc2FibGVkXTpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhcltkaXNhYmxlZF06aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5idG5bZGlzYWJsZWRdOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXJbZGlzYWJsZWRdOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyW2Rpc2FibGVkXTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhcjpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhcjpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYnRuOmhvdmVyLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXI6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5idG46aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYnRuOmZvY3VzLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXI6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5idG46Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuZGlzYWJsZWQuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5idG5bZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXI6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXI6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmJ0bjpob3Zlci5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYnRuOmhvdmVyW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhcjpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmJ0bjpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5idG46Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhcjpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmJ0bjpmb2N1c1tkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXI6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnByaW1hcnkuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIucHJpbWFyeSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMkI1ODtcbiAgICAgIGNvbG9yOiAjMDAyQjU4OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5wcmltYXJ5LmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5wcmltYXJ5LmJ0bjpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNjJjO1xuICAgICAgICBjb2xvcjogIzAwMTYyYzsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5wcmltYXJ5LmJ0bjpob3Zlci5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIucHJpbWFyeS5idG46aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIucHJpbWFyeS5idG46Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnByaW1hcnkuYnRuOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDJCNTg7XG4gICAgICAgICAgY29sb3I6ICMwMDJCNTg7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnByaW1hcnkuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIucHJpbWFyeSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5wcmltYXJ5LmJ0bltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5wcmltYXJ5LmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5wcmltYXJ5LmJ0bjpob3Zlci5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIucHJpbWFyeS5idG46aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIucHJpbWFyeS5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5wcmltYXJ5OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnk6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIucHJpbWFyeS5idG46Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnByaW1hcnkuYnRuOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zZWNvbmRhcnkuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc2Vjb25kYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEQzJCMUM7XG4gICAgICBjb2xvcjogI0RDMkIxQzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zZWNvbmRhcnkuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnNlY29uZGFyeS5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZTE2MGU7XG4gICAgICAgIGNvbG9yOiAjNmUxNjBlOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuc2Vjb25kYXJ5LmJ0bjpob3Zlci5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuc2Vjb25kYXJ5LmJ0bjpob3ZlcltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zZWNvbmRhcnkuYnRuOmZvY3VzLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zZWNvbmRhcnkuYnRuOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjREMyQjFDO1xuICAgICAgICAgIGNvbG9yOiAjREMyQjFDOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnNlY29uZGFyeS5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5zZWNvbmRhcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLmJ0biwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuc2Vjb25kYXJ5LmJ0bltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zZWNvbmRhcnkuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnNlY29uZGFyeS5idG46aG92ZXIuZGlzYWJsZWQsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnNlY29uZGFyeS5idG46aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuc2Vjb25kYXJ5LmJ0bjpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zZWNvbmRhcnkuYnRuOmZvY3VzLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zZWNvbmRhcnkuYnRuOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnN1Y2Nlc3MuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc3VjY2VzcywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZFQjUzMztcbiAgICAgIGNvbG9yOiAjNkVCNTMzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zdWNjZXNzLmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zdWNjZXNzLmJ0bjpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzc1YjFhO1xuICAgICAgICBjb2xvcjogIzM3NWIxYTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zdWNjZXNzLmJ0bjpob3Zlci5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuc3VjY2Vzcy5idG46aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuc3VjY2Vzcy5idG46Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnN1Y2Nlc3MuYnRuOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICAgICAgY29sb3I6ICM2RUI1MzM7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnN1Y2Nlc3MuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc3VjY2VzcywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zdWNjZXNzLmJ0bltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zdWNjZXNzLmJ0bjpob3ZlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5zdWNjZXNzLmJ0bjpob3Zlci5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuc3VjY2Vzcy5idG46aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuc3VjY2Vzcy5idG46Zm9jdXMsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5zdWNjZXNzOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuc3VjY2Vzcy5idG46Zm9jdXMuZGlzYWJsZWQsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLnN1Y2Nlc3MuYnRuOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIud2FybmluZy5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci53YXJuaW5nLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRjhEMzAwO1xuICAgICAgY29sb3I6ICNGOEQzMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLndhcm5pbmcuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIud2FybmluZzpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLndhcm5pbmcuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIud2FybmluZzpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3YzZhMDA7XG4gICAgICAgIGNvbG9yOiAjN2M2YTAwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLndhcm5pbmcuYnRuOmhvdmVyLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci53YXJuaW5nLmJ0bjpob3ZlcltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci53YXJuaW5nLmJ0bjpmb2N1cy5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIud2FybmluZy5idG46Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Y4RDMwMDtcbiAgICAgICAgICBjb2xvcjogI0Y4RDMwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIud2FybmluZy5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci53YXJuaW5nLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIud2FybmluZy5kaXNhYmxlZC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmcuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLndhcm5pbmcuYnRuW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLndhcm5pbmcuYnRuOmhvdmVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIud2FybmluZzpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLndhcm5pbmcuYnRuOmhvdmVyLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci53YXJuaW5nLmJ0bjpob3ZlcltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci53YXJuaW5nLmJ0bjpmb2N1cywgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZzpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci53YXJuaW5nLmJ0bjpmb2N1cy5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIud2FybmluZy5idG46Zm9jdXNbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYWxlcnQuYnRuLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuYWxlcnQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUMxRDI0O1xuICAgICAgY29sb3I6ICNFQzFEMjQ7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5hbGVydC5idG46aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5hbGVydDpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYWxlcnQuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuYWxlcnQ6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzdhMGEwZTtcbiAgICAgICAgY29sb3I6ICM3YTBhMGU7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmFsZXJ0LmJ0bjpob3Zlci5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYWxlcnQuYnRuOmhvdmVyW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmFsZXJ0LmJ0bjpmb2N1cy5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYWxlcnQuYnRuOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VDMUQyNDtcbiAgICAgICAgICBjb2xvcjogI0VDMUQyNDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmFsZXJ0LmJ0biwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLmFsZXJ0LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5hbGVydC5kaXNhYmxlZC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmFsZXJ0LmJ0bltkaXNhYmxlZF0sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5hbGVydC5idG46aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5jbGVhci5hbGVydDpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYWxlcnQuYnRuOmhvdmVyLmRpc2FibGVkLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5jbGVhci5hbGVydC5idG46aG92ZXJbZGlzYWJsZWRdLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYWxlcnQuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuY2xlYXIuYWxlcnQ6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmNsZWFyLmFsZXJ0LmJ0bjpmb2N1cy5kaXNhYmxlZCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuY2xlYXIuYWxlcnQuYnRuOmZvY3VzW2Rpc2FibGVkXSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kcm9wZG93bi5idG46OmFmdGVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuZHJvcGRvd246OmFmdGVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRyb3Bkb3duW3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAyLjVlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kcm9wZG93bi5ob2xsb3cuYnRuOjphZnRlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5LmJ0bjo6YWZ0ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDJCNTg7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnkuYnRuOjphZnRlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNEQzJCMUM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzcy5idG46OmFmdGVyLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGEuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNkVCNTMzOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZHJvcGRvd24uaG9sbG93Lndhcm5pbmcuYnRuOjphZnRlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kcm9wZG93bi5ob2xsb3cud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0Y4RDMwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5kcm9wZG93bi5ob2xsb3cuYWxlcnQuYnRuOjphZnRlciwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93LmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRUMxRDI0OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5hcnJvdy1vbmx5LmJ0bjo6YWZ0ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5hcnJvdy1vbmx5OjphZnRlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5hcnJvdy1vbmx5W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgYS5idG46aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYTpob3ZlciwgYS5idXR0b246Zm9jdXMsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIGEuYnRuOmZvY3VzLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMDAyQjU4O1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwMkI1ODtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjREMyQjFDO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjNkVCNTMzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjhEMzAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI0VDMUQyNDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE2MDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTcwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTcwOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTgwOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTcwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTcwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTgwOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjByZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjByZW0pOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHJlbSk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcmVtKTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjByZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHJlbSk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcmVtKTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjByZW0pOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyODBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yODBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjgwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI4MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI4MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjByZW07IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjByZW07IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjByZW07IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjByZW07IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eHhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4eGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHh4bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHh4bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4eGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwcmVtO1xuICBiYWNrZ3JvdW5kOiAjMDAyQjU4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC4yODg2N3JlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMjByZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMi41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDJCNTg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjMzMzMzcmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAyQjU4O1xuICAgIGJvdHRvbTogMTAwJTsgfVxuICAudG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuMzMzMzNyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMDJCNTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjMzMzMzcmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAyQjU4O1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjMzMzMzcmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAyQjU4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3Ny40Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcuNDM3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcuNDM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLnRpdGxlLWJhcixcbiAgLm1vYmlsZS1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ny40Mzc1ZW0pIHtcbiAgLmRlc2t0b3AtbWVudSxcbiAgLnNpdGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4udGl0bGUtYmFyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgaGVpZ2h0OiA4MHB4OyB9XG4gIC50aXRsZS1iYXIgPiAqIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uLWJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyQjU4O1xuICAgIGhlaWdodDogODBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudGl0bGUtYmFyIC5tZW51LWljb24tYnV0dG9uOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICNEQzJCMUM7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIC50b3AtYmFyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBoZWlnaHQ6IDYuODc1cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnRvcC1iYXIgdWwgKiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC50b3AtYmFyIHVsIGxpIHtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC50b3AtYmFyIHVsIGxpIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjMDAyQjU4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdyb2JvdG9tZWRpdW0nO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW46IDAgMC41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgICAudG9wLWJhciB1bCBsaSBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07IH0gfVxuICAgICAgICAudG9wLWJhciB1bCBsaSBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGhlaWdodDogMC4zMTI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjREMyQjFDO1xuICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTsgfVxuICAgICAgLnRvcC1iYXIgdWwgbGlbY2xhc3MqPVwiY3VycmVudFwiXSA+IGEsXG4gICAgICAudG9wLWJhciB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNEQzJCMUM7IH1cbiAgICAgICAgLnRvcC1iYXIgdWwgbGlbY2xhc3MqPVwiY3VycmVudFwiXSA+IGE6YWZ0ZXIsXG4gICAgICAgIC50b3AtYmFyIHVsIGxpIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAudG9wLWJhciB1bCBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC50b3AtYmFyIHVsIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgLmRyb3Bkb3duIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnRvcC1iYXIgdWwgbGkgLmRyb3Bkb3duIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgICAgLnRvcC1iYXIgdWwgbGkgLmRyb3Bkb3duIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG5cbi5zZXJ2aWNlbmF2LXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuc2VydmljZW5hdi13cmFwcGVyIC5idXR0b24sIC5zZXJ2aWNlbmF2LXdyYXBwZXIgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0biwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLnNlcnZpY2VuYXYtd3JhcHBlciAuYnRuLCAuc2VydmljZW5hdi13cmFwcGVyIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiAuc2VydmljZW5hdi13cmFwcGVyIGEsIC5zZXJ2aWNlbmF2LXdyYXBwZXIgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIC5zZXJ2aWNlbmF2LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6ICdyb2JvdG9ib2xkJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuc2VydmljZW5hdi13cmFwcGVyIC5tZW51LXNlcnZpY2VuYXZpLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH1cbiAgICAuc2VydmljZW5hdi13cmFwcGVyIC5tZW51LXNlcnZpY2VuYXZpLWNvbnRhaW5lciBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgY29sb3I6ICMwMDJCNTg7XG4gICAgICBmb250LWZhbWlseTogJ3JvYm90b2JvbGQnO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cbiAgICAuc2VydmljZW5hdi13cmFwcGVyIC5tZW51LXNlcnZpY2VuYXZpLWNvbnRhaW5lciB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnNlcnZpY2VuYXYtd3JhcHBlciAubWVudS1zZXJ2aWNlbmF2aS1jb250YWluZXIgbGlbY2xhc3MqPVwiY3VycmVudFwiXSBhLFxuICAgIC5zZXJ2aWNlbmF2LXdyYXBwZXIgLm1lbnUtc2VydmljZW5hdmktY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNEQzJCMUM7IH1cblxuLm1vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTsgfVxuICAub2ZmLWNhbnZhcyAucmVkLWhvbGRlciB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5vZmYtY2FudmFzIC5yZWQtaG9sZGVyIC5jbG9zZS1idXR0b24ge1xuICAgICAgY29sb3I6ICNEQzJCMUM7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5yZWQtaG9sZGVyIC5jbG9zZS1idXR0b246aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiAjMDAyQjU4OyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAub2ZmLWNhbnZhcyAuc2lkZWJhci1jYW52YXMtbmF2IHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAub2ZmLWNhbnZhcyAubGFuZ3N3aXRjaCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAub2ZmLWNhbnZhcyAubGFuZ3N3aXRjaCBhIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0tY2FsYygyMCk7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiAtNXB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXdyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi13cmFwcGVyIHVsIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi13cmFwcGVyIC5idXR0b24sIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXdyYXBwZXIgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0biwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtd3JhcHBlciAuYnRuLCAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi13cmFwcGVyIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi13cmFwcGVyIGEsIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXdyYXBwZXIgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMDAwcHg7IH1cbiAgLm9mZi1jYW52YXMgdWwubWVudS52ZXJ0aWNhbCB7XG4gICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzIHVsLm1lbnUudmVydGljYWwgbGkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgNDMsIDg4LCAwLjEpOyB9XG4gICAgICAub2ZmLWNhbnZhcyB1bC5tZW51LnZlcnRpY2FsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCA0MywgODgsIDAuMSk7IH1cbiAgICAgIC5vZmYtY2FudmFzIHVsLm1lbnUudmVydGljYWwgbGkgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvbWVkaXVtJztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMnJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICMwMDJCNTg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI0ZGRkZGRjsgfVxuICAgIC5vZmYtY2FudmFzIHVsLm1lbnUudmVydGljYWwgbGlbY2xhc3MqPVwiY3VycmVudFwiXSBhLFxuICAgIC5vZmYtY2FudmFzIHVsLm1lbnUudmVydGljYWwgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0RDMkIxQztcbiAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI0RDMkIxQzsgfVxuXG5ib2R5I3RpbnltY2Uge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogOTByZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4udWktZGF0ZXBpY2tlciB7XG4gIHdpZHRoOiAxN2VtO1xuICBwYWRkaW5nOiAuNWVtIC41ZW0gMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDE0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAuMmVtIDA7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMS44ZW07XG4gICAgaGVpZ2h0OiAxLjhlbTsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHtcbiAgICBsZWZ0OiAycHg7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gICAgcmlnaHQ6IDJweDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyOmJlZm9yZSxcbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldjpob3ZlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNEQzJCMUM7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldjpiZWZvcmUsIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIj5cIjtcbiAgICBiYWNrZ3JvdW5kOiAjNzU3RThEO1xuICAgIHdpZHRoOiAxLjM3NXJlbTtcbiAgICBoZWlnaHQ6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvYmxhY2snO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgcGFkZGluZzogMCAwIDFweCAxcHg7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiPFwiOyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbiwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgb3BhY2l0eTogMDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDIuM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBtYXJnaW46IDFweCAwOyB9XG4gIC51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLCAudWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIHtcbiAgICB3aWR0aDogNDUlOyB9XG4gIC51aS1kYXRlcGlja2VyIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBtYXJnaW46IDAgMCAuNGVtOyB9XG4gIC51aS1kYXRlcGlja2VyIHRoIHtcbiAgICBwYWRkaW5nOiAuN2VtIC4zZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJvcmRlcjogMDsgfVxuICAudWktZGF0ZXBpY2tlciB0ZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDFweDsgfVxuICAgIC51aS1kYXRlcGlja2VyIHRkIHNwYW4sIC51aS1kYXRlcGlja2VyIHRkIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAuMmVtO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBtYXJnaW46IC43ZW0gMCAwIDA7XG4gICAgcGFkZGluZzogMCAuMmVtO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luOiAuNWVtIC4yZW0gLjRlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtIC42ZW07XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuXG4uZGF0ZXJhbmdlcGlja2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICB3aWR0aDogMjc4cHg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogN3B4O1xuICB0b3A6IDEwMHB4O1xuICBsZWZ0OiAyMHB4O1xuICB6LWluZGV4OiAzMDAxO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LWZhbWlseTogJ3JvYm90b3JlZ3VsYXInO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgLmRhdGVyYW5nZXBpY2tlcjpiZWZvcmUsIC5kYXRlcmFuZ2VwaWNrZXI6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXI6YmVmb3JlIHtcbiAgICB0b3A6IC03cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgI2NjYzsgfVxuICAuZGF0ZXJhbmdlcGlja2VyOmFmdGVyIHtcbiAgICB0b3A6IC02cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAuZGF0ZXJhbmdlcGlja2VyLm9wZW5zbGVmdDpiZWZvcmUge1xuICAgIHJpZ2h0OiA5cHg7IH1cbiAgLmRhdGVyYW5nZXBpY2tlci5vcGVuc2xlZnQ6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxMHB4OyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIub3BlbnNjZW50ZXI6YmVmb3JlLCAuZGF0ZXJhbmdlcGlja2VyLm9wZW5zY2VudGVyOmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZGF0ZXJhbmdlcGlja2VyLm9wZW5zcmlnaHQ6YmVmb3JlIHtcbiAgICBsZWZ0OiA5cHg7IH1cbiAgLmRhdGVyYW5nZXBpY2tlci5vcGVuc3JpZ2h0OmFmdGVyIHtcbiAgICBsZWZ0OiAxMHB4OyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIuZHJvcC11cCB7XG4gICAgbWFyZ2luLXRvcDogLTdweDsgfVxuICAgIC5kYXRlcmFuZ2VwaWNrZXIuZHJvcC11cDpiZWZvcmUge1xuICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogaW5pdGlhbDtcbiAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAjY2NjOyB9XG4gICAgLmRhdGVyYW5nZXBpY2tlci5kcm9wLXVwOmFmdGVyIHtcbiAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgIGJvcmRlci1ib3R0b206IGluaXRpYWw7XG4gICAgICBib3JkZXItdG9wOiA2cHggc29saWQgI2ZmZjsgfVxuICAuZGF0ZXJhbmdlcGlja2VyLnNpbmdsZSAuZGF0ZXJhbmdlcGlja2VyIC5yYW5nZXMsIC5kYXRlcmFuZ2VwaWNrZXIuc2luZ2xlIC5kcnAtY2FsZW5kYXIge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIuc2luZ2xlIC5kcnAtc2VsZWN0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRhdGVyYW5nZXBpY2tlci5zaG93LWNhbGVuZGFyIC5kcnAtY2FsZW5kYXIsIC5kYXRlcmFuZ2VwaWNrZXIuc2hvdy1jYWxlbmRhciAuZHJwLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIuYXV0by1hcHBseSAuZHJwLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWNhbGVuZGFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMjcwcHg7IH1cbiAgICAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtY2FsZW5kYXIubGVmdCB7XG4gICAgICBwYWRkaW5nOiA4cHggMCA4cHggOHB4OyB9XG4gICAgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWNhbGVuZGFyLnJpZ2h0IHtcbiAgICAgIHBhZGRpbmc6IDhweDsgfVxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1jYWxlbmRhci5zaW5nbGUgLmNhbGVuZGFyLXRhYmxlIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAuZGF0ZXJhbmdlcGlja2VyIC5jYWxlbmRhci10YWJsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLmNhbGVuZGFyLXRhYmxlIC5uZXh0IHNwYW4sIC5kYXRlcmFuZ2VwaWNrZXIgLmNhbGVuZGFyLXRhYmxlIC5wcmV2IHNwYW4ge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IHNvbGlkIGJsYWNrO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAzcHg7IH1cbiAgICAuZGF0ZXJhbmdlcGlja2VyIC5jYWxlbmRhci10YWJsZSAubmV4dCBzcGFuIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuZGF0ZXJhbmdlcGlja2VyIC5jYWxlbmRhci10YWJsZSAucHJldiBzcGFuIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgICAuZGF0ZXJhbmdlcGlja2VyIC5jYWxlbmRhci10YWJsZSB0aGVhZCB0aCB7XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbSAwO1xuICAgICAgYmFja2dyb3VuZDogIzQ3NTI2NztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIGNvbG9yOiAjMDAyQjU4OyB9XG4gICAgLmRhdGVyYW5nZXBpY2tlciAuY2FsZW5kYXItdGFibGUgdGgsIC5kYXRlcmFuZ2VwaWNrZXIgLmNhbGVuZGFyLXRhYmxlIHRkIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMTg3NXJlbTsgfVxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLmNhbGVuZGFyLXRhYmxlIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgICAuZGF0ZXJhbmdlcGlja2VyIC5jYWxlbmRhci10YWJsZSB0YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuICAuZGF0ZXJhbmdlcGlja2VyIHRkLmF2YWlsYWJsZTpob3ZlciwgLmRhdGVyYW5nZXBpY2tlciB0aC5hdmFpbGFibGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuZGF0ZXJhbmdlcGlja2VyIHRkLndlZWssIC5kYXRlcmFuZ2VwaWNrZXIgdGgud2VlayB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgY29sb3I6ICNjY2M7IH1cbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5vZmYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgdGQub2ZmLmluLXJhbmdlLCAuZGF0ZXJhbmdlcGlja2VyIHRkLm9mZi5zdGFydC1kYXRlLCAuZGF0ZXJhbmdlcGlja2VyIHRkLm9mZi5lbmQtZGF0ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjOTk5OyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIgdGQuaW4tcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmY0Zjg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIgdGQuc3RhcnQtZGF0ZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7IH1cbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5lbmQtZGF0ZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7IH1cbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5zdGFydC1kYXRlLmVuZC1kYXRlIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTdlYmQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgdGQuYWN0aXZlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTdlYmQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmRhdGVyYW5nZXBpY2tlciB0aC5tb250aCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciBvcHRpb24uZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgLmRhdGVyYW5nZXBpY2tlciBzZWxlY3QubW9udGhzZWxlY3QsIC5kYXRlcmFuZ2VwaWNrZXIgc2VsZWN0LnllYXJzZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAxcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLmRhdGVyYW5nZXBpY2tlciBzZWxlY3QubW9udGhzZWxlY3Qge1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgd2lkdGg6IDU2JTsgfVxuICAuZGF0ZXJhbmdlcGlja2VyIHNlbGVjdC55ZWFyc2VsZWN0IHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIgc2VsZWN0LmhvdXJzZWxlY3QsIC5kYXRlcmFuZ2VwaWNrZXIgc2VsZWN0Lm1pbnV0ZXNlbGVjdCwgLmRhdGVyYW5nZXBpY2tlciBzZWxlY3Quc2Vjb25kc2VsZWN0LCAuZGF0ZXJhbmdlcGlja2VyIHNlbGVjdC5hbXBtc2VsZWN0IHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIG91dGxpbmU6IDA7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIgLmNhbGVuZGFyLXRpbWUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDRweCBhdXRvIDAgYXV0bztcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZGF0ZXJhbmdlcGlja2VyIC5jYWxlbmRhci10aW1lIHNlbGVjdC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2NjYztcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmRhdGVyYW5nZXBpY2tlciAuZHJwLXNlbGVjdGVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxuICAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZGF0ZXJhbmdlcGlja2VyLnNob3ctcmFuZ2VzIC5kcnAtY2FsZW5kYXIubGVmdCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkOyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIgLnJhbmdlcyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmRhdGVyYW5nZXBpY2tlci5zaG93LWNhbGVuZGFyIC5yYW5nZXMge1xuICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAuZGF0ZXJhbmdlcGlja2VyIC5yYW5nZXMgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZGF0ZXJhbmdlcGlja2VyIC5yYW5nZXMgbGkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZGF0ZXJhbmdlcGlja2VyIC5yYW5nZXMgbGk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLnJhbmdlcyBsaS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA4YztcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qICBMYXJnZXIgU2NyZWVuIFN0eWxpbmcgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA1NjRweCkge1xuICAuZGF0ZXJhbmdlcGlja2VyIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLnJhbmdlcyB1bCB7XG4gICAgICB3aWR0aDogMTQwcHg7IH1cbiAgICAuZGF0ZXJhbmdlcGlja2VyLnNpbmdsZSAucmFuZ2VzIHVsIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmRhdGVyYW5nZXBpY2tlci5zaW5nbGUgLmRycC1jYWxlbmRhci5sZWZ0IHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmRhdGVyYW5nZXBpY2tlci5zaW5nbGUubHRyIC5yYW5nZXMsIC5kYXRlcmFuZ2VwaWNrZXIuc2luZ2xlLmx0ciAuZHJwLWNhbGVuZGFyIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmRhdGVyYW5nZXBpY2tlci5zaW5nbGUucnRsIC5yYW5nZXMsIC5kYXRlcmFuZ2VwaWNrZXIuc2luZ2xlLnJ0bCAuZHJwLWNhbGVuZGFyIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5kYXRlcmFuZ2VwaWNrZXIubHRyIHtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmRhdGVyYW5nZXBpY2tlci5sdHIgLmRycC1jYWxlbmRhci5sZWZ0IHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuZGF0ZXJhbmdlcGlja2VyLmx0ciAuZHJwLWNhbGVuZGFyLmxlZnQgLmNhbGVuZGFyLXRhYmxlIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgIC5kYXRlcmFuZ2VwaWNrZXIubHRyIC5kcnAtY2FsZW5kYXIucmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAuZGF0ZXJhbmdlcGlja2VyLmx0ciAuZHJwLWNhbGVuZGFyLnJpZ2h0IC5jYWxlbmRhci10YWJsZSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgICAuZGF0ZXJhbmdlcGlja2VyLmx0ciAuZHJwLWNhbGVuZGFyLmxlZnQgLmNhbGVuZGFyLXRhYmxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4OyB9XG4gICAgICAuZGF0ZXJhbmdlcGlja2VyLmx0ciAucmFuZ2VzLCAuZGF0ZXJhbmdlcGlja2VyLmx0ciAuZHJwLWNhbGVuZGFyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuZGF0ZXJhbmdlcGlja2VyLnJ0bCB7XG4gICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuZGF0ZXJhbmdlcGlja2VyLnJ0bCAuZHJwLWNhbGVuZGFyLmxlZnQge1xuICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIC5kYXRlcmFuZ2VwaWNrZXIucnRsIC5kcnAtY2FsZW5kYXIubGVmdCAuY2FsZW5kYXItdGFibGUge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuICAgICAgLmRhdGVyYW5nZXBpY2tlci5ydGwgLmRycC1jYWxlbmRhci5yaWdodCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuZGF0ZXJhbmdlcGlja2VyLnJ0bCAuZHJwLWNhbGVuZGFyLnJpZ2h0IC5jYWxlbmRhci10YWJsZSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAuZGF0ZXJhbmdlcGlja2VyLnJ0bCAuZHJwLWNhbGVuZGFyLmxlZnQgLmNhbGVuZGFyLXRhYmxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XG4gICAgICAuZGF0ZXJhbmdlcGlja2VyLnJ0bCAucmFuZ2VzLCAuZGF0ZXJhbmdlcGlja2VyLnJ0bCAuZHJwLWNhbGVuZGFyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MzBweCkge1xuICAuZGF0ZXJhbmdlcGlja2VyIC5yYW5nZXMge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIubHRyIC5yYW5nZXMge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5kYXRlcmFuZ2VwaWNrZXIucnRsIC5yYW5nZXMge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtY2FsZW5kYXIubGVmdCB7XG4gICAgY2xlYXI6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5idXR0b24sIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgYmFja2dyb3VuZDogI0RDMkIxQztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6ICdyb2JvdG9ibGFjayc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDIwMDBweDtcbiAgcGFkZGluZzogMXJlbSAzcmVtOyB9XG4gIC5idXR0b246aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG46aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dDpob3Zlclt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyQjU4O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24uc21hbGwsIC5kYXRlcmFuZ2VwaWNrZXIgLmRycC1idXR0b25zIC5idG4sIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYS5zbWFsbCwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyBhLmJ0biwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmJ0biwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5zbWFsbFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmxhcmdlLmJ0biwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLmxhcmdlLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmxhcmdlW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHBhZGRpbmc6IDEuNXJlbSA0cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG5cbnVsLmNhcmQtd3JhcHBlciB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICB1bC5jYXJkLXdyYXBwZXIgbGkge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHVsLmNhcmQtd3JhcHBlciBsaSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIHVsLmNhcmQtd3JhcHBlciBsaSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7IH0gfVxuICB1bC5jYXJkLXdyYXBwZXIgLmNhcmQge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgIHVsLmNhcmQtd3JhcHBlciAuY2FyZCBoMyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ3JvYm90b3JlZ3VsYXInO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDAyQjU4O1xuICAgICAgcGFkZGluZzogMS4ycmVtIDFyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgdWwuY2FyZC13cmFwcGVyIC5jYXJkOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggMCByZ2JhKDQyLCA0OCwgNjEsIDAuMik7IH1cbiAgICAgIHVsLmNhcmQtd3JhcHBlciAuY2FyZDpob3ZlciBoMyB7XG4gICAgICAgIGNvbG9yOiAjMkEzMDNEOyB9XG4gIHVsLmNhcmQtd3JhcHBlciAudGh1bWIge1xuICAgIGhlaWdodDogMTIuMzc1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICB1bC5jYXJkLXdyYXBwZXIgLnRodW1iIHtcbiAgICAgICAgaGVpZ2h0OiAxMS4yNXJlbTsgfSB9XG4gICAgdWwuY2FyZC13cmFwcGVyIC50aHVtYiBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4ucGFnZS1udW1iZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiBhdXRvO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5wYWdlLW51bWJlcnMgbGkge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICAgIC5wYWdlLW51bWJlcnMgbGkgPiAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ3JvYm90b21lZGl1bSc7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICNEQzJCMUM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgICAucGFnZS1udW1iZXJzIGxpID4gKjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNEQzJCMUM7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAucGFnZS1udW1iZXJzIGxpID4gKi5jdXJyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMkI1ODtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuYWRtaW4tYmFyLmYtdG9wYmFyLWZpeGVkIC5zdGlja3kuZml4ZWQge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdG9wOiAyLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC45Mzc1ZW0pIHtcbiAgICBib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IDJyZW07IH0gfVxuXG4ud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG5cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0yID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0yID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTMgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy01ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy01ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTYgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy03ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy04ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy04ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMS4xMTExMSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlcjogc29saWQgNHB4ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICAgIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBhOmhvdmVyLCAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDAsIDQzLCA4OCwgMC41KTsgfVxuICAgIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBhIGltYWdlIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmdhbGxlcnkgLmdhbGxlcnktaWNvbiA+IGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlcjogc29saWQgNHB4ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuYm9keSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4ubWFpbi13cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5tYWluLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5tYWluLWdyaWQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5tYWluLWdyaWQgPiAqIHtcbiAgICBmbGV4OiAxIDEgMCU7IH1cblxuLmlubmVyLXdyYXBwZXIsIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogOTByZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbnNlY3Rpb24gaGVhZGVyLCAuZnJvbnQtcHJvZHVjdHMtd3JhcHBlciAucHJvZHVjdHMsIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciwgLmZsZXhpYmxlLWNhcmRzLXdyYXBwZXIuZmxleGlibGUtY29udGVudCwgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlci5mbGV4aWJsZS1jb250ZW50LCAuZmxleGlibGUtY29udGFjdC13cmFwcGVyLCB0YWJsZSNkYXRhc2hlZXRzLCAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIsIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciwgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciwgLmZsZXhpYmxlLW9lbWJlZC13cmFwcGVyLCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA2Ny4yNXJlbTsgfVxuXG4uZW50cnktY29udGVudCBmb290ZXIsXG4uZW50cnktY29udGVudCBoZWFkZXIsIC5mbGV4aWJsZS1jb250ZW50LCAuaG9tZSAuaW50cm8sIC5mcm9udC11c3Atd3JhcHBlciAuc2VjdGlvbnRpdGxlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA0NC41NjI1cmVtOyB9XG5cbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42NjY2N3JlbTsgfVxuICAgIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC41cmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOC42MTQgNkgxLjAyN0ExLjAxMSAxLjAxMSAwIDAgMSAwIDVjMC0uNTUyLjQ2LTEgMS4wMjctMWg3LjU4OEw2LjI4IDEuNjI5Yy0uNDMtLjQ1OS0uMzk1LS45ODIgMC0xLjM1Ni4zOTQtLjM3NSAxLjA2LS4zNTMgMS40MzIgMCAuMzY5LjM1IDMuOTkyIDQuMDQ3IDMuOTkyIDQuMDQ3QS45MzQuOTM0IDAgMCAxIDEyIDVjMCAuMjQ1LS4xLjQ5LS4yOTYuNjc5IDAgMC0zLjYyMyAzLjY5Ni0zLjk5MiA0LjA0Ny0uMzcxLjM1My0xLjAzOC4zNzctMS40MzIgMC0uMzk1LS4zNzQtLjQzLS44OTggMC0xLjM1OEw4LjYxNCA2eicgZmlsbD0nJTIzRTIwNzE0JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKltzdHlsZSo9XCJ0ZXh0LWRlY29yYXRpb25cIl0sXG51IHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmEge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cbiAgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6ICdyb2JvdG9ib2xkJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5wIHtcbiAgZm9udC1mYW1pbHk6ICdyb2JvdG9yZWd1bGFyJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS43NjsgfVxuICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH0gfVxuXG5oMSwgLnNlY3Rpb250aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAyQjU4O1xuICBwYWRkaW5nOiAwIDAgMS41NjI1cmVtIDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIGgxOmFmdGVyLCAuc2VjdGlvbnRpdGxlOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMC4xODc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNEQzJCMUM7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIGgxOmFmdGVyLCAuc2VjdGlvbnRpdGxlOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgIGhlaWdodDogMC4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICBoMSwgLnNlY3Rpb250aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgcGFkZGluZzogMy43NXJlbSAwIDIuNXJlbSAwOyB9IH1cblxuaDIge1xuICBjb2xvcjogI0RDMkIxQzsgfVxuXG5oMyB7XG4gIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuaDQge1xuICBmb250LWZhbWlseTogJ3JvYm90b21lZGl1bSc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuaDYge1xuICBmb250LWZhbWlseTogJ3JvYm90b2JvbGQnO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbnNlY3Rpb24gaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbiBoZWFkZXIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5yZWFkbW9yZS13cmFwcGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjIwLCA0MywgMjgsIDAuMSk7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmVhZG1vcmUtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLnJlYWRtb3JlLXdyYXBwZXIge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5hLnJlYWRtb3JlIHtcbiAgY29sb3I6ICNEQzJCMUM7IH1cbiAgYS5yZWFkbW9yZSBzdmcge1xuICAgIGNvbG9yOiAjMDAyQjU4O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOyB9XG4gIGEucmVhZG1vcmU6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAyQjU4OyB9XG4gICAgYS5yZWFkbW9yZTpob3ZlciBzdmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cblxuLmludHJvIHtcbiAgZm9udC1mYW1pbHk6ICdyb2JvdG9tZWRpdW0nO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBjb2xvcjogcmdiYSgwLCA0MywgODgsIDAuNSk7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmludHJvIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjgzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5zdXB0aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjREMyQjFDO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdXB0aXRsZSB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xMGVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9IH1cblxuLnNlY3Rpb250aXRsZSB7XG4gIGNvbG9yOiAjMkEzMDNEO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjY2NjY3cmVtIDAgMS41cmVtIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbnRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwIDEuNXJlbSAwOyB9IH1cbiAgLnNlY3Rpb250aXRsZTphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnV0dG9uLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmJhY2tsaW5rLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogOTByZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwO1xuICB0b3A6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmFja2xpbmstd3JhcHBlciB7XG4gICAgICB0b3A6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmJhY2tsaW5rLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiAtMS44NzVyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5iYWNrbGluay13cmFwcGVyIHtcbiAgICAgIHRvcDogLTMuNzVyZW07IH0gfVxuXG4uYmFja2xpbmsge1xuICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgLmJhY2tsaW5rIGEge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGNvbG9yOiAjREMyQjFDO1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDIuNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5iYWNrbGluayBhIHtcbiAgICAgICAgbWluLWhlaWdodDogNC4wNjI1cmVtOyB9IH1cbiAgICAuYmFja2xpbmsgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIGNvbG9yOiAjMDAyQjU4O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTsgfVxuICAgIC5iYWNrbGluayBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAyQjU4OyB9XG4gICAgICAuYmFja2xpbmsgYTpob3ZlciBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG5cbi5jdXJ2ZWQge1xuICB0cmFuc2Zvcm06IHNrZXcoMGRlZywgLTRkZWcpIHRyYW5zbGF0ZVkoLTEzMHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMTA7XG4gIHBhZGRpbmctYm90dG9tOiA4cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuY3VydmVkIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4cmVtOyB9IH1cbiAgLmN1cnZlZCAuaW5uZXItd3JhcHBlciB7XG4gICAgdHJhbnNmb3JtOiBza2V3KDBkZWcsIDRkZWcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMTU7IH1cblxuLmtvcGZiaWxkLXdyYXBwZXIge1xuICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAua29wZmJpbGQtd3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IDI1cmVtOyB9IH1cbiAgLmtvcGZiaWxkLXdyYXBwZXIuY3VydmVkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAtOC43NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5rb3BmYmlsZC13cmFwcGVyLmN1cnZlZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmtvcGZiaWxkLXdyYXBwZXIuY3VydmVkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDYuODc1cmVtOyB9IH1cbiAgICAua29wZmJpbGQtd3JhcHBlci5jdXJ2ZWQgKyAubWFpbi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07IH1cbiAgLmtvcGZiaWxkLXdyYXBwZXIgaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLyoqKioqKioqKioqIEhFQURFUiAqKioqKioqKioqKioqKi9cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgei1pbmRleDogMjAwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAuc3RpY2t5LWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgIC5zdGlja3ktY29udGFpbmVyIC5zdGlja3kge1xuICAgICAgICBoZWlnaHQ6IDguNXJlbTsgfSB9XG5cbi5zaXRlLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDAgMnJlbTsgfVxuXG4ubG9nby13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4ubG9nbyB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMSAxIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAubG9nbyBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxvZ28gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMS44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5sb2dvIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMjguMTI1cmVtOyB9IH1cbiAgLmxvZ28ubW9iaWxlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAubG9nby5tb2JpbGUgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTcuNXJlbTsgfVxuXG4ubGFuZ3N3aXRjaC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4ubGFuZ3N3aXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAubGFuZ3N3aXRjaCBsaTpub3QoOmZpcnN0LW9mLXR5cGUpOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIvXCI7XG4gICAgY29sb3I6IHJnYmEoMCwgNDMsIDg4LCAwLjI1KTtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTsgfVxuICAubGFuZ3N3aXRjaCBhIHtcbiAgICBjb2xvcjogcmdiYSgwLCA0MywgODgsIDAuMjUpO1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAubGFuZ3N3aXRjaCBhLmFjdGl2ZSwgLmxhbmdzd2l0Y2ggYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0RDMkIxQzsgfVxuICAgICAgLmxhbmdzd2l0Y2ggYS5hY3RpdmU6YmVmb3JlLCAubGFuZ3N3aXRjaCBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDQzLCA4OCwgMC4yNSk7IH1cblxuLyoqKioqKioqKioqKioqKiogQ09OVEVOVCAqKioqKioqKioqKioqKioqKi9cbi5lbnRyeS1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZW50cnktY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLmVudHJ5LWNvbnRlbnQgZm9vdGVyLFxuICAuZW50cnktY29udGVudCBoZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5lbnRyeS1jb250ZW50IGZvb3RlcixcbiAgICAgIC5lbnRyeS1jb250ZW50IGhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLyoqKioqKioqKioqKioqKiogRkxFWElCTEUgQ09OVEVOVCAqKioqKioqKioqKioqKioqKi9cbi5mbGV4aWJsZS1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5mbGV4aWJsZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgLmZsZXhpYmxlLWNvbnRlbnQuaGFsZiB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuZmxleGlibGUtY29udGVudC5oYWxmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07IH0gfVxuICAuZmxleGlibGUtY29udGVudC50aGlyZCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1jb250ZW50LnRoaXJkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTsgfSB9XG5cbi5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgKyAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuXG4uZmxleGlibGUtb2VtYmVkLXdyYXBwZXIgKyAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGgyLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyICsgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoMixcbi5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgKyAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGgyIHtcbiAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5mbGV4aWJsZS1vZW1iZWQtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDIsXG4gICAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyICsgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoMixcbiAgICAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyICsgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoMiB7XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTsgfSB9XG5cbi5mbGV4aWJsZS1vZW1iZWQtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDMsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgKyAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGgzLFxuLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDMge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBwOmxhc3Qtb2YtdHlwZSArIHVsIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4uZmxleGlibGUtY29udGFpbmVyLXdyYXBwZXIgZGl2LmZsZXhpYmxlLWNvbnRlbnQ6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cblxuLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTsgfSB9XG5cbi8qKioqKioqKioqKioqKioqKioqKiBORVdTICsgQVJDSElWRSAqKioqKioqKioqKioqKi9cbi5uZXdzLWFyY2hpdmUgaDEsIC5uZXdzLWFyY2hpdmUgLnNlY3Rpb250aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubmV3cy1hcmNoaXZlIGgxOmFmdGVyLCAubmV3cy1hcmNoaXZlIC5zZWN0aW9udGl0bGU6YWZ0ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLm5ld3Mtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIHtcbiAgICBwYWRkaW5nOiAxcmVtIDAuNXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzJTsgfSB9XG4gICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtOmhvdmVyIGgzIHtcbiAgICAgIGNvbG9yOiAjMkEzMDNEOyB9XG4gICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtOmhvdmVyIC50aHVtYjpiZWZvcmUsIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbTpob3ZlciAudGh1bWI6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbSA+ICoge1xuICAgICAgZmxleDogMSAxIGF1dG87IH1cbiAgICAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW0gLnRodW1iIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW0gLnRodW1iOmFmdGVyLCAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW0gLnRodW1iOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIC50aHVtYjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW0gLnRodW1iOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuICAgIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbSBoMyB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMS40NDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgY29sb3I6ICMwMDJCNTg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42NjY2N3JlbTsgfVxuICAgIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbSBwIHtcbiAgICAgIGNvbG9yOiAjMDAyQjU4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW0gcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG4ubmV3cy1tZXRhIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjREMyQjFDO1xuICBmb250LWZhbWlseTogJ3JvYm90b2JvbGQnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDBweCAwIDVweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXdzLW1ldGEge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKiogRk9PVEVSICoqKioqKioqKioqKioqKioqKioqL1xuLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMwMDIwNDE7XG4gIHBhZGRpbmc6IDNyZW0gMDsgfVxuICAuZm9vdGVyLmN1cnZlZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNrZXcoMGRlZywgLTRkZWcpOyB9XG4gIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgPiAqIHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5mb290ZXIgLmJlZm9yZWZvb3RlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5mb290ZXIgLmJlZm9yZWZvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXIgLmJlZm9yZWZvb3RlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gICAgLmZvb3RlciAuYmVmb3JlZm9vdGVyIHAsIC5mb290ZXIgLmJlZm9yZWZvb3RlciBsaSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIGg2LCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgYSB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmZvb3RlciAuYmVmb3JlZm9vdGVyIGg2IHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ3JvYm90b3JlZ3VsYXInO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1hcmdpbjogMS4yNXJlbSAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmJlZm9yZWZvb3RlciBoNiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLmZvb3RlciAuYmVmb3JlZm9vdGVyIGFbaHJlZl49XCJtYWlsdG9cIl0ge1xuICAgICAgY29sb3I6ICNEQzJCMUM7IH1cbiAgICAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDVyZW07IH0gfVxuICAgICAgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgICBjb2xvcjogIzAwMkI1ODsgfVxuICAgIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMyB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2x1bW5zOiAyO1xuICAgICAgY29sdW1uLWdhcDogNTBweDsgfVxuICAgICAgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wzIHVsIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgcGFkZGluZzogMC40Mzc1cmVtIDA7IH1cblxuLmZvb3Rlci1tZW51IHtcbiAgYmFja2dyb3VuZDogIzAwMTkzNDsgfVxuICAuZm9vdGVyLW1lbnUgLmlubmVyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb290ZXItbWVudSAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgb3JkZXI6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5mb290ZXItbWVudSAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDsgfSB9XG4gIC5mb290ZXItbWVudSB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZm9vdGVyLW1lbnUgYSB7XG4gICAgZm9udC1mYW1pbHk6ICdyb2JvdG9tZWRpdW0nO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW46IDAgMC42MjVyZW07IH1cbiAgICAuZm9vdGVyLW1lbnUgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5mb290ZXItbWVudSBhIHtcbiAgICAgICAgbWFyZ2luOiAwIDEuMjVyZW0gMCAwOyB9IH1cblxuLmNvcHlyaWdodCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmhvbWUgcCB7XG4gIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbi5ob21lIHNlY3Rpb24gPiAuaW5uZXItd3JhcHBlciB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgIC5ob21lIHNlY3Rpb24gPiAuaW5uZXItd3JhcHBlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuaG9tZSBzZWN0aW9uID4gLmlubmVyLXdyYXBwZXIge1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuaG9tZSBzZWN0aW9uID4gLmlubmVyLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5ob21lIC5pbnRybyB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIge1xuICBoZWlnaHQ6IDMxLjI1cmVtOyB9XG4gIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyLmN1cnZlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTE0MHB4OyB9IH1cblxuLmhvbWUgLm1haW4td3JhcHBlciB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4uaG9tZSAuc2VjdGlvbnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdyb2JvdG9ibGFjayc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmhvbWUgLnNlY3Rpb250aXRsZSB7XG4gICAgICBmb250LXNpemU6IDMuNXJlbTsgfSB9XG4gIC5ob21lIC5zZWN0aW9udGl0bGU6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmhvbWUgLnNlY3Rpb250aXRsZTphZnRlciB7XG4gICAgICAgIHdpZHRoOiA2LjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMjVyZW07IH0gfVxuXG4uaG9tZSAuZW50cnktY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuaG9tZSAuZW50cnktY29udGVudCBoZWFkZXIge1xuICAgIG1heC13aWR0aDogNjIuNXJlbTsgfVxuXG4uaG9tZSAuZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW4tdG9wOiAtMjUwcHg7IH1cblxuLmZyb250LWludHJvLXdyYXBwZXIgLmZyb250LWludHJvLXRleHQge1xuICBtYXJnaW46IDJyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmZyb250LWludHJvLXdyYXBwZXIgLmZyb250LWludHJvLXRleHQge1xuICAgICAgY29sdW1uczogMjtcbiAgICAgIGNvbHVtbi1nYXA6IDYwcHg7XG4gICAgICBtYXJnaW46IDRyZW0gMDsgfSB9XG5cbi5mcm9udC1pbnRyby13cmFwcGVyIC5waG90b2JhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07IH1cbiAgLmZyb250LWludHJvLXdyYXBwZXIgLnBob3RvYmFyIGEge1xuICAgIHBhZGRpbmc6IDAuNXJlbTsgfVxuXG4uZnJvbnQtdXNwLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREMyQjFDO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAuZnJvbnQtdXNwLXdyYXBwZXIgLnN1cHRpdGxlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuZnJvbnQtdXNwLXdyYXBwZXIgLnNlY3Rpb250aXRsZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuZnJvbnQtdXNwLXdyYXBwZXIgLnNlY3Rpb250aXRsZTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyQjU4OyB9XG4gIC5mcm9udC11c3Atd3JhcHBlciAuZnJvbnQtYm94ZXMtd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLmZyb250LXVzcC13cmFwcGVyIG9sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBjb3VudGVyLXJlc2V0OiB1c3AtY291bnRlcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogNXJlbSAwIDAgMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuZnJvbnQtdXNwLXdyYXBwZXIgb2wge1xuICAgICAgICBtYXJnaW46IDdyZW0gLTJyZW07IH0gfVxuICAgIC5mcm9udC11c3Atd3JhcHBlciBvbCBsaSB7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogdXNwLWNvdW50ZXI7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMC41cmVtIDAuNXJlbSAwLjVyZW0gN3JlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZyb250LXVzcC13cmFwcGVyIG9sIGxpIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAzcmVtOyB9IH1cbiAgICAgIC5mcm9udC11c3Atd3JhcHBlciBvbCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKHVzcC1jb3VudGVyKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdyb2JvdG9ibGFjayc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogOS4zNzVyZW07XG4gICAgICAgIGNvbG9yOiAjREMyQjFDO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMTBweCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgIC5mcm9udC11c3Atd3JhcHBlciBvbCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAtNTBweDtcbiAgICAgICAgICAgIGxlZnQ6IC0zMHB4OyB9IH1cbiAgICAuZnJvbnQtdXNwLXdyYXBwZXIgb2wgLnN1cHRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuZnJvbnQtdXNwLXdyYXBwZXIgb2wgaDUge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ3JvYm90b2JvbGQnO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmZyb250LXVzcC13cmFwcGVyIG9sIHAge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1mYW1pbHk6ICdyb2JvdG9tZWRpdW0nO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uZnJvbnQtZGF0YS13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI0Y2RjlGQzsgfVxuICAuZnJvbnQtZGF0YS13cmFwcGVyIC5idXR0b24td3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuZnJvbnQtZGF0YS13cmFwcGVyIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMDsgfSB9XG4gIC5mcm9udC1kYXRhLXdyYXBwZXIgLmltZy13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZyb250LWRhdGEtd3JhcHBlciAuaW50cm8ge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5mcm9udC1uZXdzLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwIDAgMTdyZW0gMDsgfVxuXG4uZnJvbnQtcHJvZHVjdHMtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICMwNDI2NEEgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmZyb250LXByb2R1Y3RzLXdyYXBwZXI6YWZ0ZXIsIC5mcm9udC1wcm9kdWN0cy13cmFwcGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5mcm9udC1wcm9kdWN0cy13cmFwcGVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0LCAzOCwgNzQsIDAuOCk7XG4gICAgei1pbmRleDogMjsgfVxuICAuZnJvbnQtcHJvZHVjdHMtd3JhcHBlcjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5mcm9udC1wcm9kdWN0cy13cmFwcGVyIC5zZWN0aW9udGl0bGUge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmZyb250LXByb2R1Y3RzLXdyYXBwZXIgLnNlY3Rpb250aXRsZTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREMyQjFDOyB9XG4gIC5mcm9udC1wcm9kdWN0cy13cmFwcGVyIC5wcm9kdWN0cyAuY2FyZC13cmFwcGVyIHtcbiAgICBtYXJnaW46IDVyZW0gMCAycmVtIDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmZyb250LXByb2R1Y3RzLXdyYXBwZXIgLnByb2R1Y3RzIC5jYXJkLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDNyZW0gLTJyZW07IH0gfVxuICAuZnJvbnQtcHJvZHVjdHMtd3JhcHBlciAuYnV0dG9uOmhvdmVyLCAuZnJvbnQtcHJvZHVjdHMtd3JhcHBlciAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuYnRuOmhvdmVyLCAuZGF0ZXJhbmdlcGlja2VyIC5kcnAtYnV0dG9ucyAuZnJvbnQtcHJvZHVjdHMtd3JhcHBlciAuYnRuOmhvdmVyLCAuZnJvbnQtcHJvZHVjdHMtd3JhcHBlciAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIGE6aG92ZXIsIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgLmZyb250LXByb2R1Y3RzLXdyYXBwZXIgYTpob3ZlciwgLmZyb250LXByb2R1Y3RzLXdyYXBwZXIgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIC5mcm9udC1wcm9kdWN0cy13cmFwcGVyIGlucHV0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgY29sb3I6ICMwMDJCNTg7IH1cblxuLmZvb3Rlci1waG90by13cmFwcGVyIHtcbiAgaGVpZ2h0OiAzOS42MjVyZW07XG4gIHRyYW5zZm9ybTogc2tldygwZGVnLCAtNGRlZykgdHJhbnNsYXRlWSgtMTQwcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mb290ZXItcGhvdG8td3JhcHBlciBpbWcge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgc2tldygwZGVnLCA0ZGVnKTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTsgfSB9XG5cbi5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTJyZW07IH0gfVxuICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgLmFwLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuaW5uZXItd3JhcHBlciAuYXAtaXRlbSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMC4yNXJlbSAwLjI1cmVtIDAuMjVyZW07IH0gfVxuICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgLmFwLW1ldGEge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAwIDAgMCAycmVtO1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuaW5uZXItd3JhcHBlciAuYXAtbWV0YSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMCAwIDA7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuaW5uZXItd3JhcHBlciAuYXAtZnVua3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuaW5uZXItd3JhcHBlciBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA3LjYyNXJlbTsgfSB9XG4gIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuaW5uZXItd3JhcHBlciBoNSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzQ3NTI2NzsgfVxuXG4uZmxleGlibGUtYm94ZXMtd3JhcHBlciAuZmxleGlibGUtYm94ZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtOyB9XG5cbi5mbGV4aWJsZS1ib3hlcy13cmFwcGVyIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1ib3hlcy13cmFwcGVyIGEge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIC5mbGV4aWJsZS1ib3hlcy13cmFwcGVyIGE6aG92ZXIgPiBkaXYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cbiAgLmZsZXhpYmxlLWJveGVzLXdyYXBwZXIgYTpob3ZlciBmaWd1cmU6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbGV4aWJsZS1ib3hlcy13cmFwcGVyIGE6aG92ZXIgZmlndXJlOmFmdGVyIHtcbiAgICB3aWR0aDogMy43NXJlbTtcbiAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZmxleGlibGUtYm94ZXMtd3JhcHBlciBhID4gZGl2IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuICAuZmxleGlibGUtYm94ZXMtd3JhcHBlciBhIGZpZ3VyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZsZXhpYmxlLWJveGVzLXdyYXBwZXIgYSBmaWd1cmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgNDMsIDg4LCAwLjUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7IH1cbiAgICAuZmxleGlibGUtYm94ZXMtd3JhcHBlciBhIGZpZ3VyZTphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG5cbi5mbGV4aWJsZS1ib3hlcy13cmFwcGVyIGg1IHtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIGJhY2tncm91bmQ6ICMwMDJCNTg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LWZhbWlseTogJ3JvYm90b2JvbGQnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0ZGRkZGRjsgfVxuXG4uZmxleGlibGUtYnV0dG9uLXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsZXhpYmxlLWNhcmRzLXdyYXBwZXIuZmxleGlibGUtY29udGVudCAuY2FyZC13cmFwcGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmZsZXhpYmxlLWNhcmRzLXdyYXBwZXIuZmxleGlibGUtY29udGVudCAuY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDJCNTg7IH1cbiAgLmZsZXhpYmxlLWNhcmRzLXdyYXBwZXIuZmxleGlibGUtY29udGVudCAuY2FyZCBwLFxuICAuZmxleGlibGUtY2FyZHMtd3JhcHBlci5mbGV4aWJsZS1jb250ZW50IC5jYXJkIGgzIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuZmxleGlibGUtY2FyZHMtd3JhcHBlci5mbGV4aWJsZS1jb250ZW50IC5jYXJkIGgzIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLmZsZXhpYmxlLWNhcmRzLXdyYXBwZXIuZmxleGlibGUtY29udGVudCAuY2FyZCBwIHtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAxcmVtIDAgMCAwOyB9XG4gICAgLmZsZXhpYmxlLWNhcmRzLXdyYXBwZXIuZmxleGlibGUtY29udGVudCAuY2FyZCBwOmxhc3QtY2hpbGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmxleGlibGUtY2FyZHMtd3JhcHBlci5mbGV4aWJsZS1jb250ZW50IC5jYXJkOmhvdmVyIGgzIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uZmxleGlibGUtY2FyZHMtd3JhcHBlci5mbGV4aWJsZS1jb250ZW50IC5pbm5lci1jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgZmxleDogMSAxIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5mbGV4aWJsZS1jYXRhbG9ncy13cmFwcGVyIC5pbm5lci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTsgfVxuXG4uZmxleGlibGUtY2F0YWxvZ3Mtd3JhcHBlciBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1jYXRhbG9ncy13cmFwcGVyIGEge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZmxleGlibGUtY2F0YWxvZ3Mtd3JhcHBlciBhIHtcbiAgICAgIHdpZHRoOiAzMy4zMyU7IH0gfVxuICAuZmxleGlibGUtY2F0YWxvZ3Mtd3JhcHBlciBhOmhvdmVyIC5idXR0b24sIC5mbGV4aWJsZS1jYXRhbG9ncy13cmFwcGVyIGE6aG92ZXIgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0biwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmZsZXhpYmxlLWNhdGFsb2dzLXdyYXBwZXIgYTpob3ZlciAuYnRuLCAuZmxleGlibGUtY2F0YWxvZ3Mtd3JhcHBlciBhOmhvdmVyIC5mb290ZXIgLmJlZm9yZWZvb3RlciAuY29sMS0yLXdyYXBwZXIgLmNvbDIgYSwgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiAuZmxleGlibGUtY2F0YWxvZ3Mtd3JhcHBlciBhOmhvdmVyIGEsIC5mbGV4aWJsZS1jYXRhbG9ncy13cmFwcGVyIGE6aG92ZXIgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIC5mbGV4aWJsZS1jYXRhbG9ncy13cmFwcGVyIGE6aG92ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZDogIzAwMkI1ODsgfVxuXG4uZmxleGlibGUtY2F0YWxvZ3Mtd3JhcHBlciBmaWd1cmUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cblxuLmZsZXhpYmxlLWNhdGFsb2dzLXdyYXBwZXIgLmJ1dHRvbiwgLmZsZXhpYmxlLWNhdGFsb2dzLXdyYXBwZXIgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmJ0biwgLmRhdGVyYW5nZXBpY2tlciAuZHJwLWJ1dHRvbnMgLmZsZXhpYmxlLWNhdGFsb2dzLXdyYXBwZXIgLmJ0biwgLmZsZXhpYmxlLWNhdGFsb2dzLXdyYXBwZXIgLmZvb3RlciAuYmVmb3JlZm9vdGVyIC5jb2wxLTItd3JhcHBlciAuY29sMiBhLCAuZm9vdGVyIC5iZWZvcmVmb290ZXIgLmNvbDEtMi13cmFwcGVyIC5jb2wyIC5mbGV4aWJsZS1jYXRhbG9ncy13cmFwcGVyIGEsIC5mbGV4aWJsZS1jYXRhbG9ncy13cmFwcGVyIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciAuZmxleGlibGUtY2F0YWxvZ3Mtd3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbi5mbGV4aWJsZS1jYXRhbG9ncy13cmFwcGVyIGg2IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuLmZsZXhpYmxlLWNvbnRhY3Qtd3JhcHBlciB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTsgfVxuXG4uZmxleGlibGUtY29udGFjdC13cmFwcGVyIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1jb250YWN0LXdyYXBwZXIgbGkge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5mbGV4aWJsZS1jb250YWN0LXdyYXBwZXIgLmlubmVyd3JhcHBlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjIwLCA0MywgMjgsIDAuMSk7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxleGlibGUtY29udGFjdC13cmFwcGVyIC5pbm5lcndyYXBwZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAyQjU4OyB9XG4gICAgLmZsZXhpYmxlLWNvbnRhY3Qtd3JhcHBlciAuaW5uZXJ3cmFwcGVyOmhvdmVyIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuXG4uZmxleGlibGUtY29udGFjdC13cmFwcGVyIC5mdW5jdGlvbiB7XG4gIGNvbG9yOiByZ2JhKDIyMCwgNDMsIDI4LCAwLjUpO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4uZmxleGlibGUtY29udGFjdC13cmFwcGVyIC5tYWlsdG8ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZm9udC1mYW1pbHk6ICdyb2JvdG9ib2xkJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmZsZXhpYmxlLWNvbnRhY3Qtd3JhcHBlciAubWFpbHRvIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKiogREFURU5CTMOEVFRFUiBUQUJFTExFICoqKioqKioqKioqKioqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNjcm9sbC1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBhdXRvOyB9IH1cblxudGFibGUjZGF0YXNoZWV0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIHRhYmxlI2RhdGFzaGVldHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgICAgIG1pbi13aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgdGFibGUjZGF0YXNoZWV0cyB7XG4gICAgICBtaW4td2lkdGg6IDU1LjI1cmVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCA0MywgODgsIDAuMSk7IH0gfVxuICB0YWJsZSNkYXRhc2hlZXRzIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDQzLCA4OCwgMC4xKTtcbiAgICBjb2xvcjogIzAwMkI1ODtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICdyb2JvdG9ib2xkJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgdGFibGUjZGF0YXNoZWV0cyB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfSB9XG4gICAgdGFibGUjZGF0YXNoZWV0cyB0aGVhZCB0aCB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ3JvYm90b2JsYWNrJztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgcGFkZGluZzogMXJlbSAwLjVyZW07IH1cbiAgdGFibGUjZGF0YXNoZWV0cyB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCA0MywgODgsIDAuMDIpOyB9XG4gIHRhYmxlI2RhdGFzaGVldHMgdHIuaGlkZVJvdyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZSNkYXRhc2hlZXRzIC50aXRsZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgNDMsIDg4LCAwLjEpO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjREMyQjFDOyB9XG4gICAgdGFibGUjZGF0YXNoZWV0cyAudGl0bGUgdGQge1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgcGFkZGluZzogMXJlbSAwLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjREMyQjFDOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICB0YWJsZSNkYXRhc2hlZXRzIC50aXRsZSB0ZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgICBjb2xvcjogI0RDMkIxQzsgfSB9XG4gIHRhYmxlI2RhdGFzaGVldHMgLm1lc3NhZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIHRhYmxlI2RhdGFzaGVldHMgLm1lc3NhZ2UgdGQge1xuICAgICAgY29sb3I6ICMwMDJCNTg7XG4gICAgICBwYWRkaW5nOiAycmVtOyB9XG4gICAgdGFibGUjZGF0YXNoZWV0cyAubWVzc2FnZSAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdyb2JvdG9tZWRpdW0nO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIHRhYmxlI2RhdGFzaGVldHMgLm1lc3NhZ2UgYSB7XG4gICAgICBjb2xvcjogI0RDMkIxQzsgfVxuICAgICAgdGFibGUjZGF0YXNoZWV0cyAubWVzc2FnZSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDJCNTg7IH1cbiAgdGFibGUjZGF0YXNoZWV0cyAubmFtZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi13aWR0aDogMTguNzVyZW07IH1cbiAgICB0YWJsZSNkYXRhc2hlZXRzIC5uYW1lIHNwYW4ge1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMC41cmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAjREMyQjFDIHVybCguLi9pbWFnZXMvaW5mby5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0OyB9XG4gIHRhYmxlI2RhdGFzaGVldHMgdGgsIHRhYmxlI2RhdGFzaGVldHMgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIHRhYmxlI2RhdGFzaGVldHMgdGg6Zmlyc3Qtb2YtdHlwZSwgdGFibGUjZGF0YXNoZWV0cyB0ZDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICB0YWJsZSNkYXRhc2hlZXRzIHRoOmxhc3Qtb2YtdHlwZSwgdGFibGUjZGF0YXNoZWV0cyB0ZDpsYXN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICB0YWJsZSNkYXRhc2hlZXRzIHRoLCB0YWJsZSNkYXRhc2hlZXRzIHRkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgICAgICB0YWJsZSNkYXRhc2hlZXRzIHRoOm5vdCg6bGFzdC1vZi10eXBlKSwgdGFibGUjZGF0YXNoZWV0cyB0ZDpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgNDMsIDg4LCAwLjEpOyB9IH1cbiAgdGFibGUjZGF0YXNoZWV0cyB0ZCwgdGFibGUjZGF0YXNoZWV0cyAuc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvbWVkaXVtJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiByZ2JhKDAsIDQzLCA4OCwgMC43KTsgfVxuICB0YWJsZSNkYXRhc2hlZXRzIGEge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgdGFibGUjZGF0YXNoZWV0cyAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LWZhbWlseTogJ3JvYm90b3JlZ3VsYXInO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTsgfVxuICB0YWJsZSNkYXRhc2hlZXRzIFtkYXRhLXRvb2x0aXBdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgIGhlaWdodDogMS4xMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgNDMsIDg4LCAwLjI1KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgZm9udC1zaXplOiAwOyB9XG4gIHRhYmxlI2RhdGFzaGVldHMgW2RhdGEtbGFyZ2UtdG9vbHRpcF0ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICB0YWJsZSNkYXRhc2hlZXRzIFtkYXRhLWxhcmdlLXRvb2x0aXBdW2RhdGEtdG9vbHRpcF0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOyB9XG4gIHRhYmxlI2RhdGFzaGVldHMgLnNwYW5udW5nIHtcbiAgICBtYXgtd2lkdGg6IDIxLjg3NXJlbTsgfVxuICB0YWJsZSNkYXRhc2hlZXRzIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNkYXRhc2hlZXQtZmlsdGVyIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNkYXRhc2hlZXQtZmlsdGVyID4gZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdyb2JvdG9ib2xkJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMCBhdXRvIDJyZW0gYXV0bzsgfVxuICAjZGF0YXNoZWV0LWZpbHRlciBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbjogMC41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNkYXRhc2hlZXQtZmlsdGVyIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAuNXJlbTsgfSB9XG4gICNkYXRhc2hlZXQtZmlsdGVyIHNlbGVjdCwgI2RhdGFzaGVldC1maWx0ZXIgaW5wdXQsICNkYXRhc2hlZXQtZmlsdGVyIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvcmVndWxhcic7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgNDMsIDg4LCAwLjA2KTtcbiAgICBwYWRkaW5nOiAwLjY2NjY3cmVtIDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgNDMsIDg4LCAwLjAzKTtcbiAgICB3aWR0aDogY2FsYyggMTAwJSArIDFyZW0pOyB9XG4gICAgI2RhdGFzaGVldC1maWx0ZXIgc2VsZWN0OmZvY3VzLCAjZGF0YXNoZWV0LWZpbHRlciBpbnB1dDpmb2N1cywgI2RhdGFzaGVldC1maWx0ZXIgYnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDQzLCA4OCwgMC4yNSk7IH1cbiAgI2RhdGFzaGVldC1maWx0ZXIgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDQzLCA4OCwgMC4wMykgdXJsKC4uL2ltYWdlcy9hcnJvdy5zdmcpIGNlbnRlciByaWdodCAxcmVtIG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOyB9XG4gICNkYXRhc2hlZXQtZmlsdGVyIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMC41cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREMyQjFDO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAjZGF0YXNoZWV0LWZpbHRlciBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkI1ODsgfVxuICAgICNkYXRhc2hlZXQtZmlsdGVyIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgI2RhdGFzaGVldC1maWx0ZXIgYnV0dG9uIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAjZGF0YXNoZWV0LWZpbHRlciAuZmlsdGVyLWV4dGVuZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDUyLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1iYXNpczogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjZGF0YXNoZWV0LWZpbHRlciAuZmlsdGVyLWV4dGVuZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgNDMsIDg4LCAwLjA2KTtcbiAgICAgICAgcGFkZGluZzogMnJlbTsgfSB9XG4gICAgI2RhdGFzaGVldC1maWx0ZXIgLmZpbHRlci1leHRlbmVkIGxhYmVsIHtcbiAgICAgIHdpZHRoOiBjYWxjKCA1MCUgLSAxcmVtKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAjZGF0YXNoZWV0LWZpbHRlciAuZmlsdGVyLWV4dGVuZWQgbGFiZWwge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCAzMyUgLSAxcmVtKTsgfSB9XG4gICAgI2RhdGFzaGVldC1maWx0ZXIgLmZpbHRlci1leHRlbmVkICNjbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDFyZW07XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIGNvbG9yOiAjREMyQjFDO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgI2RhdGFzaGVldC1maWx0ZXIgLmZpbHRlci1leHRlbmVkICNjbG9zZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAgICNkYXRhc2hlZXQtZmlsdGVyIC5maWx0ZXItZXh0ZW5lZCAjY2xvc2U6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAwMkI1ODsgfVxuXG4jZmlsdGVyLXJlc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiAjREMyQjFDOyB9XG4gICNmaWx0ZXItcmVzZXQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAyQjU4OyB9XG5cbi5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgYSB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS44NzVyZW0gMS4yNXJlbSAzLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6ICNEQzJCMUMgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTEnIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J000LjgzMyA4LjU0MVYxLjE2NWExIDEgMCAxIDEgMiAwdjcuMzc4bDIuMzcyLTIuMjdjLjQ1OC0uNDE4Ljk4Mi0uMzg1IDEuMzU1IDAgLjM3Ni4zODIuMzUzIDEuMDMgMCAxLjM5MS0uMzUuMzU5LTQuMDQ3IDMuODgxLTQuMDQ3IDMuODgxYS45NDcuOTQ3IDAgMCAxLTEuMzU4IDBTMS40NTggOC4wMjMgMS4xMDcgNy42NjRjLS4zNTMtLjM2LS4zNzctMS4wMDkgMC0xLjM5Mi4zNzQtLjM4NC44OTgtLjQxNyAxLjM1OSAwbDIuMzY3IDIuMjd6JyBmaWxsPSclMjNGRkYnIGZpbGwtcnVsZT0nZXZlbm9kZCcvJTNFJTNDL3N2ZyUzRSUwQVwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB3aWR0aDogMS43NXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE2cHg7XG4gICAgdG9wOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTsgfVxuICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkI1ODsgfVxuICAgIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhOmhvdmVyIHAsIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhOmhvdmVyIGg2IHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhIGg2IHtcbiAgICBjb2xvcjogIzAwMkI1ODtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhIGg2IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTsgfSB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhIHAge1xuICAgIGNvbG9yOiByZ2JhKDAsIDQzLCA4OCwgMC41KTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42NjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cblxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGEge1xuICBmb250LWZhbWlseTogJ3JvYm90b2JvbGQnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogI0RDMkIxQzsgfVxuICAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDJCNTg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBsaSxcbiAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS4zNzU7IH0gfVxuXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDMge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBoMiB7XG4gIG1hcmdpbjogMi41cmVtIDAgMC41cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBoMiB7XG4gICAgICBtYXJnaW46IDRyZW0gMCAwLjVyZW0gMDsgfSB9XG5cbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBoNCB7XG4gIG1hcmdpbjogMS41cmVtIDAgMC41cmVtIDA7IH1cblxuLmZsZXhpYmxlLWZvcm0td3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTE3LCAxMjYsIDE0MSwgMC4xKTtcbiAgcGFkZGluZzogMnJlbSAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmxleGlibGUtZm9ybS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICAuZmxleGlibGUtZm9ybS13cmFwcGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuZmxleGlibGUtZm9ybS13cmFwcGVyIHVsIGxpOmZpcnN0LWNoaWxkIC5nc2VjdGlvbl90aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW0gMCAwLjQzNzVyZW0gMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMwMDJCNTg7IH1cbiAgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKVthcmlhLWludmFsaWQ9XCJ0cnVlXCJdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIHRleHRhcmVhW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RDMkIxQzsgfVxuICAgIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExNywgMTI2LCAxNDEsIDAuMTUpOyB9XG4gIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgY29sb3I6ICNEQzJCMUM7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuZmxleGlibGUtZm9ybS13cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuICAuZmxleGlibGUtZm9ybS13cmFwcGVyIC5nc2VjdGlvbl90aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAuZmxleGlibGUtZm9ybS13cmFwcGVyIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjREMyQjFDO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuZmxleGlibGUtZm9ybS13cmFwcGVyIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgIGNvbG9yOiAjREMyQjFDO1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICAgIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgLnZhbGlkYXRpb25fbWVzc2FnZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxMiA4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNFJTNDcGF0aCB0cmFuc2Zvcm09J21hdHJpeCguNzA3MTEtLjcwNzExLjcwNzExLjcwNzExIDAgMS42NTcpJyBkPSdtMiA2aDZ2MmgtOHYtOGgyeicgZmlsbD0nJTIzZGMyYjFjJy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMC43NXJlbTtcbiAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMDYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjA2MjVyZW07IH0gfVxuXG4uZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIC5pbm5lci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjA2MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjA2MjVyZW07IH0gfVxuXG4uZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMTtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMC4wNjI1cmVtOyB9XG4gIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYS5ncm93IHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYS5ncm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYSB7XG4gICAgICB3aWR0aDogMzMuMzMlOyB9IH1cbiAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhIHNwYW46YWZ0ZXIsIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYSBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhIHNwYW46YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICB0b3A6IDBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cbiAgICAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGEgc3Bhbjpob3ZlcjphZnRlciwgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhIHNwYW46aG92ZXI6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhIGltZyB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLyogZmFkZSBpbWFnZSBpbiBhZnRlciBsb2FkICovXG4vKiBTcGlubmVyIGNoZWNrIGh0dHA6Ly9zYW1oZXJiZXJ0Lm5ldC9zdmctbG9hZGVycy8gKi9cbi5sYXp5bG9hZCxcbi5sYXp5bG9hZGluZyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmxhenlsb2FkZWQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDYwMG1zOyB9XG5cbmltZy5sYXp5bG9hZDpub3QoW3NyY10pIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3JvYm90b3JlZ3VsYXInO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9yb2JvdG8tcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9yb2JvdG8tcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAncm9ib3RvYm9sZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3JvYm90by1ib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdyb2JvdG9tZWRpdW0nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9yb2JvdG8tbWVkaXVtLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by1tZWRpdW0td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3JvYm90b2xpZ2h0JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcm9ib3RvLWxpZ2h0LXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by1saWdodC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdyb2JvdG9ibGFjayc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3JvYm90by1ibGFjay13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9yb2JvdG8tYmxhY2std2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn0iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb25QcmVzcyBzZXR0aW5ncy5cbi8vICBCYXNlZCBvbiBGb3VuZGF0aW9uIGZvciBTaXRlcyB2Ni40LjNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG5AaW1wb3J0ICdnbG9iYWwvY29sb3JzJztcblxuLy8gRk9OVFNcbkBtaXhpbiBsaWdodCgpIHtcbiAgZm9udC1mYW1pbHk6ICdyb2JvdG9saWdodCc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5AbWl4aW4gcmVndWxhcigpIHtcbiAgZm9udC1mYW1pbHk6ICdyb2JvdG9yZWd1bGFyJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbkBtaXhpbiBtZWRpdW0oKSB7XG4gIGZvbnQtZmFtaWx5OiAncm9ib3RvbWVkaXVtJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbkBtaXhpbiBib2xkKCkge1xuICBmb250LWZhbWlseTogJ3JvYm90b2JvbGQnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuQG1peGluIGJsYWNrKCkge1xuICBmb250LWZhbWlseTogJ3JvYm90b2JsYWNrJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuXG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTQ0MCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuODtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzAwMkI1OCxcbiAgc2Vjb25kYXJ5OiAjREMyQjFDLFxuICBzdWNjZXNzOiAjNkVCNTMzLFxuICB3YXJuaW5nOiAjRjhEMzAwLFxuICBhbGVydDogI0VDMUQyNCxcbik7XG5cbiRwcmltYXJ5LWxpZ2h0OiAjM0E0MDQ3O1xuJHByaW1hcnktbGlnaHRlc3Q6ICNGMkY0RjY7XG4kcHJpbWFyeS1kYXJrOiAjMDAyMDQxO1xuJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSxwcmltYXJ5KTtcbiRwcmltYXJ5LWFsdDogIzA3MjI0MDtcbiRwcmltYXJ5c2VtaWRhcms6ICMwNDI2NEE7XG4kcHJpbWFyeS11bHRyYWRhcms6ICMwMDE5MzQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsc2Vjb25kYXJ5KTtcbiRzZWNvbmRhcnktbGlnaHQ6ICM3NTdFOEQ7XG4kc2Vjb25kYXJ5LWxpZ2h0ZXN0OiAjRjZGOUZDO1xuJHNlY29uZGFyeS1kYXJrOiAjMkEzMDNEO1xuXG4kY3lhbjogJHNlY29uZGFyeS1jb2xvcjtcbiRncmVlbjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLHN1Y2Nlc3MpO1xuJHJlZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLGFsZXJ0KTtcbiRncmF5OiAjOEY5NTlCO1xuJGxpZ2h0ZXN0LWdyYXk6ICNlN2U3ZTc7XG4kbGlnaHQtZ3JheTogIzQ3NTI2NztcbiRtZWRpdW0tZ3JheTogIzJGMzYzRDtcbiRkYXJrLWdyYXk6ICRwcmltYXJ5LWNvbG9yOyAvLyBBbnRocmF6aXRcbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI0ZGRkZGRjtcblxuJGdsb2JhbC1za2V3OiA0ZGVnO1xuXG5cblxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYm9keS1mb250LWZhbWlseTogXCJyb2JvdG9yZWd1bGFyXCIsLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuJGdsb2JhbC1yYWRpdXM6IDVweDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMHJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogODAwcHgsXG4gIHhsYXJnZTogMTAyNHB4LFxuICB4eGxhcmdlOiAxMjQwcHgsXG4gIHh4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IG1lZGl1bTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UgeHh4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAncm9ib3RvcmVndWxhcic7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMTY7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDByZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjMpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjMpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTcpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI2KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiAkc2Vjb25kYXJ5LWNvbG9yO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiBmYWxzZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDA7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMHB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDByZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICR3aGl0ZTtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDMwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogJ3JpZnQnO1xuJGJ1dHRvbi1wYWRkaW5nOiAxLjRlbSAyLjVlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgMCAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6IDA7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC44MTI1cmVtLFxuICBkZWZhdWx0OiAwLjg1cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDA7XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMHB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogMDtcbiRjYXJkLXBhZGRpbmc6IDA7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAwO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDUgMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuJGlucHV0LWJvcmRlci1mb2N1czogMHB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDBweCAwcHggcmdiYSgkYmxhY2ssIDApO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDBweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAwO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogMDtcbiRtZW51LXNpbXBsZS1tYXJnaW46IDA7XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiByZW0tY2FsYygzMjBweCksXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjgwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kb2ZmY2FudmFzLXNoYWRvdzogMDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuOSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxNjA7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxNzA7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxODA7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogZmFsc2U7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNik7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDApO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCA2IDYpO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICR3aGl0ZTtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwcmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJHRpdGxlYmFyLWhlaWdodDogODBweDtcblxuXG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDA7XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDI0O1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IHJlbS1jYWxjKDhweCksXG4gIG1lZGl1bTogcmVtLWNhbGMoMTZweCksXG4gIHhsYXJnZTogcmVtLWNhbGMoMzJweCksXG4pO1xuJGdyaWQtc21hbGw6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsc21hbGwpO1xuJGdyaWQtbWVkaXVtOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLG1lZGl1bSk7XG4kZ3JpZC14bGFyZ2U6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMseGxhcmdlKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcblxuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBub25lO1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogJGdyaWQtbWVkaXVtLzI7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IHJlbS1jYWxjKDMyMCk7XG4kdG9vbHRpcC1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0b29sdGlwLXBpcC13aWR0aDogJGdyaWQtbWVkaXVtLzM7XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMvMjsiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gTmF2aWdhdGlvbiBicmVha3BvaW50c1xuLnRpdGxlLWJhcixcbi5tb2JpbGUtbWVudSAge1xuICBAaW5jbHVkZSBoaWRlLWZvcih4eGxhcmdlKTtcbn1cblxuLmRlc2t0b3AtbWVudSxcbi5zaXRlLWhlYWRlciB7XG4gIEBpbmNsdWRlIHNob3ctZm9yKHh4bGFyZ2UpO1xufVxuXG4vLyBUaXRsZSBCYXJcbi50aXRsZS1iYXIge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIC8vYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAkdGl0bGViYXItaGVpZ2h0O1xuICA+ICogeyAgaGVpZ2h0OiAxMDAlO31cblxuXG5cbiAgLm1lbnUtaWNvbi1idXR0b24ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgaGVpZ2h0OiAkdGl0bGViYXItaGVpZ2h0O1xuICAgIHdpZHRoOiAkdGl0bGViYXItaGVpZ2h0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVG9wYmFyXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIHNob3ctZm9yKGxhcmdlKTtcblxuICB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygxMTApO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICoge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpdW07XG4gICAgICAgIG1hcmdpbjogMCAkZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICBtYXJnaW46IDAgJGdyaWQtbWVkaXVtO1xuICAgICAgICAgIC8vbWFyZ2luOiByZW0tY2FsYygwIDAgMCAzMik7XG4gICAgICAgIH0gXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZbY2xhc3MqPVwiY3VycmVudFwiXSA+IGEsXG4gICAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbn1cblxuLy8gU2VydmNpZW5hdlxuLnNlcnZpY2VuYXYtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAuYnV0dG9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bSoyO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bSoyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuICAubWVudS1zZXJ2aWNlbmF2aS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcblxuICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW0qMS41O1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICBsaVtjbGFzcyo9XCJjdXJyZW50XCJdIGEsXG4gICAgYTpob3ZlciB7XG4gICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBNb2JpbGUgbWVudVxuLm1vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTsgLy8gcHJldmVudHMgcmVwYWludCBjYXVzZWQgYnkgSlMgaGlkaW5nIG1lbnUgb25sb2FkXG59XG5cbi5vZmYtY2FudmFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICAucmVkLWhvbGRlciB7XG4gICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnNpZGViYXItY2FudmFzLW5hdiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLmxhbmdzd2l0Y2gge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGEgeyBmb250LXNpemU6IGVtLWNhbGMoMjApO31cbiAgfVxuICAmLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogLTVweCAwcHggMTBweCAwcHggcmdiYSgkYmxhY2ssMC4yNSk7XG4gIH1cbiAgLnNlcnZpY2VuYXYtd3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB1bCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICB9XG4gICAgLmJ1dHRvbiB7IGJvcmRlci1yYWRpdXM6IDIwMDBweDt9XG5cbiAgfVxuICB1bC5tZW51LnZlcnRpY2FsIHtcbiAgICBtYXJnaW46IDAgMCAkZ3JpZC1tZWRpdW0qMiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjEpO1xuICAgICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsMC4xKTsgfVxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpdW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSoyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgICBsaVtjbGFzcyo9XCJjdXJyZW50XCJdIGEsXG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxuICB9XG59XG5cbiIsImJvZHkjdGlueW1jZXtcbiAgaGVpZ2h0OiBhdXRvOyAvLyBGaXggZWRpdG9yIHN0eWxlIGJ1Z1xuICBtYXgtd2lkdGg6ICRncmlkLXJvdy13aWR0aDsgLy8gR2l2ZSB0aGUgZWRpdG9yIGEgbWF4LXdpZHRoXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xufSIsIi51aS1kYXRlcGlja2VyIHtcbiAgICB3aWR0aDogMTdlbTtcbiAgICBwYWRkaW5nOiAuNWVtIC41ZW0gMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDE0cHggMHB4IHJnYmEoJGJsYWNrLDAuMik7XG4gICAgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IC4yZW0gMDtcbiAgICB9XG4gICAgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHdpZHRoOiAxLjhlbTtcbiAgICAgIGhlaWdodDogMS44ZW07XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLXByZXYge1xuICAgICAgbGVmdDogMnB4O1xuICAgIH1cbiAgICAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICAgIHJpZ2h0OiAycHg7XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXI6YmVmb3JlLFxuICAgIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLXByZXY6YmVmb3JlICwgLnVpLWRhdGVwaWNrZXItbmV4dDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIj5cIjtcbiAgICAgICAgJHNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1saWdodDtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJHNpemU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgYmxhY2s7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMXB4IDFweDtcbiAgICB9XG4gICAgLnVpLWRhdGVwaWNrZXItcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCI8XCI7XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbiwgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMi4zZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBzZWxlY3Qge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luOiAxcHggMDtcbiAgICAgIH1cbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgICYudWktZGF0ZXBpY2tlci1tb250aCwgJi51aS1kYXRlcGlja2VyLXllYXIge1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgfVxuICAgIH1cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICBtYXJnaW46IDAgMCAuNGVtO1xuICAgIH1cbiAgICB0aCB7XG4gICAgICBwYWRkaW5nOiAuN2VtIC4zZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgc3BhbiwgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAuMmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBtYXJnaW46IC43ZW0gMCAwIDA7XG4gICAgICBwYWRkaW5nOiAwIC4yZW07XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBidXR0b24ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogLjVlbSAuMmVtIC40ZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZzogLjJlbSAuNmVtIC4zZW0gLjZlbTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAmLnVpLWRhdGVwaWNrZXItY3VycmVudCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cblxuXG4vLyBtdWx0aSBkYXRlcGlja2VyXG5cblxuLmRhdGVyYW5nZXBpY2tlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgd2lkdGg6IDI3OHB4O1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi10b3A6IDdweDtcbiAgdG9wOiAxMDBweDtcbiAgbGVmdDogMjBweDtcbiAgei1pbmRleDogMzAwMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgcmVndWxhcjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgY29udGVudDogJyc7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIHRvcDogLTdweDtcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjY2NjO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIHRvcDogLTZweDtcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG4gICYub3BlbnNsZWZ0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICByaWdodDogOXB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxuICAmLm9wZW5zY2VudGVyIHtcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAmLm9wZW5zcmlnaHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDlweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgIH1cbiAgfVxuICAmLmRyb3AtdXAge1xuICAgIG1hcmdpbi10b3A6IC03cHg7XG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogaW5pdGlhbDtcbiAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAjY2NjO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgIGJvcmRlci1ib3R0b206IGluaXRpYWw7XG4gICAgICBib3JkZXItdG9wOiA2cHggc29saWQgI2ZmZjtcbiAgICB9XG4gIH1cbiAgJi5zaW5nbGUge1xuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLnJhbmdlcywgLmRycC1jYWxlbmRhciB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgLmRycC1zZWxlY3RlZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAmLnNob3ctY2FsZW5kYXIge1xuICAgIC5kcnAtY2FsZW5kYXIsIC5kcnAtYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgJi5hdXRvLWFwcGx5IC5kcnAtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZHJwLWNhbGVuZGFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMjcwcHg7XG4gICAgJi5sZWZ0IHtcbiAgICAgIHBhZGRpbmc6IDhweCAwIDhweCA4cHg7XG4gICAgfVxuICAgICYucmlnaHQge1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgIH1cbiAgICAmLnNpbmdsZSAuY2FsZW5kYXItdGFibGUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxuICAuY2FsZW5kYXItdGFibGUge1xuICAgIC5uZXh0IHNwYW4sIC5wcmV2IHNwYW4ge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IHNvbGlkIGJsYWNrO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAzcHg7XG4gICAgfVxuICAgIC5uZXh0IHNwYW4ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgLnByZXYgc3BhbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgICB0aGVhZCB0aCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyggNiAwICk7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgdGgsIHRkIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIgMyk7XG4gICAgfVxuICAgIHRyIHtiYWNrZ3JvdW5kOiAkd2hpdGU7fVxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgfVxuICB9XG4gIHRkLmF2YWlsYWJsZTpob3ZlciwgdGguYXZhaWxhYmxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgdGQud2VlaywgdGgud2VlayB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgY29sb3I6ICNjY2M7XG4gIH1cbiAgdGQge1xuICAgICYub2ZmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAmLmluLXJhbmdlLCAmLnN0YXJ0LWRhdGUsICYuZW5kLWRhdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pbi1yYW5nZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJmNGY4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgJi5zdGFydC1kYXRlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICAgIH1cbiAgICAmLmVuZC1kYXRlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuICAgIH1cbiAgICAmLnN0YXJ0LWRhdGUuZW5kLWRhdGUge1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzU3ZWJkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTdlYmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB0aC5tb250aCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgdGQuZGlzYWJsZWQsIG9wdGlvbi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgfVxuICBzZWxlY3Qge1xuICAgICYubW9udGhzZWxlY3QsICYueWVhcnNlbGVjdCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICAgICYubW9udGhzZWxlY3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgIHdpZHRoOiA1NiU7XG4gICAgfVxuICAgICYueWVhcnNlbGVjdCB7XG4gICAgICB3aWR0aDogNDAlO1xuICAgIH1cbiAgICAmLmhvdXJzZWxlY3QsICYubWludXRlc2VsZWN0LCAmLnNlY29uZHNlbGVjdCwgJi5hbXBtc2VsZWN0IHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG4gIC5jYWxlbmRhci10aW1lIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA0cHggYXV0byAwIGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHNlbGVjdC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2NjYztcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG4gIC5kcnAtYnV0dG9ucyB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAuZHJwLXNlbGVjdGVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgfVxuICAuZHJwLWJ1dHRvbnMgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGV4dGVuZCAuYnV0dG9uLCAuc21hbGw7XG4gIH1cbiAgJi5zaG93LXJhbmdlcyAuZHJwLWNhbGVuZGFyLmxlZnQge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbiAgfVxuICAucmFuZ2VzIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAmLnNob3ctY2FsZW5kYXIgLnJhbmdlcyB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG4gIC5yYW5nZXMge1xuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgbGkge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA4YztcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qICBMYXJnZXIgU2NyZWVuIFN0eWxpbmcgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA1NjRweCkge1xuICAuZGF0ZXJhbmdlcGlja2VyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICAucmFuZ2VzIHVsIHtcbiAgICAgIHdpZHRoOiAxNDBweDtcbiAgICB9XG4gICAgJi5zaW5nbGUge1xuICAgICAgLnJhbmdlcyB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmRycC1jYWxlbmRhci5sZWZ0IHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICB9XG4gICAgICAmLmx0ciB7XG4gICAgICAgIC5yYW5nZXMsIC5kcnAtY2FsZW5kYXIge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnJ0bCB7XG4gICAgICAgIC5yYW5nZXMsIC5kcnAtY2FsZW5kYXIge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmx0ciB7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAuZHJwLWNhbGVuZGFyIHtcbiAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgLmNhbGVuZGFyLXRhYmxlIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYucmlnaHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIC5jYWxlbmRhci10YWJsZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmxlZnQgLmNhbGVuZGFyLXRhYmxlIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yYW5nZXMsIC5kcnAtY2FsZW5kYXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5ydGwge1xuICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIC5kcnAtY2FsZW5kYXIge1xuICAgICAgICAmLmxlZnQge1xuICAgICAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAuY2FsZW5kYXItdGFibGUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIC5jYWxlbmRhci10YWJsZSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmxlZnQgLmNhbGVuZGFyLXRhYmxlIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yYW5nZXMsIC5kcnAtY2FsZW5kYXIge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzMwcHgpIHtcbiAgLmRhdGVyYW5nZXBpY2tlciB7XG4gICAgLnJhbmdlcyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgJi5sdHIgLnJhbmdlcyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgJi5ydGwgLnJhbmdlcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIC5kcnAtY2FsZW5kYXIubGVmdCB7XG4gICAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4iLCIuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgIEBpbmNsdWRlIGJsYWNrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMDBweDtcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtKjM7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzIgJGdyaWQtbWVkaXVtO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIH1cbiAgICAmLmxhcmdlIHtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjEuNSAkZ3JpZC1tZWRpdW0qNDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgfVxufSIsIlxuXG4vLyBDQVJEIERFRkFVTFRTXG5cbnVsLmNhcmQtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgd2lkdGg6IDUwJTsgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogMzMuMzMlOyB9XG4gICAgfVxuICAgIC5jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKCRibGFjaywwLjE1KTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlZ3VsYXI7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMS4yICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IDAgcmdiYSgkc2Vjb25kYXJ5LWRhcmssMC4yMCk7XG4gICAgICAgICAgICBoMyB7IGNvbG9yOiAkc2Vjb25kYXJ5LWRhcms7IH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudGh1bWIge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE5OCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgaGVpZ2h0OiByZW0tY2FsYygxODApOyB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG4ucGFnZS1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaXVtO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiBBZGRyZXNzZXMgcGFydCBvZiB0aGVtZS1jaGVjayBpc3N1ZSAjODQwLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbn1cbiIsIi8vIEZpeCB0aGUgaXNzdWUgd2hlcmUgdGhlIFdQIGFkbWluLWJhciBvdmVybGFwcyB0aGUgbW9iaWxlIG1lbnVcbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBXUCBhZG1pbi1iYXIgZG9lcyBub3Qgb3ZlcmxhcCBGb3VuZGF0aW9uIGNvbXBvbmVudHNcbmJvZHkuYWRtaW4tYmFyIHtcbiAgLy8gT2Zmc2V0IHN0aWNreSB0b3AgYmFyXG4gICYuZi10b3BiYXItZml4ZWQge1xuICAgIC5zdGlja3kuZml4ZWQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAvLyBPZmZzZXQgbW9iaWxlIG9mZi1jYW52YXMgbWVudVxuICAmLm9mZmNhbnZhcyB7XG4gICAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDQ2KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzgzKSB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMzIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxucC53cC1jYXB0aW9uLXRleHR7XG4gIGZvbnQtc2l6ZTo5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOnJlbS1jYWxjKDEwKSAwO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmdhbGxlcnkge1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XG4gICAgJi5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoMiwgJy5nYWxsZXJ5LWl0ZW0nLCB0cnVlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgJi5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCg0LCAnLmdhbGxlcnktaXRlbScsIHRydWUsIChzbWFsbDogMzBweCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAmLmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmdhbGxlcnktaXRlbScsIHRydWUsIChzbWFsbDogMzBweCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZ2FsbGVyeS1pY29uID4gYSB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG4gIC5nYWxsZXJ5LWljb24gPiBpbWcge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiYm9keSB7b3ZlcmZsb3cteDogaGlkZGVuO31cbi8vIEdSSURcbi5tYWluLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICBtYXJnaW46IGF1dG87XG59XG4ubWFpbi1ncmlkIHsgLy8gVGhlIHdob2xlIHRoaW5nXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgPiAqIHtcbiAgICAgICAgZmxleDogMSAxIDAlO1xuICAgIH1cbn1cbi8vIFBMQUNFSE9MREVSXG4lZ2xvYmFsd2lkdGgge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4lc21hbGxlcndpZHRoIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDc2KTtcbn1cbiVzbWFsbGVzdHdpZHRoIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3MTMpO1xufVxuJWFycm93bGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzEuNTsgfVxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbGluZS1oZWlnaHQ6IDI7IH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J004LjYxNCA2SDEuMDI3QTEuMDExIDEuMDExIDAgMCAxIDAgNWMwLS41NTIuNDYtMSAxLjAyNy0xaDcuNTg4TDYuMjggMS42MjljLS40My0uNDU5LS4zOTUtLjk4MiAwLTEuMzU2LjM5NC0uMzc1IDEuMDYtLjM1MyAxLjQzMiAwIC4zNjkuMzUgMy45OTIgNC4wNDcgMy45OTIgNC4wNDdBLjkzNC45MzQgMCAwIDEgMTIgNWMwIC4yNDUtLjEuNDktLjI5Ni42NzkgMCAwLTMuNjIzIDMuNjk2LTMuOTkyIDQuMDQ3LS4zNzEuMzUzLTEuMDM4LjM3Ny0xLjQzMiAwLS4zOTUtLjM3NC0uNDMtLjg5OCAwLTEuMzU4TDguNjE0IDZ6JyBmaWxsPSclMjNFMjA3MTQnIGZpbGwtcnVsZT0nZXZlbm9kZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gREVGQVVMVFNcbiogeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4qW3N0eWxlKj1cInRleHQtZGVjb3JhdGlvblwiXSxcbnUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbmEge1xuICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAmOmZvY3VzIHsgb3V0bGluZTogMDt9XG59XG5iLHN0cm9uZyB7XG4gICAgQGluY2x1ZGUgYm9sZDtcbn1cbnAge1xuICAgIEBpbmNsdWRlIHJlZ3VsYXI7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzY7XG4gICAgJjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwO31cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICB9XG59XG5oMSB7XG4gICAgQGluY2x1ZGUgYm9sZDtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMCAwIDI1IDApO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg2NCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYwIDAgNDAgMCk7XG4gICAgfVxufVxuaDIgeyBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjt9XG5oMyB7IEBpbmNsdWRlIGJvbGQ7IH1cbmg0IHsgQGluY2x1ZGUgbWVkaXVtO31cbmg2IHsgQGluY2x1ZGUgYm9sZDt9XG5cbnNlY3Rpb24ge1xuICAgIGhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICBAZXh0ZW5kICVzbWFsbGVyd2lkdGg7XG4gICAgfVxufVxuXG4ucmVhZG1vcmUtd3JhcHBlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHNlY29uZGFyeS1jb2xvciwwLjEpO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgdGV4dC1hbGlnbjogcmlnaHQ7fVxufVxuYS5yZWFkbW9yZSB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgc3ZnIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBzdmcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTt9XG4gICAgfVxufVxuXG4uaW5uZXItd3JhcHBlciB7IEBleHRlbmQgJWdsb2JhbHdpZHRoOyB9XG5cbi5pbnRybyB7XG4gICBAaW5jbHVkZSBtZWRpdW07XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC41KTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgIH1cblxuXG59XG4uc3VwdGl0bGUge1xuICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLXNtYWxsLzI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEwZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0vNDtcbiAgICB9XG59XG4uc2VjdGlvbnRpdGxlIHtcbiAgICBAZXh0ZW5kIGgxO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWRhcms7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMS41IDAgJGdyaWQtbWVkaXVtKjEuNSAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yIDAgJGdyaWQtbWVkaXVtKjEuNSAwOyB9XG4gICAgJjphZnRlciB7IGRpc3BsYXk6IG5vbmU7fVxufVxuLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5iYWNrbGluay13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHRvcDogJGdyaWQtbWVkaXVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHRvcDogMDsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoLTMwKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyB0b3A6IHJlbS1jYWxjKC02MCk7IH1cbn1cbi5iYWNrbGluayB7XG4gICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgYSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgNDApO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtaW4taGVpZ2h0OiByZW0tY2FsYyg2NSk7fVxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgc3ZnIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTt9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5cbi8vIENVUlZFRCBERUZBVUxUU1xuLmN1cnZlZCB7XG4gICAgdHJhbnNmb3JtOiBza2V3KDBkZWcsIC0kZ2xvYmFsLXNrZXcpIHRyYW5zbGF0ZVkoLTEzMHB4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMTA7XG4gICAgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSo4O1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bSo4O1xuICAgIH1cbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2tldygwZGVnLCAkZ2xvYmFsLXNrZXcpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDExNTtcbiAgICB9XG59XG5cblxuLy8gS09QRkJJTERcbi5rb3BmYmlsZC13cmFwcGVyIHsgXG4gICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICAgIH1cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICYuY3VydmVkIHtcbiAgICAgICAgLy90cmFuc2Zvcm06IHNrZXcoMGRlZywgLSRnbG9iYWwtc2tldykgdHJhbnNsYXRlWSgtMjEwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC0xNDBweCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHttYXJnaW4tYm90dG9tOiAtMTQwcHg7fVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDExMCk7XG4gICAgICAgIH1cbiAgICAgICAgJiArIC5tYWluLXdyYXBwZXIgeyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMzt9XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIC8vdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHNrZXcoMGRlZywgJGdsb2JhbC1za2V3KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxufVxuXG4vKioqKioqKioqKiogSEVBREVSICoqKioqKioqKioqKioqL1xuLnN0aWNreS1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDIwMDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIC5zdGlja3kge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMHB4IHJnYmEoJGJsYWNrLDAuMjUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTM2KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5zaXRlLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMzIpO1xufVxuLmxvZ28td3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4OiAxIDEgYXV0bztcbn1cbi5sb2dvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTtcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMzUwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDQ1MCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5tb2JpbGUge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjgwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5sYW5nc3dpdGNoLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5sYW5nc3dpdGNoIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGxpIHtcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OlwiL1wiO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC4yNSk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjI1KTtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIC8vcGFkZGluZzogcmVtLWNhbGMoMCA4KTtcbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAmOmJlZm9yZSB7IGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMjUpO31cbiAgICAgICAgfVxuICAgIH1cbn1cbi8qKioqKioqKioqKioqKioqIENPTlRFTlQgKioqKioqKioqKioqKioqKiovXG5cbi8vIEhFQURFUlxuLmVudHJ5LWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtKjQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIC8vcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0qMztcbiAgICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW0qMztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBmb290ZXIsXG4gICAgaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAZXh0ZW5kICVzbWFsbGVzdHdpZHRoO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmctdG9wOiByZW0tY2FsYygwKTsgfVxuICAgIH1cblxufVxuXG5cblxuLyoqKioqKioqKioqKioqKiogRkxFWElCTEUgQ09OVEVOVCAqKioqKioqKioqKioqKioqKi9cbi5mbGV4aWJsZS1jb250ZW50IHtcbiAgICBAZXh0ZW5kICVzbWFsbGVzdHdpZHRoO1xuXG4gICAgcGFkZGluZy10b3A6ICRncmlkLXNtYWxsKjY7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtKjM7XG4gICAgfVxuICAgICYuaGFsZiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1zbWFsbCoyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICYudGhpcmQge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtc21hbGw7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIEFCU1TDhE5ERSBBVVNOQUhNRU4gOihcbi5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgKyAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbn1cbi5mbGV4aWJsZS1vZW1iZWQtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgKyAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyLFxuLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIge1xuICAgIGgyIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtKjQ7IH1cbiAgICB9XG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBwOmxhc3Qtb2YtdHlwZSArIHVsIHsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO31cbi5mbGV4aWJsZS1jb250YWluZXItd3JhcHBlciBkaXYuZmxleGlibGUtY29udGVudDpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtKjEuNTtcbn1cbi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgKyAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bSoxLjU7IH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKiogTkVXUyArIEFSQ0hJVkUgKioqKioqKioqKioqKiovXG4ubmV3cy1hcmNoaXZlIHtcbiAgICBoMSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uZXdzLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLm5ld3MtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bS8yO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IDMzLjMzJTt9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgaDMgeyBjb2xvcjogJHNlY29uZGFyeS1kYXJrO31cbiAgICAgICAgICAgIC50aHVtYiB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7IG9wYWNpdHk6IDE7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgICAgICAudGh1bWIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgcmdiYSgkd2hpdGUsMC41KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssMC4xNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0vMS41O1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZm9udC1zaXplOiByZW0tY2FsYygxNSk7IH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5uZXdzLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgbWFyZ2luOiAwcHggMCA1cHggMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDEzKTsgfVxufVxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqIEZPT1RFUiAqKioqKioqKioqKioqKioqKioqKi9cblxuLmZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktZGFyaztcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMyAwO1xuICAgICYuY3VydmVkIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNrZXcoMGRlZywgLSRnbG9iYWwtc2tldyk7fVxuICAgIC5mb290ZXItY29udGFpbmVyIHtcbiAgICAgICAgQGV4dGVuZCAlZ2xvYmFsd2lkdGg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmVmb3JlZm9vdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjt9XG4gICAgICAgIHAsbGksaDYsYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgaDYge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICBAaW5jbHVkZSByZWd1bGFyO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuICAgICAgICB9XG4gICAgICAgIGFbaHJlZl49XCJtYWlsdG9cIl0geyBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjt9XG4gICAgICAgIC5jb2wxLTItd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICAgICAgLmNvbDIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgbWFyZ2luOiAwICRncmlkLW1lZGl1bSo1O31cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29sMyB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiAyO1xuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDUwcHg7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg3IDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5mb290ZXItbWVudSB7XG5cbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS11bHRyYWRhcms7XG4gICAgLy9tYXJnaW4tdG9wOiAtMzBweDtcbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkgeyBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gMDsgfVxuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBtZWRpdW07XG4gICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwwLjcpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkd2hpdGU7fVxuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMjAgMCAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvcHlyaWdodCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbiIsIlxuLmhvbWUge1xuICAgIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICB9XG4gICAgc2VjdGlvbiB7XG4gICAgICAgID4gLmlubmVyLXdyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDY0MCk7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1heC13aWR0aDogcmVtLWNhbGMoMTIwMCk7fVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkgeyBwYWRkaW5nOiAwOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmludHJvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIEBleHRlbmQgJXNtYWxsZXN0d2lkdGg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwMCk7XG4gICAgICAgICYuY3VydmVkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge21hcmdpbi1ib3R0b206IC0xNDBweDt9XG4gICAgfVxuICAgIC5tYWluLXdyYXBwZXIgeyBtYXgtd2lkdGg6IG5vbmU7fVxuICAgIC5zZWN0aW9udGl0bGUge1xuICAgICAgIEBpbmNsdWRlIGJsYWNrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoNTYpOyB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZW50cnktY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTAwMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvb3RlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTI1MHB4O1xuICAgIH1cbn1cbi8vIElOVFJPXG4uZnJvbnQtaW50cm8td3JhcHBlciB7XG4gICAgLmZyb250LWludHJvLXRleHQge1xuICAgICAgICBtYXJnaW46ICRncmlkLXNtYWxsKjQgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBjb2x1bW5zOiAyO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogNjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtKjQgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGhvdG9iYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bS8yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgYSB7IHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yOyB9XG4gICAgfVxufVxuXG4vLyBGUk9OVCBVU1Bcbi5mcm9udC11c3Atd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG4gICAgLnN1cHRpdGxlIHsgY29sb3I6ICR3aGl0ZTsgfVxuICAgIC5zZWN0aW9udGl0bGUge1xuICAgICAgICBAZXh0ZW5kICVzbWFsbGVzdHdpZHRoO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7fVxuICAgIH1cbiAgICAuZnJvbnQtYm94ZXMtd3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTAyNCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gICAgb2wge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IHVzcC1jb3VudGVyO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qNSAwIDAgMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtLzI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qOSAtJGdyaWQtbWVkaXVtKjIgMCAtJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHVzcC1jb3VudGVyO1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yICRncmlkLW1lZGl1bS8yICRncmlkLW1lZGl1bS8yICRncmlkLW1lZGl1bSo3O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgd2lkdGg6IDUwJTsgcGFkZGluZzogJGdyaWQtbWVkaXVtKjEuNSAkZ3JpZC1tZWRpdW0qMzsgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKHVzcC1jb3VudGVyKTtcbiAgICAgICAgICAgICAgIEBpbmNsdWRlIGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUwKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMTBweCAxMHB4IDI1cHggcmdiYSgkYmxhY2ssMC4xNSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3VwdGl0bGUgeyB0ZXh0LWFsaWduOiBsZWZ0O31cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpdW07XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIH1cblxuICAgIH1cbn1cbi8vIERBVEEgREFURU5CTMOEVFRFUlxuLmZyb250LWRhdGEtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1saWdodGVzdDtcbiAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7cGFkZGluZzogJGdyaWQtbWVkaXVtKjMgMDt9XG4gICAgfVxuICAgIC5pbWctd3JhcHBlciB7ICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuaW50cm8ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG59XG5cbi8vIE5FV1NcblxuLmZyb250LW5ld3Mtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAwICRncmlkLW1lZGl1bSoxNyAwO1xufVxuXG5cblxuLy8gUFJPRFVDVFNcbi5mcm9udC1wcm9kdWN0cy13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeXNlbWlkYXJrIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnlzZW1pZGFyaywwLjgpO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1iZyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICAuc2VjdGlvbnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7fVxuICAgIH1cbiAgICAucHJvZHVjdHMge1xuICAgICAgICBAZXh0ZW5kICVzbWFsbGVyd2lkdGg7XG4gICAgICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qNSAwICRncmlkLW1lZGl1bSoyIDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qNSAtJGdyaWQtbWVkaXVtKjIgMCAtJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbn1cblxuLy8gRk9PVEVSIFBIT1RPXG4uZm9vdGVyLXBob3RvLXdyYXBwZXIge1xuICAgIGhlaWdodDogcmVtLWNhbGMoNjM0KTtcbiAgICB0cmFuc2Zvcm06IHNrZXcoMGRlZywgLSRnbG9iYWwtc2tldykgdHJhbnNsYXRlWSgtMTQwcHgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHNrZXcoMGRlZywgJGdsb2JhbC1za2V3KTtcbiAgICB9XG59IiwiXG4uZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXJ3aWR0aDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vNDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtLzQ7XG4gICAgfVxuICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vNDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bS80O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSRncmlkLW1lZGl1bSoyO1xuICAgICAgICB9XG4gICAgICAgIC5hcC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS80O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSozICRncmlkLW1lZGl1bS80ICRncmlkLW1lZGl1bS80ICRncmlkLW1lZGl1bS80O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hcC1tZXRhIHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAwIDAgMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFwLWZ1bmt0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgbWF4LXdpZHRoOiByZW0tY2FsYygxMjIpOyB9XG4gICAgICAgIH1cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJcbi8vIEZMRVhJQkxFIEJPWEVTXG4uZmxleGlibGUtYm94ZXMtd3JhcHBlciB7XG4gICAgLmZsZXhpYmxlLWJveGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtLzI7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB3aWR0aDogNTAlOyB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTVweCAwIHJnYmEoJGJsYWNrLDAuMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgkYmxhY2ssMC4xNSk7XG4gICAgICAgIH1cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwwLjMpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGg1IHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgfVxufSIsIi8vIEZMRVhJQkxFIEJVVFRPTlxuLmZsZXhpYmxlLWJ1dHRvbi13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLmZsZXhpYmxlLWNhcmRzLXdyYXBwZXIuZmxleGlibGUtY29udGVudCB7XG4gICAgQGV4dGVuZCAlc21hbGxlcndpZHRoO1xuICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgcCxcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBoMyB7IFxuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSAwIDAgMDtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7fVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmlubmVyLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbn0iLCJcbi8vIEZMRVhJQkxFIENBVEFMT0dTIFBERlxuLmZsZXhpYmxlLWNhdGFsb2dzLXdyYXBwZXIge1xuICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtLzI7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHdpZHRoOiA1MCU7IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogMzMuMzMlOyB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmJ1dHRvbiB7IGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKCRibGFjaywwLjE1KTtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bS8yO1xuICAgIH1cbiAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgIH1cbn0iLCJcblxuLy8gRkxFWElCTEUgQ09OVEFDVCAvIEFOU1BSRUNIUEFSVE5FUlxuLmZsZXhpYmxlLWNvbnRhY3Qtd3JhcHBlciB7XG4gICAgQGV4dGVuZCAlc21hbGxlcndpZHRoO1xuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bS8yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICB9XG4gICAgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgd2lkdGg6IDUwJTt9XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yO1xuICAgIH1cbiAgICAuaW5uZXJ3cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLDAuMSk7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIHN2ZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZnVuY3Rpb24ge1xuICAgICAgICBjb2xvcjogcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLDAuNSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgICAubWFpbHRvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg0KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKioqKioqKioqKioqKioqKioqKiogREFURU5CTMOEVFRFUiBUQUJFTExFICoqKioqKioqKioqKioqL1xuXG4uc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxufVxuXG50YWJsZSNkYXRhc2hlZXRzIHtcbiAgICBAZXh0ZW5kICVzbWFsbGVyd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGdyaWQtbWVkaXVtKjJ9KTtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtaW4td2lkdGg6IDU1LjI1cmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMSk7XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjEpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7ZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO31cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBibGFjaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICB0ciB7XG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge2JhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsMC4wMik7IH1cblxuICAgICAgICAmLmhpZGVSb3cge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1lc3NhZ2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICB9XG4gICAgICAgICoge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpdW07XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3I7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgJHNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3IgdXJsKC4uL2ltYWdlcy9pbmZvLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aCwgdGQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge3BhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bTt9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjEpO31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRkLCAuc3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpdW07XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjcpO1xuICAgIH1cbiAgICBhIHtmb250LXNpemU6IHJlbS1jYWxjKDE0KTt9XG4gICAgLnN1YnRpdGxlICB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBAaW5jbHVkZSByZWd1bGFyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW0qMjtcbiAgICB9XG4gICAgW2RhdGEtdG9vbHRpcF0ge1xuICAgICAgICAkc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMjUpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLW1lZGl1bS80O1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgfVxuICAgIFtkYXRhLWxhcmdlLXRvb2x0aXBdIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgJltkYXRhLXRvb2x0aXBdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcGFubnVuZyB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMzUwKTtcbiAgICB9XG5cbiAgICB0Zm9vdCB7ZGlzcGxheTogbm9uZTt9XG59XG5cbiNkYXRhc2hlZXQtZmlsdGVyIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAkZ3JpZC1tZWRpdW0qMiBhdXRvO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2VsZWN0LCBpbnB1dCwgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBAaW5jbHVkZSByZWd1bGFyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1MHB4KTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4wNik7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8xLjUgJGdyaWQtbWVkaXVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4wMyk7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlICsgI3skZ3JpZC1tZWRpdW19ICk7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsIDAuMjUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuMDMpIHVybCguLi9pbWFnZXMvYXJyb3cuc3ZnKSBjZW50ZXIgcmlnaHQgJGdyaWQtbWVkaXVtIG5vLXJlcGVhdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtKjI7XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDAgJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bS8yO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMS4yNSAkZ3JpZC1tZWRpdW0qMS41O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZpbHRlci1leHRlbmVkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDg0MCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4wNik7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggNTAlIC0gI3skZ3JpZC1tZWRpdW19ICk7XG4gICAgICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHdpZHRoOiBjYWxjKCA1MCUgLSAjeyRncmlkLW1lZGl1bX0gKTsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogY2FsYyggMzMlIC0gI3skZ3JpZC1tZWRpdW19ICk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgICNjbG9zZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIHJpZ2h0OiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3I7IH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2ZpbHRlci1yZXNldCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1tZWRpdW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgJjpob3ZlciB7Y29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbn1cbiIsIlxuLy8gRkxFWElCTEUgRE9XTkxPQURTXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXJ3aWR0aDtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO31cblxuXG5cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDMwIDIwIDYwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoJGJsYWNrLDAuMTUpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNC44MzMgOC41NDFWMS4xNjVhMSAxIDAgMSAxIDIgMHY3LjM3OGwyLjM3Mi0yLjI3Yy40NTgtLjQxOC45ODItLjM4NSAxLjM1NSAwIC4zNzYuMzgyLjM1MyAxLjAzIDAgMS4zOTEtLjM1LjM1OS00LjA0NyAzLjg4MS00LjA0NyAzLjg4MWEuOTQ3Ljk0NyAwIDAgMS0xLjM1OCAwUzEuNDU4IDguMDIzIDEuMTA3IDcuNjY0Yy0uMzUzLS4zNi0uMzc3LTEuMDA5IDAtMS4zOTIuMzc0LS4zODQuODk4LS40MTcgMS4zNTkgMGwyLjM2NyAyLjI3eicgZmlsbD0nJTIzRkZGJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLyUzRSUzQy9zdmclM0UlMEFcIikgY2VudGVyIGNlbnRlciAgbm8tcmVwZWF0O1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjgpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTZweDtcbiAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBwLCBoNiB7IGNvbG9yOiAkd2hpdGU7fVxuICAgICAgICB9XG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC41KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjY7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gRkxFWElCTEUgRURJVE9SXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXJ3aWR0aDtcbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgY29sb3I6ICRjeWFuO1xuICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICB9XG4gICAgdWwge1xuICAgICAgICBAZXh0ZW5kICVhcnJvd2xpc3Q7XG4gICAgfVxuICAgIGxpLFxuXG4gICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgbGluZS1oZWlnaHQ6IDEuMzc1OyAgfVxuICAgIH1cbiAgICBoMyB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTt9XG4gICAgaDIge1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSoyLjUgMCAkZ3JpZC1tZWRpdW0vMiAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ICBtYXJnaW46ICRncmlkLW1lZGl1bSo0IDAgJGdyaWQtbWVkaXVtLzIgMDsgfVxuICAgIH1cbiAgICBoNCB7IG1hcmdpbjogJGdyaWQtbWVkaXVtKjEuNSAwICRncmlkLW1lZGl1bS8yIDA7fVxufSIsIi8vIEZMRVhJQkxFIEZPUk1TXG4uZmxleGlibGUtZm9ybS13cmFwcGVyIHtcbiAgICBAZXh0ZW5kICVzbWFsbGVyd2lkdGg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkc2Vjb25kYXJ5LWxpZ2h0LDAuMSk7XG4gICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjIgJGdyaWQtbWVkaXVtO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAuZ3NlY3Rpb25fdGl0bGUgeyBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBmb250LWZhbWlseTogJ3JvYm90b2JvbGQnO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMCA3IDApO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKSwgdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkc2Vjb25kYXJ5LWxpZ2h0LDAuMTUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgfVxuICAgIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRncmlkLW1lZGl1bS8yO1xuICAgIH1cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICB9XG4gICAgLmdzZWN0aW9uX3RpdGxlIHsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7IH1cbiAgICAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJ3JvYm90b2JvbGQnO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgfVxuICAgIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdyb2JvdG9ib2xkJztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDEyIDgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM0UlM0NwYXRoIHRyYW5zZm9ybT0nbWF0cml4KC43MDcxMS0uNzA3MTEuNzA3MTEuNzA3MTEgMCAxLjY1NyknIGQ9J20yIDZoNnYyaC04di04aDJ6JyBmaWxsPSclMjNkYzJiMWMnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG5cblxuLy8gRkxFWElCTEUgR0FMTEVSWSAvIElNQUdFIEJVVFRPTlNcbi5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXJ3aWR0aDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMTY7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bS8xNjtcbiAgICB9XG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMTY7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0vMTY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgICYuZ3JvdyB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAvL2JvcmRlcjogNXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzE2O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICAvL2JvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLDAuNSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLDAuMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcjphZnRlcixcbiAgICAgICAgICAgICY6aG92ZXI6YmVmb3JlIHsgb3BhY2l0eTogMTt9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICB9XG59IiwiLyogZmFkZSBpbWFnZSBpbiBhZnRlciBsb2FkICovXG5cbi8qIFNwaW5uZXIgY2hlY2sgaHR0cDovL3NhbWhlcmJlcnQubmV0L3N2Zy1sb2FkZXJzLyAqL1xuXG4ubGF6eWxvYWQsXG4ubGF6eWxvYWRpbmcge1xuXHRvcGFjaXR5OiAwO1xufVxuLmxhenlsb2FkZWQge1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDYwMG1zO1xufVxuaW1nLmxhenlsb2FkOm5vdChbc3JjXSkge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4iXX0= */
