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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Poppins", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #2f4858;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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

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

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

.row {
  max-width: 66.66667rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -1.11111rem;
    margin-left: -1.11111rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.83333rem;
        margin-left: -0.83333rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.83333rem;
        margin-left: -0.83333rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 1.11111rem;
    padding-left: 1.11111rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.83333rem;
    padding-left: 0.83333rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 1.11111rem;
  padding-left: 1.11111rem; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.83333rem;
      padding-left: 0.83333rem; } }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

.column.row.row, .row.row.columns {
  float: none; }

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

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

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

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

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

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

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

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

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

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

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

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

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

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

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

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

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

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

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

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

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

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

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

.small-12 {
  width: 100%; }

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

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

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

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

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

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  float: left;
  margin-right: 0;
  margin-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.83333rem;
    padding-left: 0.83333rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.83333rem;
    padding-left: 0.83333rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

.column-block {
  margin-bottom: 2.22222rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 1.66667rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
.travel-item .flip-toggle,
h4,
.travel-item .flip-content .name,
body.page-template-page-topic .related-attraction-hdr,
h5,
.share-this .hdr,
h6,
pre,
form,
p,
address,
#tribe-events .tribe-events-ical,
#tribe-events .tribe-events-gcal,
body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
body.search .search-panel .search-keyword-label,
body.search .search-panel .search-keyword,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }


p,
address,
#tribe-events .tribe-events-ical,
#tribe-events .tribe-events-gcal,
body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
body.search .search-panel .search-keyword-label,
body.search .search-panel .search-keyword {
  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: bold;
  line-height: inherit; }

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

h1, .h1,
h2, .h2, body.post-type-archive-tribe_events .tribe-events-list-separator-month,
h3,
.travel-item .flip-toggle, .h3, body.post-type-archive-tribe_events .tribe-events-loop .title,
h4,
.travel-item .flip-content .name,
body.page-template-page-topic .related-attraction-hdr, .h4, body.single-tcc_member .hours-wrap .hdr,
h5,
.share-this .hdr, .h5,
h6, .h6 {
  font-family: "Poppins", sans-serif;
  font-style: normal;
  font-weight: 800;
  color: #2f4858;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small, body.post-type-archive-tribe_events .tribe-events-list-separator-month small,
  h3 small,
  .travel-item .flip-toggle small, .h3 small, body.post-type-archive-tribe_events .tribe-events-loop .title small,
  h4 small,
  .travel-item .flip-content .name small,
  body.page-template-page-topic .related-attraction-hdr small, .h4 small, body.single-tcc_member .hours-wrap .hdr small,
  h5 small,
  .share-this .hdr small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #333; }

h1, .h1 {
  font-size: 2.22222rem;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 1rem; }

h2, .h2, body.post-type-archive-tribe_events .tribe-events-list-separator-month {
  font-size: 1.77778rem;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 1rem; }


h3,
.travel-item .flip-toggle, .h3, body.post-type-archive-tribe_events .tribe-events-loop .title {
  font-size: 1.55556rem;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 1rem; }


h4,
.travel-item .flip-content .name,
body.page-template-page-topic .related-attraction-hdr, .h4, body.single-tcc_member .hours-wrap .hdr {
  font-size: 1.05556rem;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 1rem; }


h5,
.share-this .hdr, .h5 {
  font-size: 0.88889rem;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 1rem; }

h6, .h6 {
  font-size: 0.88889rem;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 1rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 2.77778rem; }
  h2, .h2, body.post-type-archive-tribe_events .tribe-events-list-separator-month {
    font-size: 2rem; }
  
  h3,
  .travel-item .flip-toggle, .h3, body.post-type-archive-tribe_events .tribe-events-loop .title {
    font-size: 1.66667rem; }
  
  h4,
  .travel-item .flip-content .name,
  body.page-template-page-topic .related-attraction-hdr, .h4, body.single-tcc_member .hours-wrap .hdr {
    font-size: 1.11111rem; }
  
  h5,
  .share-this .hdr, .h5 {
    font-size: 0.94444rem; }
  h6, .h6 {
    font-size: 0.94444rem; } }

@media print, screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 3.33333rem; }
  h2, .h2, body.post-type-archive-tribe_events .tribe-events-list-separator-month {
    font-size: 2.33333rem; }
  
  h3,
  .travel-item .flip-toggle, .h3, body.post-type-archive-tribe_events .tribe-events-loop .title {
    font-size: 1.77778rem; }
  
  h4,
  .travel-item .flip-content .name,
  body.page-template-page-topic .related-attraction-hdr, .h4, body.single-tcc_member .hours-wrap .hdr {
    font-size: 1.16667rem; }
  
  h5,
  .share-this .hdr, .h5 {
    font-size: 1rem; }
  h6, .h6 {
    font-size: 1rem; } }

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

hr {
  clear: both;
  max-width: 66.66667rem;
  height: 0;
  margin: 1.11111rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  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: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5rem 1.11111rem 0 1.05556rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p, blockquote address, blockquote #tribe-events .tribe-events-ical, #tribe-events blockquote .tribe-events-ical,
  blockquote #tribe-events .tribe-events-gcal, #tribe-events blockquote .tribe-events-gcal, blockquote body.post-type-archive-tribe_events #tribe-bar-form input[type=text], body.post-type-archive-tribe_events #tribe-bar-form blockquote input[type=text], blockquote body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop blockquote .tribe-events-venue-details, blockquote body.search .search-panel .search-keyword-label, body.search .search-panel blockquote .search-keyword-label, blockquote body.search .search-panel .search-keyword, body.search .search-panel blockquote .search-keyword {
    line-height: 1.6;
    color: #8a8a8a; }

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

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

figure {
  margin: 0; }

code {
  padding: 0.11111rem 0.27778rem 0.05556rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.11111rem 0.22222rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a; }

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

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

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat, address + .stat, #tribe-events .tribe-events-ical + .stat, #tribe-events .tribe-events-gcal + .stat, body.post-type-archive-tribe_events #tribe-bar-form input[type=text] + .stat, body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details + .stat, body.search .search-panel .search-keyword-label + .stat, body.search .search-panel .search-keyword + .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 print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

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

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  
  p,
  address,
  #tribe-events .tribe-events-ical,
  #tribe-events .tribe-events-gcal,
  body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
  body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
  body.search .search-panel .search-keyword-label,
  body.search .search-panel .search-keyword,
  h2,
  h3,
  .travel-item .flip-toggle {
    orphans: 3;
    widows: 3; }
  h2,
  h3,
  .travel-item .flip-toggle {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button, .bh-sl-form-container button[type="submit"],
.bh-sl-form-container button[type="submit"]:focus, body.post-type-archive-tribe_events button.tribe-events-c-search__button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #2f4858;
  color: #fefefe; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .bh-sl-form-container button[type="submit"], .bh-sl-form-container [data-whatinput='mouse'] button[type="submit"], [data-whatinput='mouse'] body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events [data-whatinput='mouse'] button.tribe-events-c-search__button {
    outline: 0; }
  .button:hover, .bh-sl-form-container button:hover[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button:hover, .button:focus, .bh-sl-form-container button:focus[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus {
    background-color: #283d4b;
    color: #fefefe; }
  .button.tiny, .bh-sl-form-container button.tiny[type="submit"], body.post-type-archive-tribe_events button.tiny.tribe-events-c-search__button {
    font-size: 0.6rem; }
  .button.small, .bh-sl-form-container button.small[type="submit"], body.post-type-archive-tribe_events button.small.tribe-events-c-search__button {
    font-size: 0.75rem; }
  .button.large, .bh-sl-form-container button.large[type="submit"], body.post-type-archive-tribe_events button.large.tribe-events-c-search__button {
    font-size: 1.25rem; }
  .button.expanded, .bh-sl-form-container button.expanded[type="submit"], body.post-type-archive-tribe_events button.expanded.tribe-events-c-search__button {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary, .bh-sl-form-container button.primary[type="submit"], body.post-type-archive-tribe_events button.primary.tribe-events-c-search__button {
    background-color: #2f4858;
    color: #fefefe; }
    .button.primary:hover, .bh-sl-form-container button.primary:hover[type="submit"], body.post-type-archive-tribe_events button.primary.tribe-events-c-search__button:hover, .button.primary:focus, .bh-sl-form-container button.primary:focus[type="submit"], body.post-type-archive-tribe_events button.primary.tribe-events-c-search__button:focus {
      background-color: #263a46;
      color: #fefefe; }
  .button.secondary, .bh-sl-form-container button.secondary[type="submit"], body.post-type-archive-tribe_events button.secondary.tribe-events-c-search__button {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .bh-sl-form-container button.secondary:hover[type="submit"], body.post-type-archive-tribe_events button.secondary.tribe-events-c-search__button:hover, .button.secondary:focus, .bh-sl-form-container button.secondary:focus[type="submit"], body.post-type-archive-tribe_events button.secondary.tribe-events-c-search__button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success, .bh-sl-form-container button.success[type="submit"], body.post-type-archive-tribe_events button.success.tribe-events-c-search__button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .bh-sl-form-container button.success:hover[type="submit"], body.post-type-archive-tribe_events button.success.tribe-events-c-search__button:hover, .button.success:focus, .bh-sl-form-container button.success:focus[type="submit"], body.post-type-archive-tribe_events button.success.tribe-events-c-search__button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning, .bh-sl-form-container button.warning[type="submit"], body.post-type-archive-tribe_events button.warning.tribe-events-c-search__button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .bh-sl-form-container button.warning:hover[type="submit"], body.post-type-archive-tribe_events button.warning.tribe-events-c-search__button:hover, .button.warning:focus, .bh-sl-form-container button.warning:focus[type="submit"], body.post-type-archive-tribe_events button.warning.tribe-events-c-search__button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert, .bh-sl-form-container button.alert[type="submit"], body.post-type-archive-tribe_events button.alert.tribe-events-c-search__button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .bh-sl-form-container button.alert:hover[type="submit"], body.post-type-archive-tribe_events button.alert.tribe-events-c-search__button:hover, .button.alert:focus, .bh-sl-form-container button.alert:focus[type="submit"], body.post-type-archive-tribe_events button.alert.tribe-events-c-search__button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, .bh-sl-form-container button.disabled[type="submit"], body.post-type-archive-tribe_events button.disabled.tribe-events-c-search__button, .button[disabled], .bh-sl-form-container button[disabled][type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .bh-sl-form-container button.disabled[type="submit"], body.post-type-archive-tribe_events button.disabled.tribe-events-c-search__button, .button.disabled:hover, .bh-sl-form-container button.disabled:hover[type="submit"], body.post-type-archive-tribe_events button.disabled.tribe-events-c-search__button:hover, .button.disabled:focus, .bh-sl-form-container button.disabled:focus[type="submit"], body.post-type-archive-tribe_events button.disabled.tribe-events-c-search__button:focus, .button[disabled], .bh-sl-form-container button[disabled][type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled], .button[disabled]:hover, .bh-sl-form-container button[disabled]:hover[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled]:hover, .button[disabled]:focus, .bh-sl-form-container button[disabled]:focus[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled]:focus {
      background-color: #2f4858;
      color: #fefefe; }
    .button.disabled.primary, .bh-sl-form-container button.disabled.primary[type="submit"], body.post-type-archive-tribe_events button.disabled.primary.tribe-events-c-search__button, .button[disabled].primary, .bh-sl-form-container button[disabled].primary[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .bh-sl-form-container button.disabled.primary[type="submit"], body.post-type-archive-tribe_events button.disabled.primary.tribe-events-c-search__button, .button.disabled.primary:hover, .bh-sl-form-container button.disabled.primary:hover[type="submit"], body.post-type-archive-tribe_events button.disabled.primary.tribe-events-c-search__button:hover, .button.disabled.primary:focus, .bh-sl-form-container button.disabled.primary:focus[type="submit"], body.post-type-archive-tribe_events button.disabled.primary.tribe-events-c-search__button:focus, .button[disabled].primary, .bh-sl-form-container button[disabled].primary[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].primary, .button[disabled].primary:hover, .bh-sl-form-container button[disabled].primary:hover[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].primary:hover, .button[disabled].primary:focus, .bh-sl-form-container button[disabled].primary:focus[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].primary:focus {
        background-color: #2f4858;
        color: #fefefe; }
    .button.disabled.secondary, .bh-sl-form-container button.disabled.secondary[type="submit"], body.post-type-archive-tribe_events button.disabled.secondary.tribe-events-c-search__button, .button[disabled].secondary, .bh-sl-form-container button[disabled].secondary[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .bh-sl-form-container button.disabled.secondary[type="submit"], body.post-type-archive-tribe_events button.disabled.secondary.tribe-events-c-search__button, .button.disabled.secondary:hover, .bh-sl-form-container button.disabled.secondary:hover[type="submit"], body.post-type-archive-tribe_events button.disabled.secondary.tribe-events-c-search__button:hover, .button.disabled.secondary:focus, .bh-sl-form-container button.disabled.secondary:focus[type="submit"], body.post-type-archive-tribe_events button.disabled.secondary.tribe-events-c-search__button:focus, .button[disabled].secondary, .bh-sl-form-container button[disabled].secondary[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].secondary, .button[disabled].secondary:hover, .bh-sl-form-container button[disabled].secondary:hover[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].secondary:hover, .button[disabled].secondary:focus, .bh-sl-form-container button[disabled].secondary:focus[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .bh-sl-form-container button.disabled.success[type="submit"], body.post-type-archive-tribe_events button.disabled.success.tribe-events-c-search__button, .button[disabled].success, .bh-sl-form-container button[disabled].success[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .bh-sl-form-container button.disabled.success[type="submit"], body.post-type-archive-tribe_events button.disabled.success.tribe-events-c-search__button, .button.disabled.success:hover, .bh-sl-form-container button.disabled.success:hover[type="submit"], body.post-type-archive-tribe_events button.disabled.success.tribe-events-c-search__button:hover, .button.disabled.success:focus, .bh-sl-form-container button.disabled.success:focus[type="submit"], body.post-type-archive-tribe_events button.disabled.success.tribe-events-c-search__button:focus, .button[disabled].success, .bh-sl-form-container button[disabled].success[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].success, .button[disabled].success:hover, .bh-sl-form-container button[disabled].success:hover[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].success:hover, .button[disabled].success:focus, .bh-sl-form-container button[disabled].success:focus[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, .bh-sl-form-container button.disabled.warning[type="submit"], body.post-type-archive-tribe_events button.disabled.warning.tribe-events-c-search__button, .button[disabled].warning, .bh-sl-form-container button[disabled].warning[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .bh-sl-form-container button.disabled.warning[type="submit"], body.post-type-archive-tribe_events button.disabled.warning.tribe-events-c-search__button, .button.disabled.warning:hover, .bh-sl-form-container button.disabled.warning:hover[type="submit"], body.post-type-archive-tribe_events button.disabled.warning.tribe-events-c-search__button:hover, .button.disabled.warning:focus, .bh-sl-form-container button.disabled.warning:focus[type="submit"], body.post-type-archive-tribe_events button.disabled.warning.tribe-events-c-search__button:focus, .button[disabled].warning, .bh-sl-form-container button[disabled].warning[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].warning, .button[disabled].warning:hover, .bh-sl-form-container button[disabled].warning:hover[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].warning:hover, .button[disabled].warning:focus, .bh-sl-form-container button[disabled].warning:focus[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .bh-sl-form-container button.disabled.alert[type="submit"], body.post-type-archive-tribe_events button.disabled.alert.tribe-events-c-search__button, .button[disabled].alert, .bh-sl-form-container button[disabled].alert[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .bh-sl-form-container button.disabled.alert[type="submit"], body.post-type-archive-tribe_events button.disabled.alert.tribe-events-c-search__button, .button.disabled.alert:hover, .bh-sl-form-container button.disabled.alert:hover[type="submit"], body.post-type-archive-tribe_events button.disabled.alert.tribe-events-c-search__button:hover, .button.disabled.alert:focus, .bh-sl-form-container button.disabled.alert:focus[type="submit"], body.post-type-archive-tribe_events button.disabled.alert.tribe-events-c-search__button:focus, .button[disabled].alert, .bh-sl-form-container button[disabled].alert[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].alert, .button[disabled].alert:hover, .bh-sl-form-container button[disabled].alert:hover[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].alert:hover, .button[disabled].alert:focus, .bh-sl-form-container button[disabled].alert:focus[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow, .bh-sl-form-container button.hollow[type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button {
    border: 1px solid #2f4858;
    color: #2f4858; }
    .button.hollow, .bh-sl-form-container button.hollow[type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button, .button.hollow:hover, .bh-sl-form-container button.hollow:hover[type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button:hover, .button.hollow:focus, .bh-sl-form-container button.hollow:focus[type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button:focus {
      background-color: transparent; }
    .button.hollow.disabled, .bh-sl-form-container button.hollow.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.disabled.tribe-events-c-search__button, .button.hollow.disabled:hover, .bh-sl-form-container button.hollow.disabled:hover[type="submit"], body.post-type-archive-tribe_events button.hollow.disabled.tribe-events-c-search__button:hover, .button.hollow.disabled:focus, .bh-sl-form-container button.hollow.disabled:focus[type="submit"], body.post-type-archive-tribe_events button.hollow.disabled.tribe-events-c-search__button:focus, .button.hollow[disabled], .bh-sl-form-container button.hollow[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button[disabled], .button.hollow[disabled]:hover, .bh-sl-form-container button.hollow[disabled]:hover[type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button[disabled]:hover, .button.hollow[disabled]:focus, .bh-sl-form-container button.hollow[disabled]:focus[type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .bh-sl-form-container button.hollow:hover[type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button:hover, .button.hollow:focus, .bh-sl-form-container button.hollow:focus[type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button:focus {
      border-color: #18242c;
      color: #18242c; }
      .button.hollow:hover.disabled, .bh-sl-form-container button.hollow:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button:hover.disabled, .button.hollow:hover[disabled], .bh-sl-form-container button.hollow:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button:hover[disabled], .button.hollow:focus.disabled, .bh-sl-form-container button.hollow:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button:focus.disabled, .button.hollow:focus[disabled], .bh-sl-form-container button.hollow:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.tribe-events-c-search__button:focus[disabled] {
        border: 1px solid #2f4858;
        color: #2f4858; }
    .button.hollow.primary, .bh-sl-form-container button.hollow.primary[type="submit"], body.post-type-archive-tribe_events button.hollow.primary.tribe-events-c-search__button {
      border: 1px solid #2f4858;
      color: #2f4858; }
      .button.hollow.primary:hover, .bh-sl-form-container button.hollow.primary:hover[type="submit"], body.post-type-archive-tribe_events button.hollow.primary.tribe-events-c-search__button:hover, .button.hollow.primary:focus, .bh-sl-form-container button.hollow.primary:focus[type="submit"], body.post-type-archive-tribe_events button.hollow.primary.tribe-events-c-search__button:focus {
        border-color: #18242c;
        color: #18242c; }
        .button.hollow.primary:hover.disabled, .bh-sl-form-container button.hollow.primary:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.primary.tribe-events-c-search__button:hover.disabled, .button.hollow.primary:hover[disabled], .bh-sl-form-container button.hollow.primary:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.primary.tribe-events-c-search__button:hover[disabled], .button.hollow.primary:focus.disabled, .bh-sl-form-container button.hollow.primary:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.primary.tribe-events-c-search__button:focus.disabled, .button.hollow.primary:focus[disabled], .bh-sl-form-container button.hollow.primary:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.primary.tribe-events-c-search__button:focus[disabled] {
          border: 1px solid #2f4858;
          color: #2f4858; }
    .button.hollow.secondary, .bh-sl-form-container button.hollow.secondary[type="submit"], body.post-type-archive-tribe_events button.hollow.secondary.tribe-events-c-search__button {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .bh-sl-form-container button.hollow.secondary:hover[type="submit"], body.post-type-archive-tribe_events button.hollow.secondary.tribe-events-c-search__button:hover, .button.hollow.secondary:focus, .bh-sl-form-container button.hollow.secondary:focus[type="submit"], body.post-type-archive-tribe_events button.hollow.secondary.tribe-events-c-search__button:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .bh-sl-form-container button.hollow.secondary:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.secondary.tribe-events-c-search__button:hover.disabled, .button.hollow.secondary:hover[disabled], .bh-sl-form-container button.hollow.secondary:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.secondary.tribe-events-c-search__button:hover[disabled], .button.hollow.secondary:focus.disabled, .bh-sl-form-container button.hollow.secondary:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.secondary.tribe-events-c-search__button:focus.disabled, .button.hollow.secondary:focus[disabled], .bh-sl-form-container button.hollow.secondary:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.secondary.tribe-events-c-search__button:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success, .bh-sl-form-container button.hollow.success[type="submit"], body.post-type-archive-tribe_events button.hollow.success.tribe-events-c-search__button {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .bh-sl-form-container button.hollow.success:hover[type="submit"], body.post-type-archive-tribe_events button.hollow.success.tribe-events-c-search__button:hover, .button.hollow.success:focus, .bh-sl-form-container button.hollow.success:focus[type="submit"], body.post-type-archive-tribe_events button.hollow.success.tribe-events-c-search__button:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .bh-sl-form-container button.hollow.success:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.success.tribe-events-c-search__button:hover.disabled, .button.hollow.success:hover[disabled], .bh-sl-form-container button.hollow.success:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.success.tribe-events-c-search__button:hover[disabled], .button.hollow.success:focus.disabled, .bh-sl-form-container button.hollow.success:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.success.tribe-events-c-search__button:focus.disabled, .button.hollow.success:focus[disabled], .bh-sl-form-container button.hollow.success:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.success.tribe-events-c-search__button:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning, .bh-sl-form-container button.hollow.warning[type="submit"], body.post-type-archive-tribe_events button.hollow.warning.tribe-events-c-search__button {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .bh-sl-form-container button.hollow.warning:hover[type="submit"], body.post-type-archive-tribe_events button.hollow.warning.tribe-events-c-search__button:hover, .button.hollow.warning:focus, .bh-sl-form-container button.hollow.warning:focus[type="submit"], body.post-type-archive-tribe_events button.hollow.warning.tribe-events-c-search__button:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .bh-sl-form-container button.hollow.warning:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.warning.tribe-events-c-search__button:hover.disabled, .button.hollow.warning:hover[disabled], .bh-sl-form-container button.hollow.warning:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.warning.tribe-events-c-search__button:hover[disabled], .button.hollow.warning:focus.disabled, .bh-sl-form-container button.hollow.warning:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.warning.tribe-events-c-search__button:focus.disabled, .button.hollow.warning:focus[disabled], .bh-sl-form-container button.hollow.warning:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.warning.tribe-events-c-search__button:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert, .bh-sl-form-container button.hollow.alert[type="submit"], body.post-type-archive-tribe_events button.hollow.alert.tribe-events-c-search__button {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .bh-sl-form-container button.hollow.alert:hover[type="submit"], body.post-type-archive-tribe_events button.hollow.alert.tribe-events-c-search__button:hover, .button.hollow.alert:focus, .bh-sl-form-container button.hollow.alert:focus[type="submit"], body.post-type-archive-tribe_events button.hollow.alert.tribe-events-c-search__button:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .bh-sl-form-container button.hollow.alert:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.alert.tribe-events-c-search__button:hover.disabled, .button.hollow.alert:hover[disabled], .bh-sl-form-container button.hollow.alert:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.alert.tribe-events-c-search__button:hover[disabled], .button.hollow.alert:focus.disabled, .bh-sl-form-container button.hollow.alert:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.hollow.alert.tribe-events-c-search__button:focus.disabled, .button.hollow.alert:focus[disabled], .bh-sl-form-container button.hollow.alert:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.hollow.alert.tribe-events-c-search__button:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear, .bh-sl-form-container button.clear[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button {
    border: 1px solid #2f4858;
    color: #2f4858; }
    .button.clear, .bh-sl-form-container button.clear[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button, .button.clear:hover, .bh-sl-form-container button.clear:hover[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:hover, .button.clear:focus, .bh-sl-form-container button.clear:focus[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:focus {
      background-color: transparent; }
    .button.clear.disabled, .bh-sl-form-container button.clear.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.disabled.tribe-events-c-search__button, .button.clear.disabled:hover, .bh-sl-form-container button.clear.disabled:hover[type="submit"], body.post-type-archive-tribe_events button.clear.disabled.tribe-events-c-search__button:hover, .button.clear.disabled:focus, .bh-sl-form-container button.clear.disabled:focus[type="submit"], body.post-type-archive-tribe_events button.clear.disabled.tribe-events-c-search__button:focus, .button.clear[disabled], .bh-sl-form-container button.clear[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button[disabled], .button.clear[disabled]:hover, .bh-sl-form-container button.clear[disabled]:hover[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button[disabled]:hover, .button.clear[disabled]:focus, .bh-sl-form-container button.clear[disabled]:focus[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .bh-sl-form-container button.clear:hover[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:hover, .button.clear:focus, .bh-sl-form-container button.clear:focus[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:focus {
      border-color: #18242c;
      color: #18242c; }
      .button.clear:hover.disabled, .bh-sl-form-container button.clear:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:hover.disabled, .button.clear:hover[disabled], .bh-sl-form-container button.clear:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:hover[disabled], .button.clear:focus.disabled, .bh-sl-form-container button.clear:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:focus.disabled, .button.clear:focus[disabled], .bh-sl-form-container button.clear:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:focus[disabled] {
        border: 1px solid #2f4858;
        color: #2f4858; }
    .button.clear, .bh-sl-form-container button.clear[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button, .button.clear.disabled, .bh-sl-form-container button.clear.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.disabled.tribe-events-c-search__button, .button.clear[disabled], .bh-sl-form-container button.clear[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button[disabled], .button.clear:hover, .bh-sl-form-container button.clear:hover[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:hover, .button.clear:hover.disabled, .bh-sl-form-container button.clear:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:hover.disabled, .button.clear:hover[disabled], .bh-sl-form-container button.clear:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:hover[disabled], .button.clear:focus, .bh-sl-form-container button.clear:focus[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:focus, .button.clear:focus.disabled, .bh-sl-form-container button.clear:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:focus.disabled, .button.clear:focus[disabled], .bh-sl-form-container button.clear:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.tribe-events-c-search__button:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary, .bh-sl-form-container button.clear.primary[type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button {
      border: 1px solid #2f4858;
      color: #2f4858; }
      .button.clear.primary:hover, .bh-sl-form-container button.clear.primary:hover[type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:hover, .button.clear.primary:focus, .bh-sl-form-container button.clear.primary:focus[type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:focus {
        border-color: #18242c;
        color: #18242c; }
        .button.clear.primary:hover.disabled, .bh-sl-form-container button.clear.primary:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:hover.disabled, .button.clear.primary:hover[disabled], .bh-sl-form-container button.clear.primary:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:hover[disabled], .button.clear.primary:focus.disabled, .bh-sl-form-container button.clear.primary:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:focus.disabled, .button.clear.primary:focus[disabled], .bh-sl-form-container button.clear.primary:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:focus[disabled] {
          border: 1px solid #2f4858;
          color: #2f4858; }
      .button.clear.primary, .bh-sl-form-container button.clear.primary[type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button, .button.clear.primary.disabled, .bh-sl-form-container button.clear.primary.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.primary.disabled.tribe-events-c-search__button, .button.clear.primary[disabled], .bh-sl-form-container button.clear.primary[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button[disabled], .button.clear.primary:hover, .bh-sl-form-container button.clear.primary:hover[type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:hover, .button.clear.primary:hover.disabled, .bh-sl-form-container button.clear.primary:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:hover.disabled, .button.clear.primary:hover[disabled], .bh-sl-form-container button.clear.primary:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:hover[disabled], .button.clear.primary:focus, .bh-sl-form-container button.clear.primary:focus[type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:focus, .button.clear.primary:focus.disabled, .bh-sl-form-container button.clear.primary:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:focus.disabled, .button.clear.primary:focus[disabled], .bh-sl-form-container button.clear.primary:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.primary.tribe-events-c-search__button:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary, .bh-sl-form-container button.clear.secondary[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .bh-sl-form-container button.clear.secondary:hover[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:hover, .button.clear.secondary:focus, .bh-sl-form-container button.clear.secondary:focus[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .bh-sl-form-container button.clear.secondary:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:hover.disabled, .button.clear.secondary:hover[disabled], .bh-sl-form-container button.clear.secondary:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:hover[disabled], .button.clear.secondary:focus.disabled, .bh-sl-form-container button.clear.secondary:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:focus.disabled, .button.clear.secondary:focus[disabled], .bh-sl-form-container button.clear.secondary:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .bh-sl-form-container button.clear.secondary[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button, .button.clear.secondary.disabled, .bh-sl-form-container button.clear.secondary.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.disabled.tribe-events-c-search__button, .button.clear.secondary[disabled], .bh-sl-form-container button.clear.secondary[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button[disabled], .button.clear.secondary:hover, .bh-sl-form-container button.clear.secondary:hover[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:hover, .button.clear.secondary:hover.disabled, .bh-sl-form-container button.clear.secondary:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:hover.disabled, .button.clear.secondary:hover[disabled], .bh-sl-form-container button.clear.secondary:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:hover[disabled], .button.clear.secondary:focus, .bh-sl-form-container button.clear.secondary:focus[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:focus, .button.clear.secondary:focus.disabled, .bh-sl-form-container button.clear.secondary:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:focus.disabled, .button.clear.secondary:focus[disabled], .bh-sl-form-container button.clear.secondary:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.secondary.tribe-events-c-search__button:focus[disabled] {
        border-color: transparent; }
    .button.clear.success, .bh-sl-form-container button.clear.success[type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .bh-sl-form-container button.clear.success:hover[type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:hover, .button.clear.success:focus, .bh-sl-form-container button.clear.success:focus[type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .bh-sl-form-container button.clear.success:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:hover.disabled, .button.clear.success:hover[disabled], .bh-sl-form-container button.clear.success:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:hover[disabled], .button.clear.success:focus.disabled, .bh-sl-form-container button.clear.success:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:focus.disabled, .button.clear.success:focus[disabled], .bh-sl-form-container button.clear.success:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .bh-sl-form-container button.clear.success[type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button, .button.clear.success.disabled, .bh-sl-form-container button.clear.success.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.success.disabled.tribe-events-c-search__button, .button.clear.success[disabled], .bh-sl-form-container button.clear.success[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button[disabled], .button.clear.success:hover, .bh-sl-form-container button.clear.success:hover[type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:hover, .button.clear.success:hover.disabled, .bh-sl-form-container button.clear.success:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:hover.disabled, .button.clear.success:hover[disabled], .bh-sl-form-container button.clear.success:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:hover[disabled], .button.clear.success:focus, .bh-sl-form-container button.clear.success:focus[type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:focus, .button.clear.success:focus.disabled, .bh-sl-form-container button.clear.success:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:focus.disabled, .button.clear.success:focus[disabled], .bh-sl-form-container button.clear.success:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.success.tribe-events-c-search__button:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning, .bh-sl-form-container button.clear.warning[type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .bh-sl-form-container button.clear.warning:hover[type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:hover, .button.clear.warning:focus, .bh-sl-form-container button.clear.warning:focus[type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .bh-sl-form-container button.clear.warning:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:hover.disabled, .button.clear.warning:hover[disabled], .bh-sl-form-container button.clear.warning:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:hover[disabled], .button.clear.warning:focus.disabled, .bh-sl-form-container button.clear.warning:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:focus.disabled, .button.clear.warning:focus[disabled], .bh-sl-form-container button.clear.warning:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .bh-sl-form-container button.clear.warning[type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button, .button.clear.warning.disabled, .bh-sl-form-container button.clear.warning.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.warning.disabled.tribe-events-c-search__button, .button.clear.warning[disabled], .bh-sl-form-container button.clear.warning[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button[disabled], .button.clear.warning:hover, .bh-sl-form-container button.clear.warning:hover[type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:hover, .button.clear.warning:hover.disabled, .bh-sl-form-container button.clear.warning:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:hover.disabled, .button.clear.warning:hover[disabled], .bh-sl-form-container button.clear.warning:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:hover[disabled], .button.clear.warning:focus, .bh-sl-form-container button.clear.warning:focus[type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:focus, .button.clear.warning:focus.disabled, .bh-sl-form-container button.clear.warning:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:focus.disabled, .button.clear.warning:focus[disabled], .bh-sl-form-container button.clear.warning:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.warning.tribe-events-c-search__button:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert, .bh-sl-form-container button.clear.alert[type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .bh-sl-form-container button.clear.alert:hover[type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:hover, .button.clear.alert:focus, .bh-sl-form-container button.clear.alert:focus[type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .bh-sl-form-container button.clear.alert:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:hover.disabled, .button.clear.alert:hover[disabled], .bh-sl-form-container button.clear.alert:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:hover[disabled], .button.clear.alert:focus.disabled, .bh-sl-form-container button.clear.alert:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:focus.disabled, .button.clear.alert:focus[disabled], .bh-sl-form-container button.clear.alert:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .bh-sl-form-container button.clear.alert[type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button, .button.clear.alert.disabled, .bh-sl-form-container button.clear.alert.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.alert.disabled.tribe-events-c-search__button, .button.clear.alert[disabled], .bh-sl-form-container button.clear.alert[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button[disabled], .button.clear.alert:hover, .bh-sl-form-container button.clear.alert:hover[type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:hover, .button.clear.alert:hover.disabled, .bh-sl-form-container button.clear.alert:hover.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:hover.disabled, .button.clear.alert:hover[disabled], .bh-sl-form-container button.clear.alert:hover[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:hover[disabled], .button.clear.alert:focus, .bh-sl-form-container button.clear.alert:focus[type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:focus, .button.clear.alert:focus.disabled, .bh-sl-form-container button.clear.alert:focus.disabled[type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:focus.disabled, .button.clear.alert:focus[disabled], .bh-sl-form-container button.clear.alert:focus[disabled][type="submit"], body.post-type-archive-tribe_events button.clear.alert.tribe-events-c-search__button:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after, .bh-sl-form-container button.dropdown[type="submit"]::after, body.post-type-archive-tribe_events button.dropdown.tribe-events-c-search__button::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .bh-sl-form-container button.dropdown.hollow[type="submit"]::after, body.post-type-archive-tribe_events button.dropdown.hollow.tribe-events-c-search__button::after {
    border-top-color: #2f4858; }
  .button.dropdown.hollow.primary::after, .bh-sl-form-container button.dropdown.hollow.primary[type="submit"]::after, body.post-type-archive-tribe_events button.dropdown.hollow.primary.tribe-events-c-search__button::after {
    border-top-color: #2f4858; }
  .button.dropdown.hollow.secondary::after, .bh-sl-form-container button.dropdown.hollow.secondary[type="submit"]::after, body.post-type-archive-tribe_events button.dropdown.hollow.secondary.tribe-events-c-search__button::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after, .bh-sl-form-container button.dropdown.hollow.success[type="submit"]::after, body.post-type-archive-tribe_events button.dropdown.hollow.success.tribe-events-c-search__button::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .bh-sl-form-container button.dropdown.hollow.warning[type="submit"]::after, body.post-type-archive-tribe_events button.dropdown.hollow.warning.tribe-events-c-search__button::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .bh-sl-form-container button.dropdown.hollow.alert[type="submit"]::after, body.post-type-archive-tribe_events button.dropdown.hollow.alert.tribe-events-c-search__button::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after, .bh-sl-form-container button.arrow-only[type="submit"]::after, body.post-type-archive-tribe_events button.arrow-only.tribe-events-c-search__button::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 0.77778rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 0.88889rem;
    padding: 0.5rem 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #2f4858; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

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

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button, .button-group .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group button[type="submit"], .button-group body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group button.tribe-events-c-search__button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child, .button-group .bh-sl-form-container button:last-child[type="submit"], .bh-sl-form-container .button-group button:last-child[type="submit"], .button-group body.post-type-archive-tribe_events button.tribe-events-c-search__button:last-child, body.post-type-archive-tribe_events .button-group button.tribe-events-c-search__button:last-child {
      margin-right: 0; }
  .button-group.tiny .button, .button-group.tiny .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.tiny button[type="submit"], .button-group.tiny body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.tiny button.tribe-events-c-search__button {
    font-size: 0.6rem; }
  .button-group.small .button, .button-group.small .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.small button[type="submit"], .button-group.small body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.small button.tribe-events-c-search__button {
    font-size: 0.75rem; }
  .button-group.large .button, .button-group.large .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.large button[type="submit"], .button-group.large body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.large button.tribe-events-c-search__button {
    font-size: 1.25rem; }
  .button-group.expanded .button, .button-group.expanded .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.expanded button[type="submit"], .button-group.expanded body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.expanded button.tribe-events-c-search__button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.primary button[type="submit"], .button-group.primary body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.primary button.tribe-events-c-search__button {
    background-color: #2f4858;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .bh-sl-form-container button:hover[type="submit"], .bh-sl-form-container .button-group.primary button:hover[type="submit"], .button-group.primary body.post-type-archive-tribe_events button.tribe-events-c-search__button:hover, body.post-type-archive-tribe_events .button-group.primary button.tribe-events-c-search__button:hover, .button-group.primary .button:focus, .button-group.primary .bh-sl-form-container button:focus[type="submit"], .bh-sl-form-container .button-group.primary button:focus[type="submit"], .button-group.primary body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus, body.post-type-archive-tribe_events .button-group.primary button.tribe-events-c-search__button:focus {
      background-color: #263a46;
      color: #fefefe; }
  .button-group.secondary .button, .button-group.secondary .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.secondary button[type="submit"], .button-group.secondary body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.secondary button.tribe-events-c-search__button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .bh-sl-form-container button:hover[type="submit"], .bh-sl-form-container .button-group.secondary button:hover[type="submit"], .button-group.secondary body.post-type-archive-tribe_events button.tribe-events-c-search__button:hover, body.post-type-archive-tribe_events .button-group.secondary button.tribe-events-c-search__button:hover, .button-group.secondary .button:focus, .button-group.secondary .bh-sl-form-container button:focus[type="submit"], .bh-sl-form-container .button-group.secondary button:focus[type="submit"], .button-group.secondary body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus, body.post-type-archive-tribe_events .button-group.secondary button.tribe-events-c-search__button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button, .button-group.success .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.success button[type="submit"], .button-group.success body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.success button.tribe-events-c-search__button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .bh-sl-form-container button:hover[type="submit"], .bh-sl-form-container .button-group.success button:hover[type="submit"], .button-group.success body.post-type-archive-tribe_events button.tribe-events-c-search__button:hover, body.post-type-archive-tribe_events .button-group.success button.tribe-events-c-search__button:hover, .button-group.success .button:focus, .button-group.success .bh-sl-form-container button:focus[type="submit"], .bh-sl-form-container .button-group.success button:focus[type="submit"], .button-group.success body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus, body.post-type-archive-tribe_events .button-group.success button.tribe-events-c-search__button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button, .button-group.warning .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.warning button[type="submit"], .button-group.warning body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.warning button.tribe-events-c-search__button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .bh-sl-form-container button:hover[type="submit"], .bh-sl-form-container .button-group.warning button:hover[type="submit"], .button-group.warning body.post-type-archive-tribe_events button.tribe-events-c-search__button:hover, body.post-type-archive-tribe_events .button-group.warning button.tribe-events-c-search__button:hover, .button-group.warning .button:focus, .button-group.warning .bh-sl-form-container button:focus[type="submit"], .bh-sl-form-container .button-group.warning button:focus[type="submit"], .button-group.warning body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus, body.post-type-archive-tribe_events .button-group.warning button.tribe-events-c-search__button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button, .button-group.alert .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.alert button[type="submit"], .button-group.alert body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.alert button.tribe-events-c-search__button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .bh-sl-form-container button:hover[type="submit"], .bh-sl-form-container .button-group.alert button:hover[type="submit"], .button-group.alert body.post-type-archive-tribe_events button.tribe-events-c-search__button:hover, body.post-type-archive-tribe_events .button-group.alert button.tribe-events-c-search__button:hover, .button-group.alert .button:focus, .button-group.alert .bh-sl-form-container button:focus[type="submit"], .bh-sl-form-container .button-group.alert button:focus[type="submit"], .button-group.alert body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus, body.post-type-archive-tribe_events .button-group.alert button.tribe-events-c-search__button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.stacked button[type="submit"], .button-group.stacked body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.stacked button.tribe-events-c-search__button, .button-group.stacked-for-small .button, .button-group.stacked-for-small .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.stacked-for-small button[type="submit"], .button-group.stacked-for-small body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.stacked-for-small button.tribe-events-c-search__button, .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.stacked-for-medium button[type="submit"], .button-group.stacked-for-medium body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.stacked-for-medium button.tribe-events-c-search__button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked .bh-sl-form-container button:last-child[type="submit"], .bh-sl-form-container .button-group.stacked button:last-child[type="submit"], .button-group.stacked body.post-type-archive-tribe_events button.tribe-events-c-search__button:last-child, body.post-type-archive-tribe_events .button-group.stacked button.tribe-events-c-search__button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small .bh-sl-form-container button:last-child[type="submit"], .bh-sl-form-container .button-group.stacked-for-small button:last-child[type="submit"], .button-group.stacked-for-small body.post-type-archive-tribe_events button.tribe-events-c-search__button:last-child, body.post-type-archive-tribe_events .button-group.stacked-for-small button.tribe-events-c-search__button:last-child, .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium .bh-sl-form-container button:last-child[type="submit"], .bh-sl-form-container .button-group.stacked-for-medium button:last-child[type="submit"], .button-group.stacked-for-medium body.post-type-archive-tribe_events button.tribe-events-c-search__button:last-child, body.post-type-archive-tribe_events .button-group.stacked-for-medium button.tribe-events-c-search__button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button, .button-group.stacked-for-small .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.stacked-for-small button[type="submit"], .button-group.stacked-for-small body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.stacked-for-small button.tribe-events-c-search__button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.stacked-for-medium button[type="submit"], .button-group.stacked-for-medium body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.stacked-for-medium button.tribe-events-c-search__button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .bh-sl-form-container button[type="submit"], .bh-sl-form-container .button-group.stacked-for-small.expanded button[type="submit"], .button-group.stacked-for-small.expanded body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .button-group.stacked-for-small.expanded button.tribe-events-c-search__button {
        display: block;
        margin-right: 0; } }

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

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

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

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

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

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

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

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

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

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

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

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

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #2C3840; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .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: 250px;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    .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(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    .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(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

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

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

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

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

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

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

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

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

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

.orbit-previous {
  left: 0; }

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.05556rem;
    border-radius: 0;
    font-size: 0.77778rem;
    display: inline-block; }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.16667rem 0.55556rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.16667rem 0.55556rem;
    background: #2f4858;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.16667rem 0.55556rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.16667rem 0.55556rem;
    content: '\2026';
    color: #0a0a0a; }

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

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

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

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

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

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

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

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

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

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

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.44444rem 0.55556rem 0.55556rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #2f4858; }
  tfoot {
    background: #f1f1f1;
    color: #2f4858; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.44444rem 0.55556rem 0.55556rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.44444rem 0.55556rem 0.55556rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

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

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

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

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

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

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

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

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

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

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

.tabs.primary {
  background: #2f4858; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #365264; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
h1, .h1 {
  font-family: "Abril Fatface", serif;
  font-weight: 400;
  line-height: 1.1; }

h1.hdrsmall, .h1.hdrsmall {
  color: #33658a; }

h2, .h2, body.post-type-archive-tribe_events .tribe-events-list-separator-month {
  margin-left: -3px;
  font-family: "Unica One", serif;
  font-weight: 400;
  text-transform: uppercase; }


h3,
.travel-item .flip-toggle, .h3, body.post-type-archive-tribe_events .tribe-events-loop .title {
  margin-left: -3px;
  font-family: "Unica One", serif;
  font-weight: 400;
  text-transform: uppercase; }


p,
address,
#tribe-events .tribe-events-ical,
#tribe-events .tribe-events-gcal,
body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
body.search .search-panel .search-keyword-label,
body.search .search-panel .search-keyword {
  font-size: 0.88889rem; }
  @media print, screen and (min-width: 64em) {
    
    p,
    address,
    #tribe-events .tribe-events-ical,
    #tribe-events .tribe-events-gcal,
    body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
    body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
    body.search .search-panel .search-keyword-label,
    body.search .search-panel .search-keyword {
      font-size: 1rem; } }

p.big, address.big, section.intro p, section.intro address, section.intro #tribe-events .tribe-events-ical, #tribe-events section.intro .tribe-events-ical,
section.intro #tribe-events .tribe-events-gcal, #tribe-events section.intro .tribe-events-gcal, section.intro body.post-type-archive-tribe_events #tribe-bar-form input[type=text], body.post-type-archive-tribe_events #tribe-bar-form section.intro input[type=text], section.intro body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop section.intro .tribe-events-venue-details, section.intro body.search .search-panel .search-keyword-label, body.search .search-panel section.intro .search-keyword-label, section.intro body.search .search-panel .search-keyword, body.search .search-panel section.intro .search-keyword, #tribe-events .big.tribe-events-ical,
#tribe-events .big.tribe-events-gcal, body.post-type-archive-tribe_events #tribe-bar-form input.big[type=text], body.post-type-archive-tribe_events .tribe-events-loop .big.tribe-events-venue-details, body.search .search-panel .big.search-keyword-label, body.search .search-panel .big.search-keyword {
  font-size: 1rem; }
  @media print, screen and (min-width: 40em) {
    p.big, address.big, section.intro p, section.intro address, section.intro #tribe-events .tribe-events-ical, #tribe-events section.intro .tribe-events-ical,
    section.intro #tribe-events .tribe-events-gcal, #tribe-events section.intro .tribe-events-gcal, section.intro body.post-type-archive-tribe_events #tribe-bar-form input[type=text], body.post-type-archive-tribe_events #tribe-bar-form section.intro input[type=text], section.intro body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop section.intro .tribe-events-venue-details, section.intro body.search .search-panel .search-keyword-label, body.search .search-panel section.intro .search-keyword-label, section.intro body.search .search-panel .search-keyword, body.search .search-panel section.intro .search-keyword, #tribe-events .big.tribe-events-ical,
    #tribe-events .big.tribe-events-gcal, body.post-type-archive-tribe_events #tribe-bar-form input.big[type=text], body.post-type-archive-tribe_events .tribe-events-loop .big.tribe-events-venue-details, body.search .search-panel .big.search-keyword-label, body.search .search-panel .big.search-keyword {
      font-size: 1.05556rem; } }
  @media print, screen and (min-width: 64em) {
    p.big, address.big, section.intro p, section.intro address, section.intro #tribe-events .tribe-events-ical, #tribe-events section.intro .tribe-events-ical,
    section.intro #tribe-events .tribe-events-gcal, #tribe-events section.intro .tribe-events-gcal, section.intro body.post-type-archive-tribe_events #tribe-bar-form input[type=text], body.post-type-archive-tribe_events #tribe-bar-form section.intro input[type=text], section.intro body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop section.intro .tribe-events-venue-details, section.intro body.search .search-panel .search-keyword-label, body.search .search-panel section.intro .search-keyword-label, section.intro body.search .search-panel .search-keyword, body.search .search-panel section.intro .search-keyword, #tribe-events .big.tribe-events-ical,
    #tribe-events .big.tribe-events-gcal, body.post-type-archive-tribe_events #tribe-bar-form input.big[type=text], body.post-type-archive-tribe_events .tribe-events-loop .big.tribe-events-venue-details, body.search .search-panel .big.search-keyword-label, body.search .search-panel .big.search-keyword {
      font-size: 1.11111rem; } }

ul, ol {
  color: #666;
  font-weight: 400;
  font-size: 0.88889rem; }
  @media print, screen and (min-width: 40em) {
    ul, ol {
      font-size: 1rem; } }
  @media print, screen and (min-width: 64em) {
    ul, ol {
      font-size: 1rem; } }

.no-ios a:hover {
  text-decoration: underline; }

a.more {
  font-weight: 600;
  color: #f70; }
  .no-ios a.more:hover {
    color: #ff9233; }

address {
  font-style: normal; }

.share-this {
  margin: 40px 0 20px 0; }
  .share-this:before {
    content: ' ';
    display: table;
    clear: both; }
  .share-this .hdr {
    margin-bottom: .5rem;
    text-transform: none;
    font-weight: 600; }
  .share-this .stButton .stLarge {
    display: none; }
  .share-this .stButton {
    width: 30px;
    height: 30px;
    margin: 0 10px 10px 0; }
    .no-ios .share-this .stButton {
      transition: all 0.2s ease; }
      .no-ios .share-this .stButton:hover {
        opacity: .8; }

.st_facebook_large .stButton {
  background: url(../images/icon-social-facebook.svg) no-repeat; }

.st_twitter_large .stButton {
  background: url(../images/icon-social-twitter.svg) no-repeat; }

.st_instagram_large .stButton {
  background: url(../images/icon-social-instagram.svg) no-repeat; }

.back-link {
  margin: 0 0 .5rem 0;
  font-size: 90%; }
  .back-link a {
    color: #f70; }
    .no-ios .back-link a .icon-wrap {
      transition: all 0.2s ease; }
    .no-ios .back-link a:hover .icon-wrap {
      opacity: .8; }
  .back-link .icon-wrap {
    position: relative;
    top: 1px;
    display: inline-block;
    width: 20px;
    height: 24px;
    margin-right: 15px;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }

time {
  margin: 0 0 15px 0;
  font-family: "Unica One", serif;
  font-size: 0.77778rem;
  text-transform: uppercase;
  color: #999; }
  @media print, screen and (min-width: 40em) {
    time {
      font-size: 0.83333rem; } }
  @media print, screen and (min-width: 64em) {
    time {
      font-size: 0.88889rem; } }

.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: 1.77778rem; }

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

figure {
  display: table;
  margin: 10px 0 25px !important; }

figcaption {
  display: table-caption;
  caption-side: bottom; }

figure img {
  margin-top: 5px; }

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

p.wp-caption-text, address.wp-caption-text, #tribe-events .wp-caption-text.tribe-events-ical,
#tribe-events .wp-caption-text.tribe-events-gcal, body.post-type-archive-tribe_events #tribe-bar-form input.wp-caption-text[type=text], body.post-type-archive-tribe_events .tribe-events-loop .wp-caption-text.tribe-events-venue-details, body.search .search-panel .wp-caption-text.search-keyword-label, body.search .search-panel .wp-caption-text.search-keyword {
  font-size: 90%;
  color: #666;
  padding: 0.55556rem 0; }

.alignleft {
  float: left;
  padding-right: 1.5rem;
  margin: 0;
  margin-bottom: .5rem; }
  .alignleft figcaption {
    padding-right: 1.5rem; }

.alignright {
  float: right;
  padding-left: 1.5rem;
  margin: 0;
  margin-bottom: .5rem; }
  .alignright figcaption {
    padding-left: 1.5rem; }

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

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../images/ajax-loader.gif") center center no-repeat; }

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

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 1; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: black;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 14px;
        line-height: 20px;
        text-align: center;
        color: #ccc;
        opacity: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #f70;
      opacity: 1; }

.button, .bh-sl-form-container button[type="submit"],
.bh-sl-form-container button[type="submit"]:focus, body.post-type-archive-tribe_events button.tribe-events-c-search__button, .button:focus, .bh-sl-form-container button:focus[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus {
  margin: 0;
  padding: .75rem 2rem .8rem;
  font-family: "Unica One", serif;
  font-size: 19px;
  font-weight: 400 !important;
  text-transform: uppercase;
  background: #fff;
  border: 2px solid #2f4858;
  color: #2f4858; }
  @media print, screen and (min-width: 40em) {
    .button, .bh-sl-form-container button[type="submit"],
    .bh-sl-form-container button[type="submit"]:focus, body.post-type-archive-tribe_events button.tribe-events-c-search__button, .button:focus, .bh-sl-form-container button:focus[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus {
      padding-top: .7rem; } }
  @media print, screen and (min-width: 64em) {
    .button, .bh-sl-form-container button[type="submit"],
    .bh-sl-form-container button[type="submit"]:focus, body.post-type-archive-tribe_events button.tribe-events-c-search__button, .button:focus, .bh-sl-form-container button:focus[type="submit"], body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus {
      padding-top: .55rem;
      font-size: 20px; } }
  .ios .button, .ios .bh-sl-form-container button[type="submit"], .bh-sl-form-container .ios button[type="submit"], .ios body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .ios button.tribe-events-c-search__button, .ios .button:focus, .ios .bh-sl-form-container button:focus[type="submit"], .bh-sl-form-container .ios button:focus[type="submit"], .ios body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus, body.post-type-archive-tribe_events .ios button.tribe-events-c-search__button:focus {
    padding-top: .7rem; }
  .no-ios .button:hover, .no-ios .bh-sl-form-container button:hover[type="submit"], .bh-sl-form-container .no-ios button:hover[type="submit"], .no-ios body.post-type-archive-tribe_events button.tribe-events-c-search__button:hover, body.post-type-archive-tribe_events .no-ios button.tribe-events-c-search__button:hover {
    color: #fff;
    background: #2f4858; }
  .button .icon-wrap-arw, .bh-sl-form-container button[type="submit"] .icon-wrap-arw, body.post-type-archive-tribe_events button.tribe-events-c-search__button .icon-wrap-arw,
  .button:focus .icon-wrap-arw,
  .bh-sl-form-container button:focus[type="submit"] .icon-wrap-arw,
  body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus .icon-wrap-arw {
    position: relative;
    top: 3px;
    display: inline-block;
    width: 16px;
    height: 18px;
    margin: 0 0 0 5px;
    transition: all 0.5s ease; }
    @media print, screen and (min-width: 64em) {
      .button .icon-wrap-arw, .bh-sl-form-container button[type="submit"] .icon-wrap-arw, body.post-type-archive-tribe_events button.tribe-events-c-search__button .icon-wrap-arw,
      .button:focus .icon-wrap-arw,
      .bh-sl-form-container button:focus[type="submit"] .icon-wrap-arw,
      body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus .icon-wrap-arw {
        top: 4px;
        width: 19px;
        height: 21px; } }
    .button .icon-wrap-arw path, .bh-sl-form-container button[type="submit"] .icon-wrap-arw path, body.post-type-archive-tribe_events button.tribe-events-c-search__button .icon-wrap-arw path,
    .button:focus .icon-wrap-arw path,
    .bh-sl-form-container button:focus[type="submit"] .icon-wrap-arw path,
    body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus .icon-wrap-arw path {
      fill: #2f4858; }
  .no-ios .button:hover .icon-wrap-arw path, .no-ios .bh-sl-form-container button:hover[type="submit"] .icon-wrap-arw path, .bh-sl-form-container .no-ios button:hover[type="submit"] .icon-wrap-arw path, .no-ios body.post-type-archive-tribe_events button.tribe-events-c-search__button:hover .icon-wrap-arw path, body.post-type-archive-tribe_events .no-ios button.tribe-events-c-search__button:hover .icon-wrap-arw path {
    fill: #fff; }

.sites-button {
  background: #2f4858;
  font-size: 1.25rem;
  font-weight: bold;
  box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.2) inset;
  border-radius: 3px;
  border: none; }

.btn-pdf {
  margin: 0 5px 10px;
  font-weight: 800;
  color: #BC6631; }
  .btn-pdf:hover {
    color: #BC6631; }
  .btn-pdf .icon-wrap {
    display: inline-block;
    width: 50px;
    height: 42px;
    margin: 0 15px 0 0; }

.destination-row {
  padding: 0 0 30px 0;
  border-bottom: 1px solid #555; }
  @media screen and (min-width: 80.625em) {
    .destination-row {
      margin-left: -.5rem;
      margin-right: -.5rem; } }

.destination {
  margin: 0 0 1rem 0;
  min-height: 180px; }
  @media print, screen and (min-width: 40em) {
    .destination {
      min-height: 240px;
      margin-left: .5rem;
      margin-right: .5rem; } }

.destination-map {
  min-height: 0;
  margin: 0 0 2rem 0;
  padding: 0;
  line-height: 1.3;
  text-align: center; }
  .destination-map::before, .destination-map::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .destination-map::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .destination-map {
      min-height: 330px;
      margin: 0 .5rem 1rem .5rem;
      padding: .7rem .5rem 0 .5rem;
      padding-top: 8.5rem; } }
  @media print, screen and (min-width: 64em) {
    .destination-map {
      display: none; } }
  .destination-map a {
    color: #BC6631;
    font-weight: 800;
    font-size: 0.94444rem; }
    @media print, screen and (min-width: 40em) {
      .destination-map a {
        font-size: 1.11111rem; } }
    @media print, screen and (min-width: 64em) {
      .destination-map a {
        font-size: 1.11111rem; } }
  .destination-map .icon-wrap {
    float: left;
    display: inline-block;
    width: 70px;
    height: 60px;
    margin: 7px 15px 0 0; }
    @media print, screen and (min-width: 40em) {
      .destination-map .icon-wrap {
        float: none;
        display: block;
        width: 160px;
        height: 134px;
        margin: 0 auto 20px; } }
    @media print, screen and (min-width: 64em) {
      .destination-map .icon-wrap {
        margin-top: 10px; } }
  @media screen and (max-width: 39.9375em) {
    .destination-map .text {
      position: relative;
      top: 3px; } }

.destination-mapcat {
  position: relative;
  overflow: hidden;
  min-height: 200px;
  padding: 1rem 1.5rem;
  background-color: #fff;
  background-image: url(../images/tcc-category-default.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  text-align: center;
  box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.4); }
  @media print, screen and (min-width: 40em) {
    .destination-mapcat {
      min-height: 330px;
      padding: 1rem 1.5rem; } }
  .destination-mapcat.destination-activity {
    background-image: url(../images/tcc-activity-default.jpg); }
  .destination-mapcat:before {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    left: 10px;
    bottom: 10px;
    z-index: 2;
    width: auto;
    height: auto;
    border: 2px solid #dee5e5;
    opacity: 0; }
  .destination-mapcat.flipped {
    background-image: none !important; }
    .destination-mapcat.flipped:before {
      opacity: 1; }
    .destination-mapcat.flipped .hdr {
      padding: .5rem 0 0 0;
      color: #2f4858;
      background: none;
      font-size: 1.22222rem; }
      @media print, screen and (min-width: 64em) {
        .destination-mapcat.flipped .hdr {
          font-size: 1.33333rem; } }
    .destination-mapcat.flipped .flip-toggle .line-horiz {
      stroke: #2f4858; }
    .destination-mapcat.flipped .flip-toggle .line-vert {
      opacity: 0; }
    .destination-mapcat.flipped .flip-toggle .circle {
      fill: #ddd; }
    .no-ios .destination-mapcat.flipped .flip-toggle svg:hover .circle {
      fill: #ccc; }
    .destination-mapcat.flipped .flip-content {
      display: block; }
  .destination-mapcat .flip-toggle {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 30px;
    z-index: 5;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 30px;
    height: 30px;
    /* ie11 fix - stop movement on click */ }
    @media print, screen and (min-width: 40em) {
      .destination-mapcat .flip-toggle {
        width: 32px;
        height: 32px; } }
    .destination-mapcat .flip-toggle svg {
      position: relative;
      top: 0;
      left: 0; }
    .no-ios .destination-mapcat .flip-toggle svg:hover .circle {
      fill: #ee6600; }
    .no-ios .destination-mapcat .flip-toggle svg .line-vert,
    .no-ios .destination-mapcat .flip-toggle svg .line-horiz,
    .no-ios .destination-mapcat .flip-toggle svg .circle {
      transition: all 0.2s ease; }
    .no-ios .destination-mapcat .flip-toggle:hover {
      cursor: pointer; }
  .destination-mapcat .hdr {
    position: relative;
    z-index: 5;
    display: inline-block;
    padding: .5rem 1rem;
    color: #fff;
    background: #f70;
    font-size: 1rem; }
    @media print, screen and (min-width: 64em) {
      .destination-mapcat .hdr {
        font-size: 1.11111rem; } }
  .destination-mapcat .flip-content {
    position: relative;
    z-index: 5;
    display: none;
    margin-bottom: 80px;
    margin-bottom: 50px; }
    .destination-mapcat .flip-content p, .destination-mapcat .flip-content address, .destination-mapcat .flip-content #tribe-events .tribe-events-ical, #tribe-events .destination-mapcat .flip-content .tribe-events-ical,
    .destination-mapcat .flip-content #tribe-events .tribe-events-gcal, #tribe-events .destination-mapcat .flip-content .tribe-events-gcal, .destination-mapcat .flip-content body.post-type-archive-tribe_events #tribe-bar-form input[type=text], body.post-type-archive-tribe_events #tribe-bar-form .destination-mapcat .flip-content input[type=text], .destination-mapcat .flip-content body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .destination-mapcat .flip-content .tribe-events-venue-details, .destination-mapcat .flip-content body.search .search-panel .search-keyword-label, body.search .search-panel .destination-mapcat .flip-content .search-keyword-label, .destination-mapcat .flip-content body.search .search-panel .search-keyword, body.search .search-panel .destination-mapcat .flip-content .search-keyword {
      color: #2f4858; }
  .destination-mapcat .desc,
  .destination-mapcat .desc p,
  .destination-mapcat .desc address,
  .destination-mapcat .desc #tribe-events .tribe-events-ical,
  #tribe-events .destination-mapcat .desc .tribe-events-ical,
  .destination-mapcat .desc #tribe-events .tribe-events-gcal,
  #tribe-events .destination-mapcat .desc .tribe-events-gcal,
  .destination-mapcat .desc body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
  body.post-type-archive-tribe_events #tribe-bar-form .destination-mapcat .desc input[type=text],
  .destination-mapcat .desc body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
  body.post-type-archive-tribe_events .tribe-events-loop .destination-mapcat .desc .tribe-events-venue-details,
  .destination-mapcat .desc body.search .search-panel .search-keyword-label,
  body.search .search-panel .destination-mapcat .desc .search-keyword-label,
  .destination-mapcat .desc body.search .search-panel .search-keyword,
  body.search .search-panel .destination-mapcat .desc .search-keyword {
    margin-bottom: 4px;
    font-size: 14px; }
    @media print, screen and (min-width: 40em) {
      .destination-mapcat .desc,
      .destination-mapcat .desc p,
      .destination-mapcat .desc address,
      .destination-mapcat .desc #tribe-events .tribe-events-ical,
      #tribe-events .destination-mapcat .desc .tribe-events-ical,
      .destination-mapcat .desc #tribe-events .tribe-events-gcal,
      #tribe-events .destination-mapcat .desc .tribe-events-gcal,
      .destination-mapcat .desc body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
      body.post-type-archive-tribe_events #tribe-bar-form .destination-mapcat .desc input[type=text],
      .destination-mapcat .desc body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
      body.post-type-archive-tribe_events .tribe-events-loop .destination-mapcat .desc .tribe-events-venue-details,
      .destination-mapcat .desc body.search .search-panel .search-keyword-label,
      body.search .search-panel .destination-mapcat .desc .search-keyword-label,
      .destination-mapcat .desc body.search .search-panel .search-keyword,
      body.search .search-panel .destination-mapcat .desc .search-keyword {
        font-size: 16px; } }
    @media print, screen and (min-width: 64em) {
      .destination-mapcat .desc,
      .destination-mapcat .desc p,
      .destination-mapcat .desc address,
      .destination-mapcat .desc #tribe-events .tribe-events-ical,
      #tribe-events .destination-mapcat .desc .tribe-events-ical,
      .destination-mapcat .desc #tribe-events .tribe-events-gcal,
      #tribe-events .destination-mapcat .desc .tribe-events-gcal,
      .destination-mapcat .desc body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
      body.post-type-archive-tribe_events #tribe-bar-form .destination-mapcat .desc input[type=text],
      .destination-mapcat .desc body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
      body.post-type-archive-tribe_events .tribe-events-loop .destination-mapcat .desc .tribe-events-venue-details,
      .destination-mapcat .desc body.search .search-panel .search-keyword-label,
      body.search .search-panel .destination-mapcat .desc .search-keyword-label,
      .destination-mapcat .desc body.search .search-panel .search-keyword,
      body.search .search-panel .destination-mapcat .desc .search-keyword {
        font-size: 18px; } }
  .destination-mapcat .dest-link {
    display: inline-block;
    margin: .5rem 0;
    padding: .5rem 1rem .6rem;
    color: #fff;
    background: #2f4858;
    font-size: 16px;
    line-height: 1; }
    @media print, screen and (min-width: 40em) {
      .destination-mapcat .dest-link {
        font-size: 20px; } }
    @media print, screen and (min-width: 64em) {
      .destination-mapcat .dest-link {
        font-size: 24px; } }
    .no-ios .destination-mapcat .dest-link {
      transition: all 0.2s ease; }
      .no-ios .destination-mapcat .dest-link:hover {
        text-decoration: none;
        background: #33658a; }
    @media print, screen and (min-width: 40em) {
      .destination-mapcat .dest-link {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        font-size: 0.88889rem; } }
    @media print, screen and (min-width: 64em) {
      .destination-mapcat .dest-link {
        font-size: 1rem; } }
    .destination-mapcat .dest-link .icon-wrap {
      position: relative;
      top: -1px;
      display: inline-block;
      width: 12px;
      height: 7px;
      margin: 0 0 0 .1rem; }
      @media print, screen and (min-width: 40em) {
        .destination-mapcat .dest-link .icon-wrap {
          width: 18px;
          height: 13px; } }
    .destination-mapcat .dest-link.map-link .icon-wrap {
      top: -1px;
      margin: 0 .1rem 0 0;
      width: 10px;
      height: 11px; }
      @media print, screen and (min-width: 40em) {
        .destination-mapcat .dest-link.map-link .icon-wrap {
          width: 15px;
          height: 14px; } }

.destinations-actions {
  margin: 2rem 0 0 0;
  text-align: center; }
  .destinations-actions a {
    color: #2f4858;
    font-size: 18px;
    font-weight: 400;
    text-decoration: underline; }
    @media print, screen and (min-width: 64em) {
      .destinations-actions a {
        font-size: 20px; } }
    .no-ios .destinations-actions a:hover {
      color: #33658a; }
  .destinations-actions .icon-wrap {
    position: relative;
    top: -4px;
    display: block;
    width: 38px;
    height: 33px;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .destinations-actions .icon-wrap {
        display: inline-block;
        width: 43px;
        height: 38px;
        margin: 0 10px 0 0; } }
    @media print, screen and (min-width: 64em) {
      .destinations-actions .icon-wrap {
        width: 47px;
        height: 41px; } }

.hdr-slug {
  display: inline-block;
  margin: 0 .6rem .5rem 0;
  padding: .3rem .75rem .25rem;
  background: #33658a;
  color: #fff;
  font-size: 0.66667rem;
  font-weight: 600; }

.hdr-section-wrap {
  position: relative;
  margin: 0 0 30px 0;
  padding: 0 0 20px 0;
  border-bottom: 2px solid #2f4858;
  text-align: center; }
  .hdr-section-wrap:after {
    content: "";
    position: relative;
    top: 20px;
    display: none;
    width: 75%;
    height: 2px;
    margin: 0 auto;
    background: #2f4858; }
  @media print, screen and (min-width: 40em) {
    .hdr-section-wrap {
      margin-bottom: 40px; } }
  @media print, screen and (min-width: 64em) {
    .hdr-section-wrap {
      border-bottom: none; }
      .hdr-section-wrap:after {
        display: block; } }
  .hdr-section-wrap.hdr-destination-wrap {
    border-bottom: 1px solid #555; }
    @media print, screen and (min-width: 64em) {
      .hdr-section-wrap.hdr-destination-wrap:after {
        display: none; } }
  .hdr-section-wrap .hdr-section {
    margin-bottom: 0; }
    @media print, screen and (min-width: 40em) {
      .hdr-section-wrap .hdr-section {
        margin-bottom: 0; } }

.hdr-section {
  margin: 0 auto 1rem auto;
  line-height: 1;
  text-transform: uppercase; }
  @media print, screen and (min-width: 40em) {
    .hdr-section {
      margin-bottom: 2rem; } }

.hdr-secondary {
  position: relative;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .hdr-secondary:before, .hdr-secondary:after {
      content: "";
      position: relative;
      top: -6px;
      display: inline-block;
      width: 20%;
      height: 2px;
      background: #999; }
    .hdr-secondary:before {
      margin-right: 20px; }
    .hdr-secondary:after {
      margin-left: 20px; } }

.box-faq {
  padding: 10px;
  border-top: 10px solid #2f4858;
  background: #fff;
  box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.4); }
  @media print, screen and (min-width: 40em) {
    .box-faq {
      border-top-width: 20px; } }
  .box-faq .inner {
    padding: 1.3rem 10px 10px 10px;
    border: 1px solid #dee5e5; }
    @media print, screen and (min-width: 40em) {
      .box-faq .inner {
        padding: 2rem 2rem; } }
    @media print, screen and (min-width: 64em) {
      .box-faq .inner {
        padding: 2rem 4rem; } }
  .box-faq .hdr {
    margin: 0 0 1rem;
    text-align: center;
    line-height: 1; }
    @media print, screen and (min-width: 40em) {
      .box-faq .hdr {
        margin-bottom: 2rem; } }
  .box-faq ul {
    list-style: none;
    margin: 0;
    color: #333; }
  .box-faq li {
    margin: 1rem 0;
    padding: 0 0 1rem 0;
    border-bottom: 1px solid #dee5e5; }
    .no-ios.js .box-faq li:hover {
      cursor: pointer; }
    .box-faq li.open .question .icon-wrap {
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
  .box-faq .question {
    position: relative;
    margin: 0 0 0 30px;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 15px; }
    @media print, screen and (min-width: 40em) {
      .box-faq .question {
        margin-left: 35px; } }
    .box-faq .question .icon-wrap {
      position: absolute;
      top: -1px;
      left: -30px;
      z-index: 1;
      display: inline-block;
      width: 17px;
      height: 17px;
      margin-right: 10px;
      transition: all 0.2s ease; }
      @media print, screen and (min-width: 40em) {
        .box-faq .question .icon-wrap {
          top: -3px;
          left: -35px;
          width: 19px;
          height: 19px; } }
      @media print, screen and (min-width: 64em) {
        .box-faq .question .icon-wrap {
          width: 21px;
          height: 21px; } }
      .box-faq .question .icon-wrap path {
        fill: #f70; }
  .box-faq .answer {
    margin: .5rem 0 0 30px;
    font-size: 15px;
    font-weight: 400; }
    @media print, screen and (min-width: 40em) {
      .box-faq .answer {
        margin: .5rem 0 0 3rem; } }
    .box-faq .answer p, .box-faq .answer address, .box-faq .answer #tribe-events .tribe-events-ical, #tribe-events .box-faq .answer .tribe-events-ical,
    .box-faq .answer #tribe-events .tribe-events-gcal, #tribe-events .box-faq .answer .tribe-events-gcal, .box-faq .answer body.post-type-archive-tribe_events #tribe-bar-form input[type=text], body.post-type-archive-tribe_events #tribe-bar-form .box-faq .answer input[type=text], .box-faq .answer body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .box-faq .answer .tribe-events-venue-details, .box-faq .answer body.search .search-panel .search-keyword-label, body.search .search-panel .box-faq .answer .search-keyword-label, .box-faq .answer body.search .search-panel .search-keyword, body.search .search-panel .box-faq .answer .search-keyword {
      font-size: 15px;
      font-weight: 400; }
    .box-faq .answer p:last-child, .box-faq .answer address:last-child, .box-faq .answer #tribe-events .tribe-events-ical:last-child, #tribe-events .box-faq .answer .tribe-events-ical:last-child,
    .box-faq .answer #tribe-events .tribe-events-gcal:last-child, #tribe-events .box-faq .answer .tribe-events-gcal:last-child, .box-faq .answer body.post-type-archive-tribe_events #tribe-bar-form input:last-child[type=text], body.post-type-archive-tribe_events #tribe-bar-form .box-faq .answer input:last-child[type=text], .box-faq .answer body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details:last-child, body.post-type-archive-tribe_events .tribe-events-loop .box-faq .answer .tribe-events-venue-details:last-child, .box-faq .answer body.search .search-panel .search-keyword-label:last-child, body.search .search-panel .box-faq .answer .search-keyword-label:last-child, .box-faq .answer body.search .search-panel .search-keyword:last-child, body.search .search-panel .box-faq .answer .search-keyword:last-child {
      margin-bottom: 0; }
    .box-faq .answer a {
      color: #f70; }

.featured-hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 5.55556rem; }
  @media print, screen and (min-width: 40em) {
    .featured-hero {
      height: 11.11111rem; } }
  @media screen and (min-width: 75em) {
    .featured-hero {
      height: 22.22222rem; } }

[data-whatinput="mouse"] a:focus, button:focus [data-whatinput="touch"] a:focus, button:focus {
  outline: none; }

.button, .bh-sl-form-container button[type="submit"],
.bh-sl-form-container button[type="submit"]:focus, body.post-type-archive-tribe_events button.tribe-events-c-search__button {
  border-radius: 1rem;
  font-weight: 800; }
  .no-ios .button:hover, .no-ios .bh-sl-form-container button:hover[type="submit"], .bh-sl-form-container .no-ios button:hover[type="submit"], .no-ios body.post-type-archive-tribe_events button.tribe-events-c-search__button:hover, body.post-type-archive-tribe_events .no-ios button.tribe-events-c-search__button:hover {
    text-decoration: none; }

a.emphasis {
  text-decoration: underline; }
  .no-ios a.emphasis {
    transition: all 0.2s ease; }
    .no-ios a.emphasis:hover {
      color: #76aa42; }

.pagination {
  margin: 0;
  padding: 40px 0;
  background: #fff; }
  .pagination li {
    padding: 0;
    background: none;
    /* prev, next */ }
    .pagination li a,
    .pagination li .current {
      margin: 5px 10px;
      padding: 0 5px 5px;
      background: none;
      font-size: 22px;
      font-weight: 900;
      line-height: 1;
      color: #658ca5; }
      @media print, screen and (min-width: 40em) {
        .pagination li a,
        .pagination li .current {
          font-size: 24px; } }
      @media print, screen and (min-width: 64em) {
        .pagination li a,
        .pagination li .current {
          font-size: 28px; } }
      at-root .no-ios .pagination li a:hover, at-root .no-ios
      .pagination li .current:hover {
        background: none;
        text-decoration: none; }
    .no-ios .pagination li a {
      transition: all 0.2s ease; }
      .no-ios .pagination li a:hover {
        background: none;
        color: #33658a;
        text-decoration: none; }
    .pagination li .current {
      display: inline-block;
      background: none;
      color: #33658a;
      border-bottom: 8px solid #33658a; }
    .pagination li .prev,
    .pagination li .next {
      margin: 0;
      padding: 0;
      opacity: .75;
      transition: all 0.2s ease; }
      .no-ios .pagination li .prev:hover, .no-ios
      .pagination li .next:hover {
        opacity: 1; }
      .pagination li .prev .text,
      .pagination li .next .text {
        display: none; }
      .pagination li .prev:before,
      .pagination li .next:before {
        content: "";
        position: relative;
        top: 3px;
        display: inline-block;
        width: 24px;
        height: 27px;
        background: url(../images/icon-arw-big.svg) no-repeat; }
    .pagination li .prev {
      margin-right: 20px; }
      .pagination li .prev:before {
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg); }
    .pagination li .next {
      margin-left: 20px; }

.sprites {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .sprites {
      display: block; } }
  .sprites .sprite {
    position: absolute;
    z-index: 1;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center; }
  .sprites .horiz-1.sprite-left {
    left: 0; }
  .sprites .horiz-1.sprite-right {
    right: 0; }
  .sprites .horiz-2.sprite-left {
    left: -1%; }
  .sprites .horiz-2.sprite-right {
    right: -1%; }
  .sprites .horiz-3.sprite-left {
    left: 2%; }
  .sprites .horiz-3.sprite-right {
    right: 2%; }
  .sprites .vert-1.sprite-left {
    top: 10%; }
  .sprites .vert-1.sprite-right {
    bottom: 10%; }
  .sprites .vert-2.sprite-left {
    top: 20%; }
  .sprites .vert-2.sprite-right {
    bottom: 20%; }
  .sprites .vert-3.sprite-left {
    top: 30%; }
  .sprites .vert-3.sprite-right {
    bottom: 30%; }
  .sprites .sprite-left {
    left: -50px;
    top: 10%; }
  .sprites .sprite-1 {
    width: 220px;
    height: 306px;
    background-image: url(../images/sprite-balloon.svg); }
    .sprites .sprite-1.size-1 {
      width: 150px;
      height: 290px; }
    .sprites .sprite-1.size-2 {
      width: 220px;
      height: 306px; }
    .sprites .sprite-1.size-3 {
      width: 320px;
      height: 445px; }
  .sprites .sprite-2 {
    width: 223px;
    height: 176px;
    background-image: url(../images/sprite-seagull.svg); }
    .sprites .sprite-2.size-1 {
      width: 223px;
      height: 176px; }
    .sprites .sprite-2.size-2 {
      width: 323px;
      height: 255px; }
    .sprites .sprite-2.size-3 {
      width: 400px;
      height: 316px; }
  .sprites .sprite-right {
    right: -50px;
    bottom: 10%; }
  .sprites .sprite-10 {
    width: 271px;
    height: 174px;
    background-image: url(../images/sprite-cloud-ladle.svg); }
    .sprites .sprite-10.size-1 {
      width: 271px;
      height: 174px; }
    .sprites .sprite-10.size-2 {
      width: 371px;
      height: 239px; }
    .sprites .sprite-10.size-3 {
      width: 420px;
      height: 271px; }
  .sprites .sprite-11 {
    width: 372px;
    height: 221px;
    background-image: url(../images/sprite-cloud-silverware.svg); }
    .sprites .sprite-11.size-1 {
      width: 372px;
      height: 221px; }
    .sprites .sprite-11.size-2 {
      width: 472px;
      height: 280px; }
    .sprites .sprite-11.size-3 {
      width: 400px;
      height: 237px; }

.anim-1 {
  -webkit-animation: float-1 20s infinite;
          animation: float-1 20s infinite;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out; }

@-webkit-keyframes float-1 {
  0%, 100% {
    -webkit-transform: translate(-25px, -100px) rotate(10deg);
            transform: translate(-25px, -100px) rotate(10deg); }
  25% {
    -webkit-transform: translate(25px, 100px) rotate(-10deg);
            transform: translate(25px, 100px) rotate(-10deg); }
  50% {
    -webkit-transform: translate(50px, -100px) rotate(10deg);
            transform: translate(50px, -100px) rotate(10deg); }
  75% {
    -webkit-transform: translate(25px, 100px) rotate(-10deg);
            transform: translate(25px, 100px) rotate(-10deg); } }

@keyframes float-1 {
  0%, 100% {
    -webkit-transform: translate(-25px, -100px) rotate(10deg);
            transform: translate(-25px, -100px) rotate(10deg); }
  25% {
    -webkit-transform: translate(25px, 100px) rotate(-10deg);
            transform: translate(25px, 100px) rotate(-10deg); }
  50% {
    -webkit-transform: translate(50px, -100px) rotate(10deg);
            transform: translate(50px, -100px) rotate(10deg); }
  75% {
    -webkit-transform: translate(25px, 100px) rotate(-10deg);
            transform: translate(25px, 100px) rotate(-10deg); } }

.anim-2 {
  -webkit-animation: float-2 15s infinite;
          animation: float-2 15s infinite;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out; }

@-webkit-keyframes float-2 {
  0%, 100% {
    -webkit-transform: translate(50px, 150px) rotate(5deg);
            transform: translate(50px, 150px) rotate(5deg); }
  50% {
    -webkit-transform: translate(-50px, -200px) rotate(-5deg);
            transform: translate(-50px, -200px) rotate(-5deg); } }

@keyframes float-2 {
  0%, 100% {
    -webkit-transform: translate(50px, 150px) rotate(5deg);
            transform: translate(50px, 150px) rotate(5deg); }
  50% {
    -webkit-transform: translate(-50px, -200px) rotate(-5deg);
            transform: translate(-50px, -200px) rotate(-5deg); } }

.anim-3 {
  -webkit-animation: float-3 15s infinite;
          animation: float-3 15s infinite;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out; }

@-webkit-keyframes float-3 {
  0%, 100% {
    -webkit-transform: translate(75px, 50px) rotate(10deg);
            transform: translate(75px, 50px) rotate(10deg); }
  50% {
    -webkit-transform: translate(-75px, -100px) rotate(-10deg);
            transform: translate(-75px, -100px) rotate(-10deg); } }

@keyframes float-3 {
  0%, 100% {
    -webkit-transform: translate(75px, 50px) rotate(10deg);
            transform: translate(75px, 50px) rotate(10deg); }
  50% {
    -webkit-transform: translate(-75px, -100px) rotate(-10deg);
            transform: translate(-75px, -100px) rotate(-10deg); } }

.anim-4 {
  -webkit-animation: float-4 15s infinite;
          animation: float-4 15s infinite;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out; }

@-webkit-keyframes float-4 {
  0%, 100% {
    -webkit-transform: translate(0px, 0px) rotate(5deg) scale(0.7);
            transform: translate(0px, 0px) rotate(5deg) scale(0.7); }
  50% {
    -webkit-transform: translate(-50px, 50px) rotate(-5deg) scale(1.2);
            transform: translate(-50px, 50px) rotate(-5deg) scale(1.2); } }

@keyframes float-4 {
  0%, 100% {
    -webkit-transform: translate(0px, 0px) rotate(5deg) scale(0.7);
            transform: translate(0px, 0px) rotate(5deg) scale(0.7); }
  50% {
    -webkit-transform: translate(-50px, 50px) rotate(-5deg) scale(1.2);
            transform: translate(-50px, 50px) rotate(-5deg) scale(1.2); } }

.anim-5 {
  -webkit-animation: float-5 15s infinite;
          animation: float-5 15s infinite;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out; }

@-webkit-keyframes float-5 {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(5deg) scale(0.8);
            transform: translate(0px, 0px) rotate(5deg) scale(0.8); }
  25% {
    -webkit-transform: translate(-50px, -100px) rotate(-5deg) scale(1);
            transform: translate(-50px, -100px) rotate(-5deg) scale(1); }
  50% {
    -webkit-transform: translate(50px, 200px) rotate(5deg) scale(0.8);
            transform: translate(50px, 200px) rotate(5deg) scale(0.8); }
  75% {
    -webkit-transform: translate(-10px, -50px) rotate(-5deg) scale(1);
            transform: translate(-10px, -50px) rotate(-5deg) scale(1); }
  100% {
    -webkit-transform: translate(0px, 0px) rotate(5deg) scale(0.8);
            transform: translate(0px, 0px) rotate(5deg) scale(0.8); } }

@keyframes float-5 {
  0% {
    -webkit-transform: translate(0px, 0px) rotate(5deg) scale(0.8);
            transform: translate(0px, 0px) rotate(5deg) scale(0.8); }
  25% {
    -webkit-transform: translate(-50px, -100px) rotate(-5deg) scale(1);
            transform: translate(-50px, -100px) rotate(-5deg) scale(1); }
  50% {
    -webkit-transform: translate(50px, 200px) rotate(5deg) scale(0.8);
            transform: translate(50px, 200px) rotate(5deg) scale(0.8); }
  75% {
    -webkit-transform: translate(-10px, -50px) rotate(-5deg) scale(1);
            transform: translate(-10px, -50px) rotate(-5deg) scale(1); }
  100% {
    -webkit-transform: translate(0px, 0px) rotate(5deg) scale(0.8);
            transform: translate(0px, 0px) rotate(5deg) scale(0.8); } }

.anim-6, .sprites .sprite-left {
  -webkit-animation: float-6 160s infinite;
          animation: float-6 160s infinite;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out; }

@-webkit-keyframes float-6 {
  0% {
    -webkit-transform: translate(0px, 0px) scale(1);
            transform: translate(0px, 0px) scale(1); }
  50% {
    -webkit-transform: translate(0px, 700px) scale(1);
            transform: translate(0px, 700px) scale(1); }
  100% {
    -webkit-transform: translate(0px, 0px) scale(1);
            transform: translate(0px, 0px) scale(1); } }

@keyframes float-6 {
  0% {
    -webkit-transform: translate(0px, 0px) scale(1);
            transform: translate(0px, 0px) scale(1); }
  50% {
    -webkit-transform: translate(0px, 700px) scale(1);
            transform: translate(0px, 700px) scale(1); }
  100% {
    -webkit-transform: translate(0px, 0px) scale(1);
            transform: translate(0px, 0px) scale(1); } }

.anim-7, .sprites .sprite-right {
  -webkit-animation: float-7 160s infinite;
          animation: float-7 160s infinite;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out; }

@-webkit-keyframes float-7 {
  0% {
    -webkit-transform: translate(0px, 0px) scale(1);
            transform: translate(0px, 0px) scale(1); }
  50% {
    -webkit-transform: translate(0px, -700px) scale(1);
            transform: translate(0px, -700px) scale(1); }
  100% {
    -webkit-transform: translate(0px, 0px) scale(1);
            transform: translate(0px, 0px) scale(1); } }

@keyframes float-7 {
  0% {
    -webkit-transform: translate(0px, 0px) scale(1);
            transform: translate(0px, 0px) scale(1); }
  50% {
    -webkit-transform: translate(0px, -700px) scale(1);
            transform: translate(0px, -700px) scale(1); }
  100% {
    -webkit-transform: translate(0px, 0px) scale(1);
            transform: translate(0px, 0px) scale(1); } }

.breakpoints {
  position: fixed;
  bottom: 5px;
  left: 5px;
  z-index: 5000;
  padding: .25em .5em;
  color: #fff;
  background: #666;
  font-size: 10px;
  letter-spacing: .1em; }

.footer {
  padding: 40px 0;
  background: #333;
  color: #fff; }
  @media print, screen and (min-width: 64em) {
    .footer {
      padding-left: 20px;
      padding-right: 20px; } }

.ftr-social {
  margin: 0 0 50px 0;
  text-align: center; }
  .ftr-social a {
    display: inline-block;
    width: 38px;
    height: 38px;
    margin: 5px;
    opacity: .8; }
    @media print, screen and (min-width: 40em) {
      .ftr-social a {
        width: 42px;
        height: 42px; } }
    .no-ios .ftr-social a {
      transition: all 0.2s ease; }
      .no-ios .ftr-social a:hover {
        opacity: 1; }

/* travel notice */
.footer button.warning {
  margin: 0 0 1rem 0;
  padding: .5rem 1rem .6rem;
  border-radius: 0;
  line-height: 1;
  font-weight: bold;
  text-transform: none;
  font-family: "Poppins", sans-serif;
  border: none; }

.modal-travel li {
  margin-bottom: .5rem;
  color: #ee6600; }

.ftr-nav {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .ftr-nav {
      margin-right: 0; } }
  @media print, screen and (min-width: 64em) {
    .ftr-nav {
      max-width: none; } }
  .ftr-nav .hdr {
    margin: 0 0 .5rem 0;
    text-transform: none;
    color: #f70;
    font-family: "Poppins", sans-serif;
    font-size: 0.88889rem;
    font-weight: 300; }
    @media print, screen and (min-width: 64em) {
      .ftr-nav .hdr {
        font-size: 0.94444rem; } }
    .ftr-nav .hdr:before {
      content: "//";
      display: inline-block;
      margin: 0 8px 0 0; }
  .ftr-nav .ftr-menu {
    list-style: none;
    margin: 0 0 2rem 0;
    font-weight: 300;
    font-size: 0.88889rem; }
    @media print, screen and (min-width: 64em) {
      .ftr-nav .ftr-menu {
        font-size: 0.94444rem; } }
    .ftr-nav .ftr-menu li {
      margin: 0 0 .2rem 0; }
    .ftr-nav .ftr-menu a {
      color: #fff;
      transition: all 0.2s ease; }
      .no-ios .ftr-nav .ftr-menu a:hover {
        color: #f70;
        text-decoration: none;
        font-weight: 600; }

.ftr-contact {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
  padding: .5rem 0 0 0;
  border-top: #ccc solid 2px; }
  @media print, screen and (min-width: 40em) {
    .ftr-contact {
      margin-left: 0; } }
  @media print, screen and (min-width: 64em) {
    .ftr-contact {
      max-width: none;
      margin: 0 0 0 1.75rem; } }

.ftr-contact,
.ftr-contact p,
.ftr-contact address,
.ftr-contact #tribe-events .tribe-events-ical,
#tribe-events .ftr-contact .tribe-events-ical,
.ftr-contact #tribe-events .tribe-events-gcal,
#tribe-events .ftr-contact .tribe-events-gcal,
.ftr-contact body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
body.post-type-archive-tribe_events #tribe-bar-form .ftr-contact input[type=text],
.ftr-contact body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
body.post-type-archive-tribe_events .tribe-events-loop .ftr-contact .tribe-events-venue-details,
.ftr-contact body.search .search-panel .search-keyword-label,
body.search .search-panel .ftr-contact .search-keyword-label,
.ftr-contact body.search .search-panel .search-keyword,
body.search .search-panel .ftr-contact .search-keyword {
  font-size: 0.88889rem; }
  @media print, screen and (min-width: 64em) {
    .ftr-contact,
    .ftr-contact p,
    .ftr-contact address,
    .ftr-contact #tribe-events .tribe-events-ical,
    #tribe-events .ftr-contact .tribe-events-ical,
    .ftr-contact #tribe-events .tribe-events-gcal,
    #tribe-events .ftr-contact .tribe-events-gcal,
    .ftr-contact body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
    body.post-type-archive-tribe_events #tribe-bar-form .ftr-contact input[type=text],
    .ftr-contact body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
    body.post-type-archive-tribe_events .tribe-events-loop .ftr-contact .tribe-events-venue-details,
    .ftr-contact body.search .search-panel .search-keyword-label,
    body.search .search-panel .ftr-contact .search-keyword-label,
    .ftr-contact body.search .search-panel .search-keyword,
    body.search .search-panel .ftr-contact .search-keyword {
      font-size: 0.94444rem; } }

.ftr-address {
  margin: 0 0 .5rem 0;
  color: #f70; }

.ftr-email {
  margin: 0 0 1.5rem 0; }
  .ftr-email a {
    font-weight: 400;
    color: #fff;
    transition: all 0.2s ease; }
    .no-ios .ftr-email a:hover {
      color: #f70;
      text-decoration: none; }

.ftr-logos {
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    .ftr-logos {
      text-align: right; } }
  .ftr-logos a {
    display: inline-block;
    max-width: 210px; }
    @media print, screen and (min-width: 40em) {
      .ftr-logos a {
        max-width: 290px; } }
    @media print, screen and (min-width: 64em) {
      .ftr-logos a {
        max-width: 340px; } }

.ftr-legal {
  margin: 2rem 0 1rem 0;
  text-align: center;
  color: #ccc;
  font-size: 0.66667rem; }
  @media print, screen and (min-width: 40em) {
    .ftr-legal {
      font-size: 0.72222rem; } }
  @media print, screen and (min-width: 64em) {
    .ftr-legal {
      font-size: 0.72222rem; } }
  .ftr-legal a {
    color: #ccc;
    text-decoration: underline;
    transition: all 0.2s ease; }
    .no-ios .ftr-legal a:hover {
      color: #fff; }

.site-header {
  position: relative;
  z-index: 12;
  height: 68px;
  background: #d15d0f;
  /*
  .logo-wrap {
    text-align: center;
  }
  */ }
  @media print, screen and (min-width: 40em) {
    .site-header {
      height: 82px; } }
  .site-header:after {
    content: "";
    position: absolute;
    bottom: -20px;
    z-index: 3;
    display: block;
    width: 100%;
    height: 20px;
    background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0) 60%); }
  .site-header .menu-toggle-wrap {
    margin-left: 20px;
    text-align: left; }
    @media print, screen and (min-width: 40em) {
      .site-header .menu-toggle-wrap {
        margin-left: 50px; } }
  .site-header .menu-toggle {
    display: inline-block;
    width: 28px;
    height: 37px;
    margin: 0;
    margin-top: 15px; }
    @media print, screen and (min-width: 40em) {
      .site-header .menu-toggle {
        margin-top: 22px; } }
    @media print, screen and (min-width: 64em) {
      .site-header .menu-toggle {
        width: 33px;
        height: 43px;
        margin-top: 20px; } }
    .site-header .menu-toggle:hover {
      cursor: pointer; }
    .no-ios .site-header .menu-toggle {
      transition: all 0.2s ease; }
      .no-ios .site-header .menu-toggle:hover {
        -webkit-transform: scale(1.1);
            -ms-transform: scale(1.1);
                transform: scale(1.1); }
  .site-header .logo {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 20;
    display: inline-block;
    width: 93px;
    height: 81px;
    margin-left: -46px;
    background: url(../images/logo-emblem.svg) no-repeat;
    transition: all 0.2s ease;
    /*
    @at-root .no-ios & {
      transition: all 0.2s ease;

      &:hover {
        transform: scale(1.05);
      }
    }
    */ }
    .site-header .logo img {
      opacity: 0; }
    @media print, screen and (min-width: 40em) {
      .site-header .logo {
        width: 450px;
        height: 96px;
        margin-left: -225px;
        background-image: none; }
        .site-header .logo img {
          opacity: 1; } }
    @media print, screen and (min-width: 64em) {
      .site-header .logo {
        width: 489px;
        height: 104px;
        margin-left: -244px; } }
  .site-header .search-toggle-wrap {
    margin-top: 15px;
    margin-right: 20px;
    text-align: right; }
    @media print, screen and (min-width: 40em) {
      .site-header .search-toggle-wrap {
        margin-right: 40px; } }
  .site-header .search-toggle {
    display: inline-block;
    width: 21px;
    height: 26px;
    margin: 5px 0 0 0; }
    @media print, screen and (min-width: 40em) {
      .site-header .search-toggle {
        margin-top: 14px; } }
    @media print, screen and (min-width: 64em) {
      .site-header .search-toggle {
        width: 25px;
        height: 31px;
        margin-top: 10px; } }
    .site-header .search-toggle:hover {
      cursor: pointer; }
    .no-ios .site-header .search-toggle {
      transition: all 0.2s ease; }
      .no-ios .site-header .search-toggle:hover {
        -webkit-transform: scale(1.2);
            -ms-transform: scale(1.2);
                transform: scale(1.2); }

.hdr-menu {
  padding: .75rem 1rem;
  background: #333;
  border: none; }
  @media screen and (max-width: 39.9375em) {
    .hdr-menu {
      top: 69px !important;
      left: 0 !important;
      right: 0 !important;
      width: 100%; } }
  @media print, screen and (min-width: 40em) {
    .hdr-menu {
      top: 82px !important;
      padding-bottom: 1.75rem;
      /* north emblem */ }
      .hdr-menu:before {
        content: "";
        display: block;
        width: 24px;
        height: 25px;
        margin: 30px 0 30px 4px;
        background: url(../images/icon-north.svg) no-repeat; } }
  @media print, screen and (min-width: 64em) {
    .hdr-menu {
      top: 82px !important; } }
  @media screen and (max-width: 39.9375em) {
    .admin-bar .hdr-menu {
      top: 115px !important; } }
  @media print, screen and (min-width: 40em) {
    .admin-bar .hdr-menu {
      top: 128px !important; } }
  @media print, screen and (min-width: 64em) {
    .admin-bar .hdr-menu {
      top: 114px !important; } }
  .hdr-menu ul {
    list-style: none;
    margin: 0; }
  .hdr-menu a {
    position: relative;
    display: inline-block;
    padding: 0 4px;
    padding: 12px 4px;
    color: #fff;
    font-weight: normal;
    font-size: 1.11111rem;
    line-height: 1.1; }
    @media print, screen and (min-width: 40em) {
      .hdr-menu a {
        font-size: 1.16667rem; } }
    @media print, screen and (min-width: 64em) {
      .hdr-menu a {
        font-size: 1.22222rem; } }
    .no-ios .hdr-menu a:hover {
      padding-right: 14px;
      text-decoration: none;
      background-image: linear-gradient(rgba(47, 72, 88, 0), rgba(47, 72, 88, 0) 45%, #2f4858 45%, #2f4858); }

.hdr-search-form {
  background: #333;
  border: none; }
  @media screen and (max-width: 39.9375em) {
    .hdr-search-form {
      top: 69px !important;
      left: 0 !important;
      right: 0 !important;
      width: 100%; } }
  @media print, screen and (min-width: 40em) {
    .hdr-search-form {
      top: 82px !important; } }
  @media print, screen and (min-width: 64em) {
    .hdr-search-form {
      top: 82px !important; } }
  @media screen and (max-width: 39.9375em) {
    .admin-bar .hdr-search-form {
      top: 115px !important; } }
  @media print, screen and (min-width: 40em) {
    .admin-bar .hdr-search-form {
      top: 128px !important; } }
  @media print, screen and (min-width: 64em) {
    .admin-bar .hdr-search-form {
      top: 114px !important; } }
  .hdr-search-form .input-group {
    margin: 0; }
  .hdr-search-form .input-group-button {
    margin-left: 10px; }
  .hdr-search-form input[type="submit"] {
    padding: 0 .5em;
    font-size: 0.88889rem;
    font-weight: 800;
    color: #333;
    background: #999; }
    .no-ios .hdr-search-form input[type="submit"] {
      transition: all 0.2s ease; }
      .no-ios .hdr-search-form input[type="submit"]:hover {
        background: #aaa; }

.test-menu {
  display: none;
  position: absolute;
  z-index: 50;
  width: 300px;
  padding: 20px;
  background: #333; }

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

.gm-style div, .gm-style span, .gm-style label, .gm-style a {
  font-family: "Poppins", sans-serif; }

.gm-style-iw.gm-style-iw-c {
  max-width: 240px !important;
  max-height: 250px !important;
  padding: 35px 20px 25px !important; }
  .gm-style-iw.gm-style-iw-c button {
    top: 0px !important;
    right: 8px !important; }
    .gm-style-iw.gm-style-iw-c button img {
      width: 24px !important;
      height: 24px !important; }
  .gm-style-iw.gm-style-iw-c .gm-style-iw-d {
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important; }

.gm-info {
  /*
	@include breakpoint(medium) {
		font-size: rem-calc(16px);
	}
	*/ }
  .gm-info .loc-name {
    margin-bottom: 8px;
    font-size: 0.88889rem;
    line-height: 1.3; }
  .gm-info .loc-contact {
    font-size: 0.77778rem;
    line-height: 1.3; }
  .gm-info .loc-page {
    margin-top: 6px; }
    .gm-info .loc-page a {
      font-weight: 500; }

.bh-sl-error {
  padding: 10px 0;
  color: #ae2118;
  font-weight: bold; }

.bh-sl-container .bh-sl-loading {
  background: url(../img/ajax-loader.gif) no-repeat;
  margin: 4px 0 0 10px;
  height: 16px;
  width: 16px; }

/* Avoid image issues with Google Maps and CSS resets */
.bh-sl-map-container img {
  box-shadow: none !important;
  border-radius: 0 !important;
  max-height: none !important;
  max-width: none !important; }

.bh-sl-map-container {
  max-width: 66.66667rem;
  margin-right: auto;
  margin-left: auto; }
  .bh-sl-map-container::before, .bh-sl-map-container::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .bh-sl-map-container::after {
    clear: both; }

.bh-sl-map {
  width: 100%;
  float: left;
  padding-right: 0;
  padding-left: 0;
  height: 430px;
  margin-top: 1rem; }
  .bh-sl-map:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 40em) {
    .bh-sl-map {
      width: 58.33333%;
      float: left;
      padding-right: 0;
      padding-left: 0;
      height: 530px;
      margin: 0; }
      .bh-sl-map:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .bh-sl-map {
      width: 66.66667%;
      float: left;
      padding-right: 0;
      padding-left: 0; }
      .bh-sl-map:last-child:not(:first-child) {
        float: right; } }

.bh-sl-loc-list {
  width: 100%;
  float: left;
  padding-right: 0;
  padding-left: 0;
  height: 430px; }
  .bh-sl-loc-list:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 40em) {
    .bh-sl-loc-list {
      width: 38.33333%;
      float: left;
      padding-right: 0;
      padding-left: 0;
      height: 530px; }
      .bh-sl-loc-list:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .bh-sl-loc-list {
      width: 31.66667%;
      float: left;
      padding-right: 0;
      padding-left: 0; }
      .bh-sl-loc-list:last-child:not(:first-child) {
        float: right; } }

.bh-sl-form-container form {
  max-width: 66.66667rem;
  margin-right: auto;
  margin-left: auto; }
  .bh-sl-form-container form::before, .bh-sl-form-container form::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .bh-sl-form-container form::after {
    clear: both; }

.bh-sl-form-input {
  width: 100%;
  float: left;
  padding-right: 0;
  padding-left: 0; }
  .bh-sl-form-input:last-child:not(:first-child) {
    float: right; }
  .bh-sl-form-input .bh-sl-form-input-group:first-child {
    margin-bottom: 1rem; }
  @media print, screen and (min-width: 40em) {
    .bh-sl-form-input {
      width: 75%;
      float: left;
      padding-right: 0;
      padding-left: 0; }
      .bh-sl-form-input:last-child:not(:first-child) {
        float: right; }
      .bh-sl-form-input .bh-sl-form-input-group {
        float: left;
        width: 45%;
        margin-right: 2.5%; }
      .bh-sl-form-input .bh-sl-form-input-group:first-child {
        margin-bottom: 0; } }
  @media screen and (min-width: 85.9375em) {
    .bh-sl-form-input {
      width: 50%;
      float: left;
      padding-right: 0;
      padding-left: 0;
      position: relative;
      left: 33.33333%; }
      .bh-sl-form-input:last-child:not(:first-child) {
        float: right; }
      .bh-sl-form-input .bh-sl-form-input-group {
        margin-right: 2.5%;
        margin-left: 2.5%; }
        .bh-sl-form-input .bh-sl-form-input-group:first-child {
          margin-right: 0; } }

.bh-sl-form-submit {
  width: 100%;
  float: left;
  padding-right: 0;
  padding-left: 0;
  margin-bottom: 2rem;
  text-align: center; }
  .bh-sl-form-submit:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 40em) {
    .bh-sl-form-submit {
      width: 25%;
      float: left;
      padding-right: 0;
      padding-left: 0;
      margin-bottom: 0;
      text-align: left; }
      .bh-sl-form-submit:last-child:not(:first-child) {
        float: right; } }
  @media screen and (min-width: 85.9375em) {
    .bh-sl-form-submit {
      width: 16.66667%;
      float: left;
      padding-right: 0;
      padding-left: 0;
      position: relative;
      left: 33.33333%; }
      .bh-sl-form-submit:last-child:not(:first-child) {
        float: right; } }

.bh-sl-filters-container {
  width: 100%;
  float: left;
  padding-right: 0;
  padding-left: 0; }
  .bh-sl-filters-container:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 40em) {
    .bh-sl-filters-container {
      width: 100%;
      float: left;
      padding-right: 0;
      padding-left: 0; }
      .bh-sl-filters-container:last-child:not(:first-child) {
        float: right; } }
  @media screen and (min-width: 85.9375em) {
    .bh-sl-filters-container {
      width: 25%;
      float: left;
      padding-right: 0;
      padding-left: 0;
      position: relative;
      left: -75%; }
      .bh-sl-filters-container:last-child:not(:first-child) {
        float: right; } }

.bh-sl-form-container {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  background: #fff;
  box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.4);
  border: 10px solid #fff; }
  @media print, screen and (min-width: 40em) {
    .bh-sl-form-container {
      margin-bottom: 1.5rem; } }
  .bh-sl-form-container:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    display: block;
    border: 1px solid #dee5e5; }
  .bh-sl-form-container form {
    position: relative;
    z-index: 2; }
  .bh-sl-form-container input,
  .bh-sl-form-container select {
    margin: 0;
    border-radius: 4px;
    border: 1px solid #999;
    font-size: 0.88889rem; }
  .bh-sl-form-container input[type="text"]::-webkit-input-placeholder {
    color: #999; }
  .bh-sl-form-container input[type="text"]:-ms-input-placeholder {
    color: #999; }
  .bh-sl-form-container input[type="text"]::placeholder {
    color: #999; }
  .bh-sl-form-container select {
    background-color: #eee; }
    .bh-sl-form-container select::-webkit-input-placeholder {
      color: #999; }
    .bh-sl-form-container select:-ms-input-placeholder {
      color: #999; }
    .bh-sl-form-container select::placeholder {
      color: #999; }
  .bh-sl-form-container label {
    margin-bottom: .25rem;
    color: #2f4858;
    font-size: 0.88889rem; }
    @media print, screen and (min-width: 40em) {
      .bh-sl-form-container label {
        font-size: 0.77778rem; } }
    @media print, screen and (min-width: 64em) {
      .bh-sl-form-container label {
        font-size: 1rem; } }

.bh-sl-form-container button[type="submit"],
.bh-sl-form-container button[type="submit"]:focus {
  position: relative;
  top: 23px;
  padding: .45rem 1.25rem .45rem;
  cursor: pointer;
  background: #33658a;
  color: #fff;
  border: none;
  border-radius: 20px !important;
  box-shadow: none;
  font-size: 1.05556rem; }
  @media print, screen and (min-width: 40em) {
    .bh-sl-form-container button[type="submit"],
    .bh-sl-form-container button[type="submit"]:focus {
      top: 31px; } }

.bh-sl-form-container input[type="text"],
.bh-sl-form-container select {
  height: 2rem; }

.bh-sl-filters-container .bh-sl-filter-title {
  margin-top: 1rem;
  margin-bottom: .25rem;
  text-transform: uppercase;
  color: #2f4858;
  font-size: 0.88889rem; }
  @media print, screen and (min-width: 40em) {
    .bh-sl-filters-container .bh-sl-filter-title {
      font-size: 0.77778rem; } }
  @media print, screen and (min-width: 64em) {
    .bh-sl-filters-container .bh-sl-filter-title {
      font-size: 1rem; } }
  @media screen and (min-width: 85.9375em) {
    .bh-sl-filters-container .bh-sl-filter-title {
      margin-top: 0; } }

.bh-sl-filters-container .bh-sl-filters {
  list-style: none;
  margin: 0;
  padding: 0; }
  .bh-sl-filters-container .bh-sl-filters li {
    display: block; }

.bh-sl-map-container a {
  text-decoration: none; }
  .bh-sl-map-container a:active, .bh-sl-map-container a:focus, .bh-sl-map-container a:hover {
    text-decoration: underline; }

.bh-sl-loc-list {
  background: #fff;
  box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.4); }
  @media screen and (min-width: 52.8125em) {
    .bh-sl-loc-list li {
      max-width: 66.66667rem;
      margin-right: auto;
      margin-left: auto; }
      .bh-sl-loc-list li::before, .bh-sl-loc-list li::after {
        display: table;
        content: ' ';
        -webkit-flex-basis: 0;
            -ms-flex-preferred-size: 0;
                flex-basis: 0;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
      .bh-sl-loc-list li::after {
        clear: both; } }
  @media screen and (min-width: 52.8125em) {
    .bh-sl-loc-list .list-label-wrap {
      width: 25%;
      float: left;
      padding-right: 0;
      padding-left: 0; }
      .bh-sl-loc-list .list-label-wrap:last-child:not(:first-child) {
        float: right; } }
  @media screen and (min-width: 78.75em) {
    .bh-sl-loc-list .list-label-wrap {
      width: 16.66667%;
      float: left;
      padding-right: 0;
      padding-left: 0; }
      .bh-sl-loc-list .list-label-wrap:last-child:not(:first-child) {
        float: right; } }
  @media screen and (min-width: 52.8125em) {
    .bh-sl-loc-list .list-details {
      width: 75%;
      float: left;
      padding-right: 0;
      padding-left: 0; }
      .bh-sl-loc-list .list-details:last-child:not(:first-child) {
        float: right; } }
  @media screen and (min-width: 78.75em) {
    .bh-sl-loc-list .list-details {
      width: 83.33333%;
      float: left;
      padding-right: 0;
      padding-left: 0; }
      .bh-sl-loc-list .list-details:last-child:not(:first-child) {
        float: right; } }

.bh-sl-loc-list {
  font-size: 13px;
  overflow-y: scroll;
  /* has to be scroll, not auto */
  -webkit-overflow-scrolling: touch;
  /* ios smooth scroll */
  /*
	.list-label {
		@extend p;
		display: inline-block;
		min-width: 13px;
		width: auto;
		margin: 0 0 1rem 0; padding: .5rem .66rem .4rem;
		background: $dark-orange;
		color: #fff;
		font-weight: 800;
		line-height: 1;
		text-align: center;
		transition: all 0.2s ease;

		@include breakpoint(medium) {
			margin-top: 3px;
		}

	}
*/ }
  .bh-sl-loc-list ul {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
    padding: 0 1rem 0 1.25rem;
    background: #fff; }
    @media print, screen and (min-width: 40em) {
      .bh-sl-loc-list ul {
        padding: 0 .75rem; } }
    .bh-sl-loc-list ul li {
      border: 1px solid #fff;
      /* Adding this to prevent moving li elements when adding the list-focus class*/
      border-top: 1px dotted #b6c0c0;
      cursor: pointer;
      display: block;
      margin: 0;
      padding: 1.25rem 0; }
      .bh-sl-loc-list ul li:first-child {
        border-top: 1px solid #fff; }
  .bh-sl-loc-list .list-marker {
    display: block;
    position: relative;
    top: 3px;
    left: 0;
    width: 24px;
    height: 35px;
    margin: 0 0 1rem 0;
    background: url(../images/icon-map-pin-shadow.svg) no-repeat;
    background-size: cover; }
    @media print, screen and (min-width: 64em) {
      .bh-sl-loc-list .list-marker {
        width: 28px;
        height: 41px; } }
  .bh-sl-loc-list .list-focus .list-marker {
    background-image: url(../images/icon-map-pin-shadow-focus.svg); }
  .bh-sl-loc-list .list-label {
    display: none; }
  .bh-sl-loc-list .loc-name {
    margin: 0 0 10px 0;
    font-weight: 400;
    line-height: 1.3; }
    @media print, screen and (min-width: 40em) {
      .bh-sl-loc-list .loc-name {
        font-size: 18px; } }
    @media print, screen and (min-width: 64em) {
      .bh-sl-loc-list .loc-name {
        font-size: 19px; } }
  .bh-sl-loc-list p.loc-contact, .bh-sl-loc-list address.loc-contact, .bh-sl-loc-list #tribe-events .loc-contact.tribe-events-ical, #tribe-events .bh-sl-loc-list .loc-contact.tribe-events-ical,
  .bh-sl-loc-list #tribe-events .loc-contact.tribe-events-gcal, #tribe-events .bh-sl-loc-list .loc-contact.tribe-events-gcal, .bh-sl-loc-list body.post-type-archive-tribe_events #tribe-bar-form input.loc-contact[type=text], body.post-type-archive-tribe_events #tribe-bar-form .bh-sl-loc-list input.loc-contact[type=text], .bh-sl-loc-list body.post-type-archive-tribe_events .tribe-events-loop .loc-contact.tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .bh-sl-loc-list .loc-contact.tribe-events-venue-details, .bh-sl-loc-list body.search .search-panel .loc-contact.search-keyword-label, body.search .search-panel .bh-sl-loc-list .loc-contact.search-keyword-label, .bh-sl-loc-list body.search .search-panel .loc-contact.search-keyword, body.search .search-panel .bh-sl-loc-list .loc-contact.search-keyword {
    color: #2f4858;
    font-weight: 400; }
    @media print, screen and (min-width: 40em) {
      .bh-sl-loc-list p.loc-contact, .bh-sl-loc-list address.loc-contact, .bh-sl-loc-list #tribe-events .loc-contact.tribe-events-ical, #tribe-events .bh-sl-loc-list .loc-contact.tribe-events-ical,
      .bh-sl-loc-list #tribe-events .loc-contact.tribe-events-gcal, #tribe-events .bh-sl-loc-list .loc-contact.tribe-events-gcal, .bh-sl-loc-list body.post-type-archive-tribe_events #tribe-bar-form input.loc-contact[type=text], body.post-type-archive-tribe_events #tribe-bar-form .bh-sl-loc-list input.loc-contact[type=text], .bh-sl-loc-list body.post-type-archive-tribe_events .tribe-events-loop .loc-contact.tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .bh-sl-loc-list .loc-contact.tribe-events-venue-details, .bh-sl-loc-list body.search .search-panel .loc-contact.search-keyword-label, body.search .search-panel .bh-sl-loc-list .loc-contact.search-keyword-label, .bh-sl-loc-list body.search .search-panel .loc-contact.search-keyword, body.search .search-panel .bh-sl-loc-list .loc-contact.search-keyword {
        font-size: 14px; } }
    @media print, screen and (min-width: 64em) {
      .bh-sl-loc-list p.loc-contact, .bh-sl-loc-list address.loc-contact, .bh-sl-loc-list #tribe-events .loc-contact.tribe-events-ical, #tribe-events .bh-sl-loc-list .loc-contact.tribe-events-ical,
      .bh-sl-loc-list #tribe-events .loc-contact.tribe-events-gcal, #tribe-events .bh-sl-loc-list .loc-contact.tribe-events-gcal, .bh-sl-loc-list body.post-type-archive-tribe_events #tribe-bar-form input.loc-contact[type=text], body.post-type-archive-tribe_events #tribe-bar-form .bh-sl-loc-list input.loc-contact[type=text], .bh-sl-loc-list body.post-type-archive-tribe_events .tribe-events-loop .loc-contact.tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .bh-sl-loc-list .loc-contact.tribe-events-venue-details, .bh-sl-loc-list body.search .search-panel .loc-contact.search-keyword-label, body.search .search-panel .bh-sl-loc-list .loc-contact.search-keyword-label, .bh-sl-loc-list body.search .search-panel .loc-contact.search-keyword, body.search .search-panel .bh-sl-loc-list .loc-contact.search-keyword {
        font-size: 16px; } }
  .bh-sl-loc-list .loc-page a.button {
    margin: 0;
    padding: .5rem 1rem .5rem;
    line-height: 1;
    text-transform: uppercase; }
    @media print, screen and (min-width: 40em) {
      .bh-sl-loc-list .loc-page a.button {
        padding-top: .38rem;
        font-size: 16px; } }
    @media print, screen and (min-width: 64em) {
      .bh-sl-loc-list .loc-page a.button {
        padding-top: .35rem;
        font-size: 18px; } }
    .bh-sl-loc-list .loc-page a.button:after {
      content: "";
      position: relative;
      top: 2px;
      display: inline-block;
      width: 14px;
      height: 16px;
      margin: 0 0 0 10px;
      background: url(../images/icon-arw-big.svg) no-repeat; }
      @media print, screen and (min-width: 64em) {
        .bh-sl-loc-list .loc-page a.button:after {
          top: 3px;
          width: 16px;
          height: 18px; } }
    .no-ios .bh-sl-loc-list .loc-page a.button:hover:after {
      background-image: url(../images/icon-arw-big-white.svg); }
  .bh-sl-loc-list .bh-sl-close-directions-container {
    height: 20px;
    position: relative; }
    .bh-sl-loc-list .bh-sl-close-directions-container .bh-sl-close-icon {
      right: 6px;
      top: 0; }
  .bh-sl-loc-list .bh-sl-directions-panel {
    margin: 0 2%;
    /* Avoid issues with table-layout */ }
    .bh-sl-loc-list .bh-sl-directions-panel table {
      table-layout: auto; }
    .bh-sl-loc-list .bh-sl-directions-panel table, .bh-sl-loc-list .bh-sl-directions-panel td {
      vertical-align: middle;
      border-collapse: separate; }
    .bh-sl-loc-list .bh-sl-directions-panel td {
      padding: 1px; }
    .bh-sl-loc-list .bh-sl-directions-panel .adp-placemark {
      margin: 10px 0;
      border: 1px solid #c0c0c0; }
    .bh-sl-loc-list .bh-sl-directions-panel .adp-marker {
      padding: 3px; }
  .bh-sl-loc-list .bh-sl-noresults-title {
    font-weight: bold;
    color: #ae2118;
    margin: 15px 15px 5px 15px; }
  .bh-sl-loc-list .bh-sl-noresults-desc {
    margin: 0 15px; }

.bh-sl-map {
  border: 10px solid #fff;
  box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.4); }

.bh-sl-pagination-container ol {
  list-style-type: none;
  margin: 0;
  padding: 10px 0;
  text-align: center; }
  .bh-sl-pagination-container ol li {
    color: #005293;
    cursor: pointer;
    display: inline-block;
    font: bold 14px "Poppins", sans-serif;
    padding: 10px; }
  .bh-sl-pagination-container ol .bh-sl-current {
    cursor: auto;
    text-decoration: none; }

.bh-sl-widget-shortcode-styles a, .bh-sl-map-widget a, .bh-sl-map-shortcode a {
  color: #005293;
  text-decoration: none; }
  .bh-sl-widget-shortcode-styles a:active, .bh-sl-map-widget a:active, .bh-sl-map-shortcode a:active, .bh-sl-widget-shortcode-styles a:focus, .bh-sl-map-widget a:focus, .bh-sl-map-shortcode a:focus, .bh-sl-widget-shortcode-styles a:hover, .bh-sl-map-widget a:hover, .bh-sl-map-shortcode a:hover {
    text-decoration: underline; }

.bh-sl-map-widget {
  min-height: 250px; }

.bh-sl-map-shortcode {
  min-height: 400px; }

.main-content {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin: 0; }

.main-content-column {
  position: relative;
  z-index: 2;
  margin: 0 auto; }
  .main-content-column::before, .main-content-column::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .main-content-column::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .main-content-column {
      max-width: 90%; } }
  @media print, screen and (min-width: 64em) {
    .main-content-column {
      max-width: 90%; } }
  @media screen and (min-width: 80.3125em) {
    .main-content-column {
      max-width: 66.66667rem; } }

.scroll-down {
  position: relative;
  z-index: 50;
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto;
  margin-top: -28px; }
  .scroll-down circle {
    fill: #33658a; }
  @media print, screen and (min-width: 40em) {
    .scroll-down {
      width: 50px;
      height: 50px;
      margin-top: -50px; } }
  @media print, screen and (min-width: 64em) {
    .scroll-down {
      width: 60px;
      height: 60px;
      margin-top: -90px; } }
  .no-ios .scroll-down {
    transition: all 0.2s ease; }
    .no-ios .scroll-down:hover {
      -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
              transform: scale(1.1); }
  .is-ie .scroll-down {
    margin-top: -21px; }
    @media print, screen and (min-width: 40em) {
      .is-ie .scroll-down {
        margin-top: -28px; } }
    @media print, screen and (min-width: 64em) {
      .is-ie .scroll-down {
        margin-top: -32px; } }

section.intro {
  position: relative;
  background: #fff url(../images/icon-vista-vibrant.svg) left bottom repeat-x;
  background-image: linear-gradient(-184deg, rgba(96, 76, 62, 0) 75%, rgba(96, 76, 62, 0.8)), url(../images/icon-vista-vibrant.svg);
  background-size: auto 200px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 0 100%); }
  @media print, screen and (min-width: 40em) {
    section.intro {
      background-position: center bottom;
      background-size: 101% auto; } }
  section.intro:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    height: 140px;
    background-image: linear-gradient(rgba(219, 210, 202, 0.9), rgba(219, 210, 202, 0)); }
  section.intro .inner {
    position: relative;
    z-index: 2;
    margin: 0 auto;
    padding: 50px 20px 100px;
    background: #333 url(../images/bg-sunset-mountains-trees.jpg) left top no-repeat;
    background-size: cover;
    background-image: linear-gradient(-184deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.8)), url(../images/bg-sunset-mountains-trees.jpg); }
    @media print, screen and (min-width: 40em) {
      section.intro .inner {
        margin-bottom: 0;
        padding-left: 50px;
        padding-bottom: 120px;
        background-image: linear-gradient(-184deg, rgba(0, 0, 0, 0.1) 10%, rgba(0, 0, 0, 0.6)), url(../images/bg-sunset-mountains-trees.jpg); } }
    @media print, screen and (min-width: 64em) {
      section.intro .inner {
        max-width: 66.66667rem;
        min-height: 475px;
        margin-bottom: 0;
        padding: 80px 0px 160px 120px;
        background-position: left top; } }
    body.page-template-front-page section.intro .inner {
      background-image: url(../images/banner-sunrise-grass-mountain-dk.jpg); }
    body.page-template-page-about section.intro .inner {
      background-image: linear-gradient(-184deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.2)), url(../images/bg-forest-stream-woman-pet.jpg);
      background-position: center top; }
    body.page-template-page-transportation section.intro .inner {
      background-image: url(../images/bg-mainstreet-tillamook.jpg); }
    body.page-template-page-trail section.intro .inner {
      background-image: url(../images/bg-sunset-moutain-top-hike.jpg); }
    body.page-template-page-activities section.intro .inner {
      background-image: url(../images/bg-forest-hike-man.jpg); }
  @media print, screen and (min-width: 40em) {
    section.intro .intro-content {
      width: 75%; } }
  @media screen and (min-width: 81.25em) {
    section.intro .intro-content {
      width: 60%; } }
  section.intro .hdr,
  section.intro p,
  section.intro address,
  section.intro #tribe-events .tribe-events-ical,
  #tribe-events section.intro .tribe-events-ical,
  section.intro #tribe-events .tribe-events-gcal,
  #tribe-events section.intro .tribe-events-gcal,
  section.intro body.post-type-archive-tribe_events #tribe-bar-form input[type=text],
  body.post-type-archive-tribe_events #tribe-bar-form section.intro input[type=text],
  section.intro body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details,
  body.post-type-archive-tribe_events .tribe-events-loop section.intro .tribe-events-venue-details,
  section.intro body.search .search-panel .search-keyword-label,
  body.search .search-panel section.intro .search-keyword-label,
  section.intro body.search .search-panel .search-keyword,
  body.search .search-panel section.intro .search-keyword {
    color: #fff; }
  section.intro p:last-child, section.intro address:last-child, section.intro #tribe-events .tribe-events-ical:last-child, #tribe-events section.intro .tribe-events-ical:last-child,
  section.intro #tribe-events .tribe-events-gcal:last-child, #tribe-events section.intro .tribe-events-gcal:last-child, section.intro body.post-type-archive-tribe_events #tribe-bar-form input:last-child[type=text], body.post-type-archive-tribe_events #tribe-bar-form section.intro input:last-child[type=text], section.intro body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details:last-child, body.post-type-archive-tribe_events .tribe-events-loop section.intro .tribe-events-venue-details:last-child, section.intro body.search .search-panel .search-keyword-label:last-child, body.search .search-panel section.intro .search-keyword-label:last-child, section.intro body.search .search-panel .search-keyword:last-child, body.search .search-panel section.intro .search-keyword:last-child {
    margin-bottom: 0; }
  section.intro strong {
    font-weight: 600; }

.page-wrapper {
  position: relative;
  z-index: 1;
  margin: -7vw 0 0 0;
  padding: 50px 0 100px;
  background: #DBD2CA url(../images/bg-tree-rings.png); }
  @media print, screen and (min-width: 40em) {
    .page-wrapper {
      padding: 100px 0 200px; } }
  @media print, screen and (min-width: 64em) {
    .page-wrapper {
      padding: 150px 0 300px; } }
  .page-wrapper:before, .page-wrapper:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
    width: 100%; }
  .page-wrapper:before {
    top: 0;
    height: 400px;
    background-image: linear-gradient(360deg, rgba(255, 255, 255, 0), white 80%); }
  .page-wrapper:after {
    bottom: 0;
    width: 100%;
    height: 1000px;
    background-image: url(../images/icon-landscape-vibrant.svg), linear-gradient(rgba(255, 255, 255, 0), white 80%);
    background-position: left bottom;
    background-size: auto 200px;
    background-repeat: repeat-x; }
    @media print, screen and (min-width: 40em) {
      .page-wrapper:after {
        background-position: center bottom;
        background-size: 101% auto; } }

.page-wrapper-flat {
  position: relative;
  z-index: 1;
  padding: 0px 0 150px;
  background: #DBD2CA url(../images/bg-tree-rings.png); }
  @media print, screen and (min-width: 40em) {
    .page-wrapper-flat {
      padding: 0px 0 200px; } }
  @media print, screen and (min-width: 64em) {
    .page-wrapper-flat {
      padding: 0px 0 300px; } }
  .page-wrapper-flat:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    z-index: 1;
    width: 100%; }
  .page-wrapper-flat:after {
    bottom: 0;
    width: 100%;
    height: 1000px;
    background-color: #fff;
    background-image: url(../images/icon-landscape-vibrant.svg);
    background-position: left bottom;
    background-size: auto 200px;
    background-repeat: no-repeat; }
    @media print, screen and (min-width: 40em) {
      .page-wrapper-flat:after {
        background-color: transparent;
        background-image: url(../images/icon-landscape-vibrant.svg), linear-gradient(rgba(255, 255, 255, 0), white 80%);
        background-position: center bottom;
        background-size: 101% auto; } }

.row-main {
  padding: 30px 0;
  background: #fff; }
  @media print, screen and (min-width: 40em) {
    .row-main {
      padding: 60px; } }
  @media print, screen and (min-width: 64em) {
    .row-main {
      padding: 80px; } }

.page-wrapper-flat .row-main {
  padding: 30px 0; }
  @media print, screen and (min-width: 40em) {
    .page-wrapper-flat .row-main {
      padding: 40px 60px 60px; } }
  @media print, screen and (min-width: 64em) {
    .page-wrapper-flat .row-main {
      padding: 50px 80px 80px; } }

section {
  position: relative;
  z-index: 2; }

section.basic {
  margin: 2rem 20px 2.5rem; }
  @media print, screen and (min-width: 40em) {
    section.basic {
      margin: 2rem 20px 3rem; } }

section.faq {
  margin-left: 20px;
  margin-right: 20px; }

.box {
  margin: 2rem 0;
  background: #fff;
  border: 10px solid #fff; }
  .box .box-inner {
    padding: 30px;
    background: #fff;
    border: 1px solid #dee5e5; }
    @media print, screen and (min-width: 40em) {
      .box .box-inner {
        padding: 40px; } }

.cats {
  margin: 0 0 1.25rem 0; }
  @media print, screen and (min-width: 40em) {
    .cats {
      margin-bottom: 1.5rem; } }

.cat {
  display: inline-block;
  margin: 0 .6rem .5rem 0;
  padding: .3rem .75rem .25rem;
  background: #33658a;
  color: #fff;
  font-size: 0.66667rem;
  font-weight: 600;
  white-space: nowrap; }

/* modal ---------------------------- */
.reveal {
  padding: 50px 25px; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      padding: 50px; } }

/* back to top ---------------------------- */
.back-to-top {
  position: fixed;
  bottom: 60px;
  right: 30px;
  z-index: 50;
  display: none;
  border-radius: 10px;
  opacity: 0;
  transition: all 0.4s ease-in-out; }
  .no-ios .back-to-top:hover {
    opacity: 1; }
  .back-to-top.active {
    display: inline-block;
    opacity: .7; }
  .back-to-top.scrolling {
    opacity: 0; }
  .back-to-top .icon-wrap {
    display: block;
    width: 60px;
    height: 60px;
    margin: 16px 15px 15px; }

.home .main-content {
  background-image: none;
  padding-bottom: 0; }

@media print, screen and (min-width: 40em) {
  .home .main-content {
    padding-top: 0; } }

@media print, screen and (min-width: 64em) {
  .home .main-content {
    padding-top: 0; } }

.home .content-wrap {
  position: relative;
  z-index: 1; }
  .home .content-wrap section {
    position: relative;
    z-index: 2; }

.home .featured {
  margin: 0 0 50px 0; }
  @media print, screen and (min-width: 40em) {
    .home .featured {
      margin-bottom: 70px; } }
  @media print, screen and (min-width: 64em) {
    .home .featured {
      margin-bottom: 90px; } }
  .home .featured .featured-hdr {
    margin: 0 0 30px 0;
    padding: 0 0 20px 0;
    text-align: center;
    border-bottom: 2px solid #2f4858; }
  .home .featured .destination-row {
    padding: 0;
    border-bottom: none; }
    .home .featured .destination-row .columns:last-child {
      float: left; }

.home section.destinations {
  margin: -7vw 0 0 0;
  padding: 75px 20px 85px;
  background: #DBD2CA url(../images/bg-tree-rings.png);
  -webkit-clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% calc(100% - 7vw), 0 100%);
  clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% calc(100% - 7vw), 0 100%); }
  @media print, screen and (min-width: 40em) {
    .home section.destinations {
      padding: 110px 20px 120px; } }
  @media print, screen and (min-width: 64em) {
    .home section.destinations {
      padding: 190px 30px 200px; } }
  .home section.destinations:before, .home section.destinations:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 500px; }
  .home section.destinations:before {
    top: 0;
    background-image: linear-gradient(360deg, rgba(255, 255, 255, 0), white 80%); }
  .home section.destinations:after {
    bottom: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0), white 80%); }
  .home section.destinations .inner {
    position: relative;
    z-index: 2; }
  .home section.destinations .tabs {
    margin: 0 0 20px 0;
    border: none;
    border-bottom: 1px solid #555;
    text-align: center; }
    @media print, screen and (min-width: 64em) {
      .home section.destinations .tabs {
        margin-bottom: 25px; } }
    .home section.destinations .tabs .tabs-title {
      float: none;
      display: inline-block; }
    .home section.destinations .tabs a {
      padding: 15px 7px;
      text-transform: uppercase;
      font-family: "Unica One", serif;
      font-size: 1.33333rem;
      color: #2f4858;
      opacity: .4;
      transition: opacity 0.3s ease; }
      @media print, screen and (min-width: 40em) {
        .home section.destinations .tabs a {
          padding: 1rem 1rem;
          font-size: 2.05556rem; } }
      @media print, screen and (min-width: 64em) {
        .home section.destinations .tabs a {
          margin: 0 10px;
          font-size: 2.22222rem; } }
      .home section.destinations .tabs a:hover {
        text-decoration: none; }
        .no-ios .home section.destinations .tabs a:hover {
          opacity: .6; }
    .home section.destinations .tabs .is-active a {
      border-bottom: 5px solid #2f4858;
      opacity: 1; }
      @media print, screen and (min-width: 40em) {
        .home section.destinations .tabs .is-active a {
          border-bottom-width: 8px; } }
      @media print, screen and (min-width: 64em) {
        .home section.destinations .tabs .is-active a {
          border-bottom-width: 10px; } }
      .home section.destinations .tabs .is-active a:hover {
        opacity: 1; }
        .no-ios .home section.destinations .tabs .is-active a:hover {
          opacity: 1; }
  .home section.destinations .tabs-content {
    border: none; }
  .home section.destinations .tab-desc {
    margin: 0 0 30px 0;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .home section.destinations .tab-desc {
        margin: 0 30px 30px 30px; } }
    @media print, screen and (min-width: 64em) {
      .home section.destinations .tab-desc {
        margin: 0 0 40px 0; } }

.home section.banner-home-middle {
  position: relative;
  width: 100%;
  height: 300px;
  margin: -7vw 0 0 0;
  background: #ccc url(../images/bg-sunrise-ocean-rocky-coast.jpg) center no-repeat;
  background-size: cover;
  -webkit-clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% calc(100% - 7vw), 0 100%);
  clip-path: polygon(0 calc(0% + 7vw), 100% 0, 100% calc(100% - 7vw), 0 100%); }
  @media print, screen and (min-width: 40em) {
    .home section.banner-home-middle {
      height: 450px; } }
  @media print, screen and (min-width: 64em) {
    .home section.banner-home-middle {
      height: 550px; } }
  .no-ios .home section.banner-home-middle {
    background-attachment: fixed; }
  .home section.banner-home-middle:before {
    content: "";
    display: block;
    width: 100%;
    height: 20px;
    background: #000;
    opacity: .4;
    -webkit-transform-origin: 100%;
        -ms-transform-origin: 100%;
            transform-origin: 100%; }
  .no-ie .home section.banner-home-middle:before {
    -webkit-transform: skewY(-4deg);
        -ms-transform: skewY(-4deg);
            transform: skewY(-4deg); }

.home .home-bottom {
  position: relative;
  margin: -7vw 0 0 0;
  padding: 100px 0 100px;
  background: #dbd2ca; }
  @media print, screen and (min-width: 40em) {
    .home .home-bottom {
      padding: 175px 0 200px; } }
  @media print, screen and (min-width: 64em) {
    .home .home-bottom {
      padding: 250px 0 300px; } }
  .home .home-bottom:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 1500px;
    background-image: url(../images/icon-landscape-vibrant.svg), linear-gradient(rgba(255, 255, 255, 0), white 80%);
    background-position: left bottom;
    background-size: auto 200px;
    background-repeat: repeat-x; }
    @media print, screen and (min-width: 40em) {
      .home .home-bottom:after {
        background-position: center bottom;
        background-size: 101% auto; } }

.home section.recent-events .recent-events__inner {
  margin-bottom: 75px;
  padding: 2rem 1.5rem 2.5rem 1.5rem;
  background: #fff;
  box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.3);
  border-top: 20px solid #33658a; }
  @media print, screen and (min-width: 40em) {
    .home section.recent-events .recent-events__inner {
      margin-bottom: 100px;
      padding: 2rem 2rem 3rem 2rem; } }
  @media print, screen and (min-width: 64em) {
    .home section.recent-events .recent-events__inner {
      margin-bottom: 175px; } }

.home section.recent-events .recent-events__inner-feed--divider {
  position: relative; }
  .home section.recent-events .recent-events__inner-feed--divider:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    bottom: 0;
    z-index: 1;
    display: none;
    width: 2px;
    height: 100%;
    background: #33658a; }
    @media print, screen and (min-width: 40em) {
      .home section.recent-events .recent-events__inner-feed--divider:before {
        display: block; } }
  @media print, screen and (min-width: 40em) {
    .home section.recent-events .recent-events__inner-feed--divider .post-event--1 {
      margin-right: 3rem; } }
  .home section.recent-events .recent-events__inner-feed--divider .post-event--2 {
    margin-top: 2.25rem;
    padding-top: 3rem;
    border-top: 2px solid #33658a; }
    @media print, screen and (min-width: 40em) {
      .home section.recent-events .recent-events__inner-feed--divider .post-event--2 {
        margin-top: 0;
        padding-top: 0;
        border: none;
        margin-left: 3rem; } }

.home section.recent-events .hdr-section {
  text-transform: uppercase;
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .home section.recent-events .hdr-section {
      margin-bottom: 2rem; } }
  .home section.recent-events .hdr-section:before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 34px;
    margin: 0 10px 0 0;
    background: url(../images/icon-events.svg) no-repeat; }
    @media print, screen and (min-width: 40em) {
      .home section.recent-events .hdr-section:before {
        width: 39px;
        height: 41px;
        margin-right: 15px; } }
    @media print, screen and (min-width: 64em) {
      .home section.recent-events .hdr-section:before {
        width: 44px;
        height: 46px; } }

.home section.recent-events .hdr-slug {
  margin: 0 0 25px 2px;
  font-size: 0.66667rem; }
  @media print, screen and (min-width: 40em) {
    .home section.recent-events .hdr-slug {
      font-size: 0.72222rem; } }
  @media print, screen and (min-width: 64em) {
    .home section.recent-events .hdr-slug {
      font-size: 0.77778rem; } }

.home section.recent-events .title a {
  color: #2f4858; }

.home section.recent-events .btn-wrap {
  margin: 1.5rem 0 .75rem 0; }
  @media print, screen and (min-width: 40em) {
    .home section.recent-events .btn-wrap {
      margin-bottom: 0; } }

.home section.video {
  text-align: center; }
  .home section.video .inner {
    padding: 4rem 20px;
    background: #333 url(../images/bg-home-video.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    color: #fff; }
    @media print, screen and (min-width: 40em) {
      .home section.video .inner {
        padding: 4rem 4rem; } }
    @media print, screen and (min-width: 64em) {
      .home section.video .inner {
        padding: 9rem 5rem; } }
  .home section.video .hdr {
    text-transform: uppercase;
    color: #fff; }
  .home section.video a {
    color: #f70; }
  .home section.video .btn-wrap {
    margin: 2rem 0 0 0; }
    @media print, screen and (min-width: 40em) {
      .home section.video .btn-wrap {
        margin-top: 3rem; } }
    .home section.video .btn-wrap button {
      color: #fff; }
      .no-ios .home section.video .btn-wrap button {
        transition: all 0.2s ease; }
        .no-ios .home section.video .btn-wrap button .icon-wrap {
          transition: all 0.2s ease; }
        .no-ios .home section.video .btn-wrap button:hover {
          cursor: pointer;
          text-shadow: 0 0 6px rgba(255, 255, 255, 0.5); }
          .no-ios .home section.video .btn-wrap button:hover .icon-wrap {
            -webkit-transform: scale(1.1);
                -ms-transform: scale(1.1);
                    transform: scale(1.1); }
    .home section.video .btn-wrap .icon-wrap {
      display: block;
      width: 50px;
      height: 50px;
      margin: 0 auto 15px; }
      @media print, screen and (min-width: 40em) {
        .home section.video .btn-wrap .icon-wrap {
          width: 65px;
          height: 65px; } }
      @media print, screen and (min-width: 64em) {
        .home section.video .btn-wrap .icon-wrap {
          width: 80px;
          height: 80px; } }

.home section.about {
  padding: 3.5rem 0 5.5rem 0;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .home section.about {
      padding: 6rem 0 2rem 0; } }
  .home section.about .about-icon {
    margin: 0 0 1.5rem 0; }
    @media print, screen and (min-width: 64em) {
      .home section.about .about-icon {
        margin-bottom: 2rem; } }
    .home section.about .about-icon .icon-wrap {
      display: inline-block;
      width: 65px;
      height: 75px; }
      @media print, screen and (min-width: 64em) {
        .home section.about .about-icon .icon-wrap {
          width: 80px;
          height: 92px; } }
  .home section.about .hdr {
    margin-bottom: 1.75rem;
    text-transform: uppercase; }

.home section.instagram {
  display: none;
  padding: 75px 0;
  background: #ece8e0; }
  @media print, screen and (min-width: 64em) {
    .home section.instagram {
      padding: 100px 0; } }
  .home section.instagram .hdr small {
    font-size: 70%;
    font-weight: normal; }
    @media print, screen and (min-width: 40em) {
      .home section.instagram .hdr small {
        margin-left: 20px;
        font-size: 60%; } }
    @media print, screen and (min-width: 64em) {
      .home section.instagram .hdr small {
        margin-left: 30px;
        font-size: 65%; } }
  .home section.instagram .icon-instagram-wrap {
    margin: 0 0 15px 0; }
    @media print, screen and (min-width: 40em) {
      .home section.instagram .icon-instagram-wrap {
        margin-bottom: 0;
        text-align: right; } }
  .home section.instagram .icon-instagram {
    display: inline-block;
    width: 40px;
    height: 40px; }
    @media print, screen and (min-width: 64em) {
      .home section.instagram .icon-instagram {
        width: 50px;
        height: 50px; } }

.page-template-default .entry-title {
  margin-bottom: 1rem;
  text-align: center; }

.entry-content li {
  margin-bottom: 8px; }

body.blog .hdr-wrap,
body.archive .hdr-wrap,
body.single-poi .hdr-wrap,
body.single-tcc_member .hdr-wrap,
body.single .hdr-wrap,
body.single-tribe_events .hdr-wrap,
body.search .hdr-wrap,
body.error404 .hdr-wrap,
body.page-template-page-topic .hdr-wrap {
  margin: 0 0 40px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px dotted #666; }
  @media print, screen and (min-width: 40em) {
    body.blog .hdr-wrap,
    body.archive .hdr-wrap,
    body.single-poi .hdr-wrap,
    body.single-tcc_member .hdr-wrap,
    body.single .hdr-wrap,
    body.single-tribe_events .hdr-wrap,
    body.search .hdr-wrap,
    body.error404 .hdr-wrap,
    body.page-template-page-topic .hdr-wrap {
      margin-bottom: 50px;
      padding-bottom: 30px; } }
  body.blog .hdr-wrap h1,
  body.archive .hdr-wrap h1,
  body.single-poi .hdr-wrap h1,
  body.single-tcc_member .hdr-wrap h1,
  body.single .hdr-wrap h1,
  body.single-tribe_events .hdr-wrap h1,
  body.search .hdr-wrap h1,
  body.error404 .hdr-wrap h1,
  body.page-template-page-topic .hdr-wrap h1 {
    margin-bottom: 0; }

body.blog .entry-content,
body.archive .entry-content,
body.single-poi .entry-content,
body.single-tcc_member .entry-content,
body.single .entry-content,
body.single-tribe_events .entry-content,
body.search .entry-content,
body.error404 .entry-content,
body.page-template-page-topic .entry-content {
  margin: 0; }

body.blog .back-link,
body.archive .back-link,
body.single-poi .back-link,
body.single-tcc_member .back-link,
body.single .back-link,
body.single-tribe_events .back-link,
body.search .back-link,
body.error404 .back-link,
body.page-template-page-topic .back-link {
  margin: 0 0 40px 0; }
  .no-ios body.blog .back-link a:hover, .no-ios
  body.archive .back-link a:hover, .no-ios
  body.single-poi .back-link a:hover, .no-ios
  body.single-tcc_member .back-link a:hover, .no-ios
  body.single .back-link a:hover, .no-ios
  body.single-tribe_events .back-link a:hover, .no-ios
  body.search .back-link a:hover, .no-ios
  body.error404 .back-link a:hover, .no-ios
  body.page-template-page-topic .back-link a:hover {
    color: #ff9233; }
  body.blog .back-link .icon-wrap,
  body.archive .back-link .icon-wrap,
  body.single-poi .back-link .icon-wrap,
  body.single-tcc_member .back-link .icon-wrap,
  body.single .back-link .icon-wrap,
  body.single-tribe_events .back-link .icon-wrap,
  body.search .back-link .icon-wrap,
  body.error404 .back-link .icon-wrap,
  body.page-template-page-topic .back-link .icon-wrap {
    position: relative;
    top: 5px; }
  body.blog .back-link path,
  body.archive .back-link path,
  body.single-poi .back-link path,
  body.single-tcc_member .back-link path,
  body.single .back-link path,
  body.single-tribe_events .back-link path,
  body.search .back-link path,
  body.error404 .back-link path,
  body.page-template-page-topic .back-link path {
    fill: #f70; }

body.blog .post-cats,
body.archive .post-cats,
body.single-poi .post-cats,
body.single-tcc_member .post-cats,
body.single .post-cats,
body.single-tribe_events .post-cats,
body.search .post-cats,
body.error404 .post-cats,
body.page-template-page-topic .post-cats {
  margin: 15px 0 0 0;
  list-style: none; }

body.blog .cat-item,
body.archive .cat-item,
body.single-poi .cat-item,
body.single-tcc_member .cat-item,
body.single .cat-item,
body.single-tribe_events .cat-item,
body.search .cat-item,
body.error404 .cat-item,
body.page-template-page-topic .cat-item {
  margin: 0;
  padding: 0;
  display: inline; }
  body.blog .cat-item.current-cat a,
  body.archive .cat-item.current-cat a,
  body.single-poi .cat-item.current-cat a,
  body.single-tcc_member .cat-item.current-cat a,
  body.single .cat-item.current-cat a,
  body.single-tribe_events .cat-item.current-cat a,
  body.search .cat-item.current-cat a,
  body.error404 .cat-item.current-cat a,
  body.page-template-page-topic .cat-item.current-cat a {
    padding: 3px 18px;
    background: #33658a;
    color: #fff; }
    .no-ios body.blog .cat-item.current-cat a:hover, .no-ios
    body.archive .cat-item.current-cat a:hover, .no-ios
    body.single-poi .cat-item.current-cat a:hover, .no-ios
    body.single-tcc_member .cat-item.current-cat a:hover, .no-ios
    body.single .cat-item.current-cat a:hover, .no-ios
    body.single-tribe_events .cat-item.current-cat a:hover, .no-ios
    body.search .cat-item.current-cat a:hover, .no-ios
    body.error404 .cat-item.current-cat a:hover, .no-ios
    body.page-template-page-topic .cat-item.current-cat a:hover {
      color: #fff;
      text-decoration: none;
      cursor: default; }
  body.blog .cat-item a,
  body.archive .cat-item a,
  body.single-poi .cat-item a,
  body.single-tcc_member .cat-item a,
  body.single .cat-item a,
  body.single-tribe_events .cat-item a,
  body.search .cat-item a,
  body.error404 .cat-item a,
  body.page-template-page-topic .cat-item a {
    display: inline-block;
    margin: 0 28px 18px 0;
    border-radius: 20px;
    color: #658ca5;
    font-weight: normal; }
    .no-ios body.blog .cat-item a:hover, .no-ios
    body.archive .cat-item a:hover, .no-ios
    body.single-poi .cat-item a:hover, .no-ios
    body.single-tcc_member .cat-item a:hover, .no-ios
    body.single .cat-item a:hover, .no-ios
    body.single-tribe_events .cat-item a:hover, .no-ios
    body.search .cat-item a:hover, .no-ios
    body.error404 .cat-item a:hover, .no-ios
    body.page-template-page-topic .cat-item a:hover {
      color: #33658a;
      text-decoration: none; }

body.blog .title,
body.archive .title,
body.single-poi .title,
body.single-tcc_member .title,
body.single .title,
body.single-tribe_events .title,
body.search .title,
body.error404 .title,
body.page-template-page-topic .title {
  margin-bottom: .25rem; }

@media screen and (max-width: 39.9375em) {
  body.blog .main-content-inner {
    padding-left: 0;
    padding-right: 0; } }

.post-archive {
  margin: 0 0 40px 0; }
  @media print, screen and (min-width: 64em) {
    .post-archive {
      margin-bottom: 60px; } }
  .post-archive .featured-photo {
    margin: 0 0 15px 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    @media print, screen and (min-width: 40em) {
      .post-archive .featured-photo {
        margin: 8px 0 0 0; } }
    .post-archive .featured-photo:before {
      content: "";
      display: block;
      padding-top: 100%; }

.page-template-page-about .hdr-section-wrap:after {
  width: 100%; }

@media screen and (max-width: 39.9375em) {
  .page-template-page-about .page-wrapper section.basic img.alignleft {
    float: none; } }

.page-template-page-lodging .lodging-members {
  margin: 2rem 0 2rem 0; }

.page-template-page-lodging .lodging-members-intro {
  text-align: center; }

.page-template-page-lodging .lodging-members-results {
  margin: 1rem 0 2rem; }
  @media print, screen and (min-width: 40em) {
    .page-template-page-lodging .lodging-members-results {
      margin: 2rem 0; } }
  @media screen and (max-width: 39.9375em) {
    .page-template-page-lodging .lodging-members-results .column-block {
      margin-bottom: 20px; } }

.page-template-page-lodging .lodging-member {
  padding: 15px;
  background: #fff;
  text-align: center; }
  .page-template-page-lodging .lodging-member .inner {
    padding: 30px 15px;
    background: #fff url(../images/bg-texture-paper.jpg) center;
    border: 3px solid #ece8e0; }
  .page-template-page-lodging .lodging-member .contact {
    margin: 0; }
  .page-template-page-lodging .lodging-member .button, .page-template-page-lodging .lodging-member .bh-sl-form-container button[type="submit"], .bh-sl-form-container .page-template-page-lodging .lodging-member button[type="submit"], .page-template-page-lodging .lodging-member body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .page-template-page-lodging .lodging-member button.tribe-events-c-search__button {
    margin: 2rem 0 0 0;
    padding: .4rem 1.25rem .35rem;
    font-weight: 800;
    text-transform: uppercase; }

.page-template-page-lodging .lodging-custom-results {
  margin: 2rem 0; }
  @media screen and (max-width: 39.9375em) {
    .page-template-page-lodging .lodging-custom-results .column-block {
      margin-bottom: 20px; } }

.page-template-page-lodging .lodging-custom-result {
  position: relative;
  min-height: 200px;
  padding: 30px 15px;
  border: 6px solid #fff;
  background-color: #333;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .page-template-page-lodging .lodging-custom-result {
      min-height: 300px; } }
  .page-template-page-lodging .lodging-custom-result .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 200px; }
  .page-template-page-lodging .lodging-custom-result h3, .page-template-page-lodging .lodging-custom-result .travel-item .flip-toggle, .travel-item .page-template-page-lodging .lodging-custom-result .flip-toggle {
    color: #fff; }
  .page-template-page-lodging .lodging-custom-result a {
    text-transform: uppercase;
    font-weight: 800;
    font-size: 16px; }
    @media print, screen and (min-width: 40em) {
      .page-template-page-lodging .lodging-custom-result a {
        font-size: 17px; } }
    @media print, screen and (min-width: 64em) {
      .page-template-page-lodging .lodging-custom-result a {
        font-size: 18px; } }
    .page-template-page-lodging .lodging-custom-result a .icon-wrap {
      display: inline-block;
      width: 15px;
      height: 15px;
      margin: 0 2px 0 4px; }
    .no-ios .page-template-page-lodging .lodging-custom-result a:hover {
      text-decoration: none; }
      .no-ios .page-template-page-lodging .lodging-custom-result a:hover path {
        fill: #ff9233; }

body.post-type-archive-tcc_member .pghdr {
  font-size: 1.11111rem; }
  @media screen and (min-width: 18.75em) {
    body.post-type-archive-tcc_member .pghdr {
      font-size: 1.55556rem; } }
  @media screen and (min-width: 27.4375em) {
    body.post-type-archive-tcc_member .pghdr {
      font-size: 2rem; } }

body.single-tcc_member {
  /* not using this*/ }
  body.single-tcc_member .featured-photo {
    margin: 0 0 15px 0; }
    @media print, screen and (min-width: 40em) {
      body.single-tcc_member .featured-photo {
        margin: 8px 0 0 0; } }
  body.single-tcc_member .cats {
    margin: 0 0 .5rem 0; }
    @media print, screen and (min-width: 40em) {
      body.single-tcc_member .cats {
        margin-bottom: .25rem; } }
  body.single-tcc_member .meta {
    margin: 1rem 0 1.3rem;
    padding: 1rem 0 .25rem;
    border-top: 2px solid #999;
    border-bottom: 2px solid #999; }
    @media print, screen and (min-width: 40em) {
      body.single-tcc_member .meta {
        margin-bottom: 1.5rem;
        padding-bottom: 1rem; } }
    @media print, screen and (min-width: 40em) {
      body.single-tcc_member .meta p, body.single-tcc_member .meta address, body.single-tcc_member .meta #tribe-events .tribe-events-ical, #tribe-events body.single-tcc_member .meta .tribe-events-ical,
      body.single-tcc_member .meta #tribe-events .tribe-events-gcal, #tribe-events body.single-tcc_member .meta .tribe-events-gcal, body.single-tcc_member .meta body.post-type-archive-tribe_events #tribe-bar-form input[type=text], body.post-type-archive-tribe_events #tribe-bar-form body.single-tcc_member .meta input[type=text], body.single-tcc_member .meta body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop body.single-tcc_member .meta .tribe-events-venue-details, body.single-tcc_member .meta body.search .search-panel .search-keyword-label, body.search .search-panel body.single-tcc_member .meta .search-keyword-label, body.single-tcc_member .meta body.search .search-panel .search-keyword, body.search .search-panel body.single-tcc_member .meta .search-keyword {
        margin: 0; } }
  @media screen and (max-width: 39.9375em) {
    body.single-tcc_member .address {
      font-size: 1rem; } }
  @media screen and (max-width: 39.9375em) {
    body.single-tcc_member .contact {
      font-size: 1rem; } }
  body.single-tcc_member .contact span {
    display: block; }
  @media screen and (max-width: 39.9375em) {
    body.single-tcc_member .contact .website {
      margin-top: .5rem; } }
  body.single-tcc_member .desc {
    margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    body.single-tcc_member .desc-margin {
      margin: 0 1rem 0 0; } }
  body.single-tcc_member .hours-wrap {
    padding: 1rem;
    background: rgba(154, 177, 64, 0.2) url(../images/bg-texture-paper.jpg) center;
    background-blend-mode: multiply; }
    body.single-tcc_member .hours-wrap .hdr {
      text-transform: uppercase; }
  @media print, screen and (min-width: 40em) {
    body.single-tcc_member .social-links {
      text-align: right; } }
  body.single-tcc_member .social-links .social {
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: 0 5px 5px 0; }
    @media print, screen and (min-width: 40em) {
      body.single-tcc_member .social-links .social {
        margin: 0 0 5px 5px; } }
    .no-ios body.single-tcc_member .social-links .social {
      transition: all 0.2s ease; }
      .no-ios body.single-tcc_member .social-links .social:hover {
        opacity: .9; }
  body.single-tcc_member .member-map {
    margin: 1rem 0 0 0; }
  body.single-tcc_member .related-article {
    margin: 1rem 0;
    padding: 15px;
    background: rgba(236, 232, 224, 0.5) url(../images/bg-texture-paper.jpg) center;
    background-blend-mode: multiply; }
    body.single-tcc_member .related-article .inner {
      padding: 1.5rem;
      border: 4px solid #fff; }
    body.single-tcc_member .related-article .related-media {
      float: left;
      display: inline-block;
      margin: 4px 1.25rem .75rem 0; }
    body.single-tcc_member .related-article .button, body.single-tcc_member .related-article .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.single-tcc_member .related-article button[type="submit"], body.single-tcc_member .related-article body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events body.single-tcc_member .related-article button.tribe-events-c-search__button {
      margin: 1rem 0 0 0;
      padding: .6rem 1rem .5rem; }
    body.single-tcc_member .related-article .desc {
      margin: 0; }

body.single-post .featured-photo {
  margin: 0 -20px 1.5rem; }
  @media print, screen and (min-width: 40em) {
    body.single-post .featured-photo {
      margin: 0 -75px 2rem; } }
  @media print, screen and (min-width: 64em) {
    body.single-post .featured-photo {
      margin: 0 -95px 2rem; } }

body.single-post h1 {
  text-transform: none; }

body.single-post .related-posts {
  margin: 2rem 0; }
  @media print, screen and (min-width: 40em) {
    body.single-post .related-posts {
      margin: 2rem 0; } }
  @media screen and (min-width: 83.75em) {
    body.single-post .related-posts {
      margin: 3rem 0; } }
  body.single-post .related-posts .related-post {
    margin: 0 0 .5rem 0; }
  body.single-post .related-posts .featured-photo {
    margin: 0 -20px .5rem; }
    @media print, screen and (min-width: 40em) {
      body.single-post .related-posts .featured-photo {
        margin: 0 0 1rem; } }
    @media screen and (min-width: 83.75em) {
      body.single-post .related-posts .featured-photo {
        margin: 0 0 1rem; } }
  body.single-post .related-posts .title a {
    color: #333; }

#tribe-events .tribe-events-ical,
#tribe-events .tribe-events-gcal {
  margin: .5rem .5rem .5rem 0;
  padding: .5rem 1.5rem;
  background: #8dd0d5;
  border-radius: 1rem;
  text-transform: none;
  letter-spacing: normal; }
  .no-ios #tribe-events .tribe-events-ical, .no-ios
  #tribe-events .tribe-events-gcal {
    transition: all 0.2s ease; }
    .no-ios #tribe-events .tribe-events-ical:hover, .no-ios
    #tribe-events .tribe-events-gcal:hover {
      background: #8dd0d5;
      opacity: .9; }

.tribe-events a {
  font-family: "Poppins", sans-serif; }

.tribe-common .tribe-common-b1,
.tribe-common .tribe-common-b2,
.tribe-common .tribe-common-b3,
.tribe-common .tribe-common-form-control-checkbox__label,
.tribe-common .tribe-common-form-control-radio__label,
.tribe-common .tribe-common-form-control-text__input {
  font-family: "Poppins", sans-serif; }

.tribe-common .tribe-common-h3 {
  font-family: "Unica One", serif !important; }

.tribe-common .tribe-common-h5,
.tribe-common .tribe-common-h6 {
  font-family: "Unica One", serif; }

.tribe-common button:focus {
  outline: none; }

.tribe-common .tribe-common-c-btn {
  font-family: "Poppins", sans-serif; }

.tribe-common .tribe-common-form-control-text__input {
  padding-left: 15px;
  box-shadow: none; }
  .tribe-common .tribe-common-form-control-text__input:focus, .tribe-common .tribe-common-form-control-text__input:-internal-autofill-selected {
    background-color: #eee !important; }

.tribe-common .tribe-events-c-search__input-control-icon-svg {
  right: 15px; }

.tribe-events-content {
  font-family: "Poppins", sans-serif;
  color: #333; }

.tribe-filter-bar .tribe-filter-bar-c-dropdown .select2-results__option {
  font-family: "Poppins", sans-serif; }

/* separator */
.tribe-events .tribe-events-calendar-month-mobile-events__day-marker:before,
.tribe-events .tribe-events-calendar-day__time-separator:before,
.tribe-events .tribe-events-calendar-list__month-separator:before {
  content: "";
  background-color: #dee5e5;
  display: block;
  -webkit-flex: auto;
      -ms-flex: auto;
          flex: auto;
  height: 3px;
  margin-right: 20px; }

.tribe-events .tribe-events-calendar-month-mobile-events__day-marker:after,
.tribe-events .tribe-events-calendar-day__time-separator:after,
.tribe-events .tribe-events-calendar-list__month-separator:after {
  height: 3px;
  background-color: #dee5e5; }

.tribe-events .tribe-events-calendar-month-mobile-events__day-marker > time,
.tribe-events .tribe-events-calendar-day__time-separator > time,
.tribe-events .tribe-events-calendar-list__month-separator > time {
  font-family: "Unica One", serif !important;
  font-weight: normal;
  font-size: 2.3rem !important;
  color: #2f4858; }

/* date picker */
.tribe-common .tribe-common-h3.tribe-events-c-top-bar__datepicker-button > time,
.tribe-common-h3.tribe-common-h--alt.tribe-events-c-top-bar__datepicker-button > time,
.tribe-common--breakpoint-full.tribe-events .tribe-events-c-top-bar__datepicker-desktop > time {
  font-family: "Unica One", serif !important;
  font-size: 30px;
  line-height: 1.1 !important;
  font-weight: bold;
  color: #f70; }

.tribe-common .tribe-common-h3.tribe-events-c-top-bar__datepicker-button .tribe-events-c-top-bar__datepicker-separator,
.tribe-common-h3.tribe-common-h--alt.tribe-events-c-top-bar__datepicker-button .tribe-events-c-top-bar__datepicker-separator,
.tribe-common--breakpoint-full.tribe-events .tribe-events-c-top-bar__datepicker-desktop .tribe-events-c-top-bar__datepicker-separator {
  color: #f70; }

/* popup cal */
.tribe-events .datepicker .day.current, .tribe-events .datepicker .day.current.focused, .tribe-events .datepicker .day.current:focus, .tribe-events .datepicker .day.current:hover, .tribe-events .datepicker .month.current, .tribe-events .datepicker .month.current.focused, .tribe-events .datepicker .month.current:focus, .tribe-events .datepicker .month.current:hover, .tribe-events .datepicker .year.current, .tribe-events .datepicker .year.current.focused, .tribe-events .datepicker .year.current:focus, .tribe-events .datepicker .year.current:hover {
  background-color: #658ca5; }

.tribe-events .datepicker .day.active, .tribe-events .datepicker .day.active.focused, .tribe-events .datepicker .day.active:focus, .tribe-events .datepicker .day.active:hover, .tribe-events .datepicker .month.active, .tribe-events .datepicker .month.active.focused, .tribe-events .datepicker .month.active:focus, .tribe-events .datepicker .month.active:hover, .tribe-events .datepicker .year.active, .tribe-events .datepicker .year.active.focused, .tribe-events .datepicker .year.active:focus, .tribe-events .datepicker .year.active:hover {
  background-color: #33658a; }

tbody tr:nth-child(even) {
  background-color: #dee5e5; }

/* nav */
a.tribe-events-c-nav__today,
a.tribe-events-c-nav__prev,
a.tribe-events-c-nav__next {
  font-family: "Poppins", sans-serif;
  color: #f70 !important;
  font-weight: bold !important;
  transition: opacity 0.2s ease; }
  a.tribe-events-c-nav__today svg path,
  a.tribe-events-c-nav__prev svg path,
  a.tribe-events-c-nav__next svg path {
    fill: #f70 !important; }
  a.tribe-events-c-nav__today:hover,
  a.tribe-events-c-nav__prev:hover,
  a.tribe-events-c-nav__next:hover {
    opacity: .8; }
    a.tribe-events-c-nav__today:hover svg path,
    a.tribe-events-c-nav__prev:hover svg path,
    a.tribe-events-c-nav__next:hover svg path {
      fill: #f70 !important; }

button.tribe-events-c-nav__today,
button.tribe-events-c-nav__prev,
button.tribe-events-c-nav__next {
  font-weight: bold !important; }

/* content */
.tribe-events-calendar-list__event-featured-image-wrapper {
  max-width: 275px; }

.tribe-events-calendar-list__event-venue {
  font-size: 1rem !important;
  line-height: 1.2 !important;
  color: #999 !important; }
  .tribe-events-calendar-list__event-venue .tribe-events-calendar-list__event-venue-title {
    font-weight: normal !important; }
  .tribe-events-calendar-list__event-venue .tribe-events-gmap {
    color: #f70 !important; }
    .tribe-events-calendar-list__event-venue .tribe-events-gmap:hover {
      text-decoration: none; }
    .no-ios .tribe-events-calendar-list__event-venue .tribe-events-gmap:hover {
      color: #ff9233 !important; }

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.tribe-events-calendar-list__event-title {
  font-weight: normal !important;
  line-height: 1.1 !important;
  font-size: 30px !important; }
  @media print, screen and (min-width: 40em) {
    .tribe-events-calendar-list__event-title {
      font-size: 32px !important; } }
  .tribe-events-calendar-list__event-title a {
    font-family: "Unica One", serif !important;
    border: none !important; }

.tribe-events-calendar-list__event-description a.more {
  color: #f70 !important; }
  .tribe-events-calendar-list__event-description a.more:hover {
    text-decoration: none; }
  .no-ios .tribe-events-calendar-list__event-description a.more:hover {
    color: #ff9233 !important; }

.tribe-events-calendar-list__event-datetime-wrapper + .tribe-events-calendar-list__event-venue {
  margin-top: -5px; }
  @media print, screen and (min-width: 40em) {
    .tribe-events-calendar-list__event-datetime-wrapper + .tribe-events-calendar-list__event-venue {
      margin-top: -8px; } }

.tribe-events-calendar-list__event-datetime {
  font-weight: 800; }

.tribe-events-calendar-list__event-row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 40px !important;
  border-top: 1px dotted #bbb !important; }
  @media print, screen and (min-width: 40em) {
    .tribe-events-calendar-list__event-row {
      padding-top: 50px !important; } }

.tribe-events-calendar-list__month-separator + .tribe-events-calendar-list__event-row {
  padding-top: 0px !important;
  border-top: none !important; }
  @media print, screen and (min-width: 40em) {
    .tribe-events-calendar-list__month-separator + .tribe-events-calendar-list__event-row {
      padding-top: 0px !important; } }

/* submit event */
.submit-event-wrap {
  width: auto !important;
  margin: 50px auto 0 !important;
  text-align: center; }
  .submit-event-wrap .button, .submit-event-wrap .bh-sl-form-container button[type="submit"], .bh-sl-form-container .submit-event-wrap button[type="submit"], .submit-event-wrap body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .submit-event-wrap button.tribe-events-c-search__button {
    padding: .5rem 2rem .5rem;
    border: 2px solid #2f4858 !important;
    border-radius: 1rem !important;
    font-family: "Unica One", serif; }

body.single-tribe_events .entry-content {
  margin: 0; }

body.single-tribe_events .tribe-events-pg-template {
  padding-top: 0 !important; }

body.single-tribe_events .featured-photo {
  margin: 0 0 15px 0; }
  @media print, screen and (min-width: 40em) {
    body.single-tribe_events .featured-photo {
      margin: 8px 0 0 0; } }

body.single-tribe_events time {
  line-height: 1.1; }

body.single-tribe_events time.post-datetime {
  display: block;
  margin: 0 0 .75rem 0; }

body.single-tribe_events .events-meta {
  margin: 40px 0;
  padding: 1.5rem 0;
  border-top: 1px dotted #666;
  border-bottom: 1px dotted #666;
  color: #999; }
  body.single-tribe_events .events-meta:before {
    content: ' ';
    display: table;
    clear: both; }
  @media print, screen and (min-width: 40em) {
    body.single-tribe_events .events-meta {
      padding: 1.5rem 28px; } }
  @media screen and (min-width: 83.75em) {
    body.single-tribe_events .events-meta {
      padding: 1.5rem 84px; } }
  body.single-tribe_events .events-meta .event-meta-group {
    margin: 10px 0px; }
    @media print, screen and (min-width: 40em) {
      body.single-tribe_events .events-meta .event-meta-group {
        margin: 0; } }
    body.single-tribe_events .events-meta .event-meta-group p, body.single-tribe_events .events-meta .event-meta-group address, body.single-tribe_events .events-meta .event-meta-group #tribe-events .tribe-events-ical, #tribe-events body.single-tribe_events .events-meta .event-meta-group .tribe-events-ical,
    body.single-tribe_events .events-meta .event-meta-group #tribe-events .tribe-events-gcal, #tribe-events body.single-tribe_events .events-meta .event-meta-group .tribe-events-gcal, body.single-tribe_events .events-meta .event-meta-group body.post-type-archive-tribe_events #tribe-bar-form input[type=text], body.post-type-archive-tribe_events #tribe-bar-form body.single-tribe_events .events-meta .event-meta-group input[type=text], body.single-tribe_events .events-meta .event-meta-group body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop body.single-tribe_events .events-meta .event-meta-group .tribe-events-venue-details, body.single-tribe_events .events-meta .event-meta-group body.search .search-panel .search-keyword-label, body.search .search-panel body.single-tribe_events .events-meta .event-meta-group .search-keyword-label, body.single-tribe_events .events-meta .event-meta-group body.search .search-panel .search-keyword, body.search .search-panel body.single-tribe_events .events-meta .event-meta-group .search-keyword {
      margin-bottom: 5px; }
    body.single-tribe_events .events-meta .event-meta-group p:last-child, body.single-tribe_events .events-meta .event-meta-group address:last-child, body.single-tribe_events .events-meta .event-meta-group #tribe-events .tribe-events-ical:last-child, #tribe-events body.single-tribe_events .events-meta .event-meta-group .tribe-events-ical:last-child,
    body.single-tribe_events .events-meta .event-meta-group #tribe-events .tribe-events-gcal:last-child, #tribe-events body.single-tribe_events .events-meta .event-meta-group .tribe-events-gcal:last-child, body.single-tribe_events .events-meta .event-meta-group body.post-type-archive-tribe_events #tribe-bar-form input:last-child[type=text], body.post-type-archive-tribe_events #tribe-bar-form body.single-tribe_events .events-meta .event-meta-group input:last-child[type=text], body.single-tribe_events .events-meta .event-meta-group body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details:last-child, body.post-type-archive-tribe_events .tribe-events-loop body.single-tribe_events .events-meta .event-meta-group .tribe-events-venue-details:last-child, body.single-tribe_events .events-meta .event-meta-group body.search .search-panel .search-keyword-label:last-child, body.search .search-panel body.single-tribe_events .events-meta .event-meta-group .search-keyword-label:last-child, body.single-tribe_events .events-meta .event-meta-group body.search .search-panel .search-keyword:last-child, body.search .search-panel body.single-tribe_events .events-meta .event-meta-group .search-keyword:last-child {
      margin-bottom: 0; }
  body.single-tribe_events .events-meta .hdr {
    margin-bottom: 5px;
    color: #555; }
  body.single-tribe_events .events-meta .event-cost {
    margin-top: .4rem;
    font-weight: 800; }
  body.single-tribe_events .events-meta .event-venue .tribe-country-name {
    display: none; }
  body.single-tribe_events .events-meta .event-organizer {
    margin-bottom: 20px; }
    body.single-tribe_events .events-meta .event-organizer:last-child {
      margin-bottom: 0; }

body.single-tribe_events .tribe-events-cal-links {
  margin: 30px 0 0 0; }

body.post-type-archive-tribe_events {
  /* filters */
  /* footer */
  /* next/prev buttons */
  /* results */
  /*
  .type-tribe_events {
    margin-bottom: 0px;
    padding: 0 3px 30px 3px;
    //padding-bottom: 30px;
    border-bottom: 1px dotted #bbb;

    @include breakpoint(medium) {
      margin-bottom: 0px;
      padding-bottom: 40px;
    }
  }
  .tribe-events-calendar-list .tribe-events-calendar-list__event-row:last-child .type-tribe_events {
    border-bottom: none;
  }
*/ }
  body.post-type-archive-tribe_events .entry-content {
    width: 100%; }
  body.post-type-archive-tribe_events .event-bar {
    margin: 0 0 30px 0 !important; }
  body.post-type-archive-tribe_events #tribe-bar-form {
    padding: 20px 20px !important;
    background: #eee; }
    @media print, screen and (min-width: 40em) {
      body.post-type-archive-tribe_events #tribe-bar-form {
        padding: .5rem 0; } }
    @media print, screen and (min-width: 64em) {
      body.post-type-archive-tribe_events #tribe-bar-form {
        padding: 1rem 0; } }
    body.post-type-archive-tribe_events #tribe-bar-form .row {
      margin-right: -1.11111rem;
      margin-left: -1.11111rem; }
      @media print, screen and (min-width: 40em) {
        body.post-type-archive-tribe_events #tribe-bar-form .row {
          margin-right: -0.83333rem;
          margin-left: -0.83333rem; } }
      @media print, screen and (min-width: 64em) {
        body.post-type-archive-tribe_events #tribe-bar-form .row {
          margin-right: -0.83333rem;
          margin-left: -0.83333rem; } }
    body.post-type-archive-tribe_events #tribe-bar-form label {
      color: #2f4858;
      font-weight: 600;
      margin-bottom: 8px;
      font-size: 0.88889rem; }
    body.post-type-archive-tribe_events #tribe-bar-form input[type=text] {
      margin-bottom: 0;
      padding: 4px 10px;
      background: #fff;
      border-bottom: none;
      font-style: normal; }
      body.post-type-archive-tribe_events #tribe-bar-form input[type=text]::-webkit-input-placeholder {
        font-style: normal;
        color: #999; }
      body.post-type-archive-tribe_events #tribe-bar-form input[type=text]:-ms-input-placeholder {
        font-style: normal;
        color: #999; }
      body.post-type-archive-tribe_events #tribe-bar-form input[type=text]::placeholder {
        font-style: normal;
        color: #999; }
  @media (min-width: 934px) {
    body.post-type-archive-tribe_events .tribe-events .tribe-events-header__events-bar {
      background: #eee !important;
      border: none !important; } }
  body.post-type-archive-tribe_events .tribe-events-c-events-bar__views {
    display: none; }
  body.post-type-archive-tribe_events .tribe-events-c-search__button {
    margin-right: 15px !important; }
  @media (min-width: 934px) {
    body.post-type-archive-tribe_events .tribe-common-form-control-text__input,
    body.post-type-archive-tribe_events .tribe-events-c-view-selector__content,
    body.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__search-container {
      background: transparent !important; } }
  body.post-type-archive-tribe_events .tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input,
  body.post-type-archive-tribe_events .tribe-common .tribe-common-form-control-text__input {
    font-family: "Poppins", sans-serif;
    font-size: .9rem;
    border: none; }
    body.post-type-archive-tribe_events .tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input:focus,
    body.post-type-archive-tribe_events .tribe-common .tribe-common-form-control-text__input:focus {
      background-color: transparent !important; }
      body.post-type-archive-tribe_events .tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input:focus + svg path,
      body.post-type-archive-tribe_events .tribe-common .tribe-common-form-control-text__input:focus + svg path {
        fill: #f70; }
  body.post-type-archive-tribe_events button.tribe-events-c-search__button {
    display: inline-block;
    margin: 0;
    padding: .5rem 1.5rem;
    color: #fff;
    text-transform: none;
    border-radius: 1rem;
    border: none;
    background: #33658a;
    font-family: "Unica One", serif;
    /*
    @include breakpoint(medium) {
      margin-top: 26px;
    }
    */ }
    body.post-type-archive-tribe_events button.tribe-events-c-search__button:focus {
      padding: .5rem 1.5rem;
      background: #33658a;
      color: #fff;
      border: none;
      font-family: "Unica One", serif !important;
      text-transform: none; }
    .no-ios body.post-type-archive-tribe_events button.tribe-events-c-search__button {
      transition: all 0.2s ease; }
      .no-ios body.post-type-archive-tribe_events button.tribe-events-c-search__button:hover {
        background: #2f4858; }
  body.post-type-archive-tribe_events .tribe-bar-filter-wrap {
    margin-bottom: 20px; }
    @media print, screen and (min-width: 40em) {
      body.post-type-archive-tribe_events .tribe-bar-filter-wrap {
        margin-bottom: 0; } }
  body.post-type-archive-tribe_events .tribe-bar-submit-wrap {
    text-align: center; }
    @media print, screen and (min-width: 64em) {
      body.post-type-archive-tribe_events .tribe-bar-submit-wrap {
        text-align: right; } }
    body.post-type-archive-tribe_events .tribe-bar-submit-wrap input {
      text-transform: uppercase !important; }
  body.post-type-archive-tribe_events .tribe-filter-bar-c-filter__toggle {
    padding-left: 15px;
    padding-right: 15px;
    color: #33658a !important;
    background: #f1f0f0; }
  body.post-type-archive-tribe_events .tribe-filter-bar-c-filter__container {
    padding: 15px;
    background: #f9fafa; }
  body.post-type-archive-tribe_events #tribe_events_filters_wrapper.tribe-events-filters-horizontal,
  body.post-type-archive-tribe_events #tribe_events_filters_wrapper.tribe-events-filters-vertical {
    margin-bottom: 30px !important; }
  body.post-type-archive-tribe_events .tribe-events-filters-content {
    border: none; }
    body.post-type-archive-tribe_events .tribe-events-filters-content label {
      color: #2f4858 !important;
      font-size: 14px !important; }
    body.post-type-archive-tribe_events .tribe-events-filters-content label.tribe-events-filters-label {
      font-family: "Unica One", serif;
      text-transform: uppercase;
      font-size: 20px !important; }
    body.post-type-archive-tribe_events .tribe-events-filters-content .tribe-events-filters-group-heading {
      color: #33658a !important;
      font-size: 15px !important; }
  body.post-type-archive-tribe_events .tribe_events_filters_toggle {
    background: transparent;
    color: #f70; }
    .no-ios body.post-type-archive-tribe_events .tribe_events_filters_toggle:hover {
      color: #ff9233;
      cursor: pointer; }
  body.post-type-archive-tribe_events .tribe-reset-icon {
    position: relative;
    top: -3px; }
  body.post-type-archive-tribe_events .tribe_events_filters_reset--desktop {
    display: none !important; }
    @media print, screen and (min-width: 64em) {
      body.post-type-archive-tribe_events .tribe_events_filters_reset--desktop {
        display: inline-block !important; } }
  body.post-type-archive-tribe_events .tribe-events-footer {
    padding-top: 0px !important;
    border-top: none !important; }
  body.post-type-archive-tribe_events .tribe-events-sub-nav li a {
    background: transparent;
    color: #f70; }
    .no-ios body.post-type-archive-tribe_events .tribe-events-sub-nav li a:hover {
      color: #ff9233; }
  body.post-type-archive-tribe_events .tribe-events-list-separator-month {
    display: block;
    margin: 0 -20px 1.5rem; }
    @media print, screen and (min-width: 40em) {
      body.post-type-archive-tribe_events .tribe-events-list-separator-month {
        margin: 0 0 2rem; } }
    body.post-type-archive-tribe_events .tribe-events-list-separator-month:after {
      right: 0;
      border-width: 3px;
      border-color: #dee5e5; }
    body.post-type-archive-tribe_events .tribe-events-list-separator-month span {
      padding: 0 3%; }
  body.post-type-archive-tribe_events .tribe-events-list-separator-month + .type-tribe_events.tribe-events-first {
    padding-top: 0; }
  body.post-type-archive-tribe_events .tribe-events-list .type-tribe_events:first-of-type {
    margin-top: 0; }
  body.post-type-archive-tribe_events .tribe-events-list {
    margin: 0 !important; }
    body.post-type-archive-tribe_events .tribe-events-list .tribe-events-ical {
      float: none; }
  body.post-type-archive-tribe_events .tribe-events-loop {
    max-width: none; }
    body.post-type-archive-tribe_events .tribe-events-loop .title a {
      color: #333; }
      .no-ios body.post-type-archive-tribe_events .tribe-events-loop .title a:hover {
        text-decoration: underline !important; }
    body.post-type-archive-tribe_events .tribe-events-loop time {
      font-weight: 800; }
    body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-event-meta {
      margin: .5rem 0 .75rem;
      padding: 0;
      background: none;
      border: none;
      font-weight: normal;
      line-height: 1.1; }
    body.post-type-archive-tribe_events .tribe-events-loop .entry-summary {
      margin-top: 1rem; }
    body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details {
      margin: 0;
      border: none;
      font-style: normal !important;
      color: #999;
      line-height: 1.3; }
      body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details .tribe-address {
        font-style: normal !important; }
    body.post-type-archive-tribe_events .tribe-events-loop .featured-photo {
      margin: 0 auto 20px; }
      @media print, screen and (min-width: 40em) {
        body.post-type-archive-tribe_events .tribe-events-loop .featured-photo {
          margin: 4px 30px 0 0; } }
    body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-event-image {
      float: none;
      width: 100%;
      margin: 0 auto; }
  body.post-type-archive-tribe_events .tribe-country-name {
    display: none; }

.page-template-page-trail .map {
  margin: 2rem 0 0 0; }

.page-template-page-trail .map-actions {
  margin: 1rem 0 1rem 0;
  text-align: right; }

@media print, screen and (min-width: 40em) {
  .page-template-page-trail .region-member {
    margin-bottom: .5rem; } }

@media print, screen and (min-width: 64em) {
  .page-template-page-trail .region-member {
    margin-bottom: 1rem; } }

.page-template-page-trail .region-member p, .page-template-page-trail .region-member address, .page-template-page-trail .region-member #tribe-events .tribe-events-ical, #tribe-events .page-template-page-trail .region-member .tribe-events-ical,
.page-template-page-trail .region-member #tribe-events .tribe-events-gcal, #tribe-events .page-template-page-trail .region-member .tribe-events-gcal, .page-template-page-trail .region-member body.post-type-archive-tribe_events #tribe-bar-form input[type=text], body.post-type-archive-tribe_events #tribe-bar-form .page-template-page-trail .region-member input[type=text], .page-template-page-trail .region-member body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .page-template-page-trail .region-member .tribe-events-venue-details, .page-template-page-trail .region-member body.search .search-panel .search-keyword-label, body.search .search-panel .page-template-page-trail .region-member .search-keyword-label, .page-template-page-trail .region-member body.search .search-panel .search-keyword, body.search .search-panel .page-template-page-trail .region-member .search-keyword {
  margin-bottom: .5rem; }
  @media screen and (max-width: 39.9375em) {
    .page-template-page-trail .region-member p.phone, .page-template-page-trail .region-member address.phone, .page-template-page-trail .region-member #tribe-events .phone.tribe-events-ical, #tribe-events .page-template-page-trail .region-member .phone.tribe-events-ical,
    .page-template-page-trail .region-member #tribe-events .phone.tribe-events-gcal, #tribe-events .page-template-page-trail .region-member .phone.tribe-events-gcal, .page-template-page-trail .region-member body.post-type-archive-tribe_events #tribe-bar-form input.phone[type=text], body.post-type-archive-tribe_events #tribe-bar-form .page-template-page-trail .region-member input.phone[type=text], .page-template-page-trail .region-member body.post-type-archive-tribe_events .tribe-events-loop .phone.tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .page-template-page-trail .region-member .phone.tribe-events-venue-details, .page-template-page-trail .region-member body.search .search-panel .phone.search-keyword-label, body.search .search-panel .page-template-page-trail .region-member .phone.search-keyword-label, .page-template-page-trail .region-member body.search .search-panel .phone.search-keyword, body.search .search-panel .page-template-page-trail .region-member .phone.search-keyword {
      font-size: 1rem; } }

.page-template-page-trail .region-member .button, .page-template-page-trail .region-member .bh-sl-form-container button[type="submit"], .bh-sl-form-container .page-template-page-trail .region-member button[type="submit"], .page-template-page-trail .region-member body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .page-template-page-trail .region-member button.tribe-events-c-search__button {
  margin: .5rem 0 0 0; }

.page-template-page-trail .categories {
  margin: 60px 0; }

.page-template-page-trail .category-result {
  width: 80%;
  margin: 0 auto; }
  @media screen and (max-width: 39.9375em) {
    .page-template-page-trail .category-result {
      margin-bottom: -1rem; } }
  .page-template-page-trail .category-result .media-object-section-media {
    padding-bottom: .5rem; }
  .page-template-page-trail .category-result .media-object-section-content:after {
    content: "";
    display: block;
    width: 100%;
    height: 12px;
    margin: .9rem 0 0rem 0;
    border-top: 2px solid #999;
    border-bottom: 2px solid #999; }
    @media print, screen and (min-width: 40em) {
      .page-template-page-trail .category-result .media-object-section-content:after {
        margin-bottom: .5rem; } }
    @media print, screen and (min-width: 64em) {
      .page-template-page-trail .category-result .media-object-section-content:after {
        margin-bottom: 1rem; } }

.page-template-page-trail .featured-icon {
  width: 50px;
  height: 48px; }
  @media print, screen and (min-width: 40em) {
    .page-template-page-trail .featured-icon {
      margin-top: 7px;
      width: 62px;
      height: 59px; } }
  @media print, screen and (min-width: 64em) {
    .page-template-page-trail .featured-icon {
      width: 78px;
      height: 74px; } }

/*
body.page-template-page-transportation {

}
*/
.travel-row {
  padding: 0 0 30px 0;
  border-bottom: 2px solid #2f4858; }
  @media print, screen and (min-width: 40em) {
    .travel-row {
      padding-bottom: 50px; } }
  @media screen and (min-width: 80.625em) {
    .travel-row {
      margin-left: -.5rem;
      margin-right: -.5rem; } }

.travel-item {
  position: relative;
  overflow: hidden;
  margin: 1rem 0 1rem 0;
  padding: 1.25rem .5rem;
  background-color: #33658a;
  text-align: center;
  border: 10px solid #fff;
  box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.4); }
  @media print, screen and (min-width: 40em) {
    .travel-item {
      min-height: 360px;
      margin-left: .5rem;
      margin-right: .5rem;
      padding: 60px 15px 30px; } }
  @media print, screen and (min-width: 64em) {
    .travel-item {
      min-height: 340px;
      padding: 40px 15px 40px; } }
  .travel-item .flip-toggle-reverse {
    display: none;
    position: absolute;
    top: -28px;
    right: -15px;
    z-index: 2;
    width: 30px;
    height: 30px;
    opacity: .6;
    transition: opacity 0.2s ease; }
    @media print, screen and (min-width: 40em) {
      .travel-item .flip-toggle-reverse {
        top: -32px;
        right: -10px; } }
    @media print, screen and (min-width: 64em) {
      .travel-item .flip-toggle-reverse {
        top: -38px; } }
  .travel-item.flipped {
    padding: 30px 1rem;
    background-color: #fff; }
    @media print, screen and (min-width: 40em) {
      .travel-item.flipped {
        padding-top: 40px; } }
    @media print, screen and (min-width: 64em) {
      .travel-item.flipped {
        padding-top: 45px; } }
    .travel-item.flipped:before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      z-index: 1;
      display: block;
      width: 100%;
      height: 100%;
      border: 1px solid #dee5e5; }
    .travel-item.flipped .flip-toggle {
      display: none; }
    .travel-item.flipped .flip-toggle-reverse {
      display: block; }
      .no-ios .travel-item.flipped .flip-toggle-reverse:hover {
        cursor: pointer;
        opacity: 1; }
    .travel-item.flipped .travel-icon-wrap {
      display: none; }
    .travel-item.flipped .flip-content {
      display: block; }
  .travel-item .travel-icon-wrap {
    display: block;
    margin: 0 auto 20px;
    width: 129px;
    height: 100px; }
    @media print, screen and (min-width: 40em) {
      .travel-item .travel-icon-wrap {
        width: 168px;
        height: 130px; } }
    @media print, screen and (min-width: 64em) {
      .travel-item .travel-icon-wrap {
        width: 210px;
        height: 163px; } }
  .travel-item .flip-toggle {
    display: inline-block;
    margin: 0;
    padding: .5rem 1.5rem;
    background: #1c374c;
    color: #fff;
    font-family: "Unica One", serif;
    text-transform: uppercase;
    transition: all 0.2s ease; }
    .no-ios .travel-item .flip-toggle:hover {
      cursor: pointer;
      background: #2f4858; }
  .travel-item .flip-content {
    position: relative;
    z-index: 5;
    display: none; }
    .travel-item .flip-content .name {
      font-weight: 400;
      text-transform: none; }
    .travel-item .flip-content p, .travel-item .flip-content address, .travel-item .flip-content #tribe-events .tribe-events-ical, #tribe-events .travel-item .flip-content .tribe-events-ical,
    .travel-item .flip-content #tribe-events .tribe-events-gcal, #tribe-events .travel-item .flip-content .tribe-events-gcal, .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input[type=text], body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input[type=text], .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .tribe-events-venue-details, .travel-item .flip-content body.search .search-panel .search-keyword-label, body.search .search-panel .travel-item .flip-content .search-keyword-label, .travel-item .flip-content body.search .search-panel .search-keyword, body.search .search-panel .travel-item .flip-content .search-keyword {
      margin: 0 0 10px 0;
      color: #2f4858; }
      .travel-item .flip-content p.phone, .travel-item .flip-content address.phone, .travel-item .flip-content #tribe-events .phone.tribe-events-ical, #tribe-events .travel-item .flip-content .phone.tribe-events-ical,
      .travel-item .flip-content #tribe-events .phone.tribe-events-gcal, #tribe-events .travel-item .flip-content .phone.tribe-events-gcal, .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.phone[type=text], body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.phone[type=text], .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .phone.tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .phone.tribe-events-venue-details, .travel-item .flip-content body.search .search-panel .phone.search-keyword-label, body.search .search-panel .travel-item .flip-content .phone.search-keyword-label, .travel-item .flip-content body.search .search-panel .phone.search-keyword, body.search .search-panel .travel-item .flip-content .phone.search-keyword {
        color: #f70;
        font-weight: 600; }
      .travel-item .flip-content p.btn-wrap, .travel-item .flip-content address.btn-wrap, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical,
      .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal, .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text], body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text], .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword {
        margin: 30px auto 0 auto; }
        @media print, screen and (min-width: 40em) {
          .travel-item .flip-content p.btn-wrap, .travel-item .flip-content address.btn-wrap, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical,
          .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal, .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text], body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text], .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details, body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword {
            margin-top: 50px; } }
        .travel-item .flip-content p.btn-wrap .button, .travel-item .flip-content address.btn-wrap .button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical .button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical .button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal .button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal .button, .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] .button, body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] .button, .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details .button, body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details .button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label .button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label .button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword .button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword .button, .travel-item .flip-content p.btn-wrap .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content p.btn-wrap button[type="submit"], .travel-item .flip-content address.btn-wrap .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content address.btn-wrap button[type="submit"], .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical button[type="submit"], #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical .bh-sl-form-container button[type="submit"], .bh-sl-form-container #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical button[type="submit"], .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal button[type="submit"], #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal .bh-sl-form-container button[type="submit"], .bh-sl-form-container #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal button[type="submit"], .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] button[type="submit"], body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] button[type="submit"], .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details button[type="submit"], body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details button[type="submit"], .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label button[type="submit"], body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label button[type="submit"], .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword button[type="submit"], body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword button[type="submit"], .travel-item .flip-content p.btn-wrap body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content p.btn-wrap button.tribe-events-c-search__button, .travel-item .flip-content address.btn-wrap body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content address.btn-wrap button.tribe-events-c-search__button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical button.tribe-events-c-search__button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical button.tribe-events-c-search__button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal button.tribe-events-c-search__button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal button.tribe-events-c-search__button, .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] button.tribe-events-c-search__button, body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] button.tribe-events-c-search__button, .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details button.tribe-events-c-search__button, body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details button.tribe-events-c-search__button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label button.tribe-events-c-search__button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label button.tribe-events-c-search__button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword button.tribe-events-c-search__button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword button.tribe-events-c-search__button {
          padding: .6rem 1.3rem .8rem; }
          @media print, screen and (min-width: 40em) {
            .travel-item .flip-content p.btn-wrap .button, .travel-item .flip-content address.btn-wrap .button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical .button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical .button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal .button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal .button, .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] .button, body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] .button, .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details .button, body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details .button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label .button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label .button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword .button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword .button, .travel-item .flip-content p.btn-wrap .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content p.btn-wrap button[type="submit"], .travel-item .flip-content address.btn-wrap .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content address.btn-wrap button[type="submit"], .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical button[type="submit"], #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical .bh-sl-form-container button[type="submit"], .bh-sl-form-container #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical button[type="submit"], .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal button[type="submit"], #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal .bh-sl-form-container button[type="submit"], .bh-sl-form-container #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal button[type="submit"], .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] button[type="submit"], body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] button[type="submit"], .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details button[type="submit"], body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details button[type="submit"], .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label button[type="submit"], body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label button[type="submit"], .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword button[type="submit"], body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword button[type="submit"], .travel-item .flip-content p.btn-wrap body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content p.btn-wrap button.tribe-events-c-search__button, .travel-item .flip-content address.btn-wrap body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content address.btn-wrap button.tribe-events-c-search__button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical button.tribe-events-c-search__button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical button.tribe-events-c-search__button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal button.tribe-events-c-search__button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal button.tribe-events-c-search__button, .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] button.tribe-events-c-search__button, body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] button.tribe-events-c-search__button, .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details button.tribe-events-c-search__button, body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details button.tribe-events-c-search__button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label button.tribe-events-c-search__button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label button.tribe-events-c-search__button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword button.tribe-events-c-search__button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword button.tribe-events-c-search__button {
              padding-top: .7rem; } }
          @media print, screen and (min-width: 64em) {
            .travel-item .flip-content p.btn-wrap .button, .travel-item .flip-content address.btn-wrap .button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical .button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical .button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal .button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal .button, .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] .button, body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] .button, .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details .button, body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details .button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label .button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label .button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword .button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword .button, .travel-item .flip-content p.btn-wrap .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content p.btn-wrap button[type="submit"], .travel-item .flip-content address.btn-wrap .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content address.btn-wrap button[type="submit"], .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical button[type="submit"], #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical .bh-sl-form-container button[type="submit"], .bh-sl-form-container #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical button[type="submit"], .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal button[type="submit"], #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal .bh-sl-form-container button[type="submit"], .bh-sl-form-container #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal button[type="submit"], .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] button[type="submit"], body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] button[type="submit"], .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details button[type="submit"], body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details button[type="submit"], .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label button[type="submit"], body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label button[type="submit"], .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword .bh-sl-form-container button[type="submit"], .bh-sl-form-container .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword button[type="submit"], body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword .bh-sl-form-container button[type="submit"], .bh-sl-form-container body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword button[type="submit"], .travel-item .flip-content p.btn-wrap body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content p.btn-wrap button.tribe-events-c-search__button, .travel-item .flip-content address.btn-wrap body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content address.btn-wrap button.tribe-events-c-search__button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-ical button.tribe-events-c-search__button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-ical button.tribe-events-c-search__button, .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content #tribe-events .btn-wrap.tribe-events-gcal button.tribe-events-c-search__button, #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events #tribe-events .travel-item .flip-content .btn-wrap.tribe-events-gcal button.tribe-events-c-search__button, .travel-item .flip-content body.post-type-archive-tribe_events #tribe-bar-form input.btn-wrap[type=text] button.tribe-events-c-search__button, body.post-type-archive-tribe_events #tribe-bar-form .travel-item .flip-content input.btn-wrap[type=text] button.tribe-events-c-search__button, .travel-item .flip-content body.post-type-archive-tribe_events .tribe-events-loop .btn-wrap.tribe-events-venue-details button.tribe-events-c-search__button, body.post-type-archive-tribe_events .tribe-events-loop .travel-item .flip-content .btn-wrap.tribe-events-venue-details button.tribe-events-c-search__button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword-label button.tribe-events-c-search__button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword-label button.tribe-events-c-search__button, .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events .travel-item .flip-content body.search .search-panel .btn-wrap.search-keyword button.tribe-events-c-search__button, body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword body.post-type-archive-tribe_events button.tribe-events-c-search__button, body.post-type-archive-tribe_events body.search .search-panel .travel-item .flip-content .btn-wrap.search-keyword button.tribe-events-c-search__button {
              padding-top: .6rem; } }

body.single-poi .poi-meta {
  margin: 0 0 30px;
  padding: 0 0 50px 0;
  border-bottom: 1px dotted #666; }
  @media print, screen and (min-width: 40em) {
    body.single-poi .poi-meta {
      margin-bottom: 40px; } }

body.single-poi .address {
  position: relative;
  padding-left: 40px; }
  body.single-poi .address:before {
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
    z-index: 1;
    display: block;
    width: 24px;
    height: 35px;
    background: url(../images/icon-map-pin-shadow.svg) no-repeat; }

body.single-poi .phone {
  margin-bottom: 1.5rem; }

body.single-poi .phone-second {
  display: block; }

body.single-poi .website {
  margin-bottom: 1.75rem; }
  body.single-poi .website a {
    color: #f70;
    text-decoration: underline;
    transition: all 0.2s ease; }
    body.single-poi .website a .icon-wrap {
      display: inline-block;
      position: relative;
      top: 4px;
      width: 22px;
      height: 22px;
      margin: 0 0 0 10px; }
      body.single-poi .website a .icon-wrap path {
        transition: all 0.2s ease; }
    .no-ios body.single-poi .website a:hover {
      color: #ff8822; }
      .no-ios body.single-poi .website a:hover path {
        fill: #ff8822; }

body.single-poi .poi-content {
  margin: 0 0 40px 0; }

body.single-poi .photo-meta {
  margin: 6px 0;
  color: #666;
  font-size: 10px; }
  @media print, screen and (min-width: 40em) {
    body.single-poi .photo-meta {
      font-size: 11px; } }

body.single-poi .credit {
  display: block;
  font-style: italic; }

body.single-poi .social-links a {
  display: inline-block;
  width: 32px;
  height: 32px;
  margin: 0 8px 8px 0;
  transition: all 0.2s ease; }
  .no-ios body.single-poi .social-links a:hover {
    opacity: .85; }

body.single-poi .hours-wrap {
  position: relative;
  padding: 30px;
  border: 20px solid #f2eee7;
  background: #f2eee7; }
  body.single-poi .hours-wrap:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid #c2beb9; }
  body.single-poi .hours-wrap .hdr {
    margin: 0 0 0 -2px;
    font-family: "Unica One", serif;
    text-transform: uppercase; }
  body.single-poi .hours-wrap .hours {
    margin: 0; }

body.page-template-page-topic {
  /*
  .related-attraction-text {

    position: absolute; top: 50%; z-index: 1;
    //left: 75px;
    margin-left: 75px;
    transform: translateY(-50%);

    @include breakpoint(medium) {
      // margin-left: 105px;
      //margin-left: 75px;
    }

  }
  */ }
  body.page-template-page-topic .entry-content {
    margin: 0 0 40px 0;
    padding: 0 0 20px 0;
    border-bottom: 1px dotted #666; }
    @media print, screen and (min-width: 40em) {
      body.page-template-page-topic .entry-content {
        margin-bottom: 50px;
        padding-bottom: 30px; } }
  body.page-template-page-topic .slick-dotted.slick-slider {
    margin-bottom: 45px; }
  body.page-template-page-topic .slick-dots {
    bottom: -40px; }
  body.page-template-page-topic .slide-caption {
    margin: 5px 0;
    color: #999;
    font-size: 0.66667rem; }
  body.page-template-page-topic .related-attractions {
    margin: 50px 0 0 0; }
    body.page-template-page-topic .related-attractions li {
      position: relative;
      margin: 0 0 10px 0;
      clear: left; }
  body.page-template-page-topic .related-attraction-hdr {
    margin: 0 0 5px 0;
    font-family: "Poppins", sans-serif;
    line-height: 1.3;
    text-transform: none;
    font-weight: normal; }
  body.page-template-page-topic .map-link .icon-wrap {
    display: inline-block;
    width: 14px;
    height: 13px;
    margin: 0 5px 0 0; }
  body.page-template-page-topic .related-attraction-photo {
    float: left;
    width: 100px;
    margin: 5px 20px 15px 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    body.page-template-page-topic .related-attraction-photo:before {
      content: "";
      display: block;
      padding-top: 100%; }
  body.page-template-page-topic .related-attraction-icon {
    float: left;
    width: 60px;
    height: 57px;
    margin: 0 10px 5px 0; }

body.search .search-panel {
  margin: 0 0 50px 0;
  padding: 20px;
  background: #eee; }
  body.search .search-panel .search-keyword-label {
    margin: 0 0 0 0;
    color: #2f4858;
    font-weight: 600;
    text-transform: uppercase; }
  body.search .search-panel .search-keyword {
    display: inline-block;
    margin: 0 0 8px 0;
    padding: 20px 12px;
    border: none;
    border-radius: 0; }
  body.search .search-panel .search-btn {
    display: block;
    width: 24px;
    height: 30px;
    margin: 5px auto 0 auto;
    opacity: .7; }
    @media print, screen and (min-width: 40em) {
      body.search .search-panel .search-btn {
        width: 29px;
        height: 36px;
        margin-top: 2px; } }
    body.search .search-panel .search-btn circle, body.search .search-panel .search-btn path {
      stroke: #333; }
    body.search .search-panel .search-btn:hover {
      cursor: pointer; }
    .no-ios body.search .search-panel .search-btn {
      transition: all 0.2s ease; }
      .no-ios body.search .search-panel .search-btn:hover {
        -webkit-transform: scale(1.1);
            -ms-transform: scale(1.1);
                transform: scale(1.1); }

body.search .search-result {
  margin: 50px 0;
  padding: 0 0 40px 0;
  border-bottom: 1px dotted #bbb; }
  @media print, screen and (min-width: 40em) {
    body.search .search-result {
      margin: 60px 0;
      padding: 0 0 50px 0; } }
  body.search .search-result.first-result {
    margin-top: 30px; }
  body.search .search-result.last-result {
    margin-bottom: 20px; }
  body.search .search-result .meta {
    color: #999; }
    body.search .search-result .meta .meta-inner {
      margin-bottom: .5rem; }
  body.search .search-result .tribe-country-name {
    display: none; }
  body.search .search-result .excerpt {
    margin-bottom: 0; }

body.search .featured-photo {
  margin: 0 0 .5rem 0; }
  @media print, screen and (min-width: 40em) {
    body.search .featured-photo {
      margin: 5px 0 0 0; } }

body.search .entry-content .row {
  margin-right: -1.11111rem;
  margin-left: -1.11111rem; }
  @media print, screen and (min-width: 40em) {
    body.search .entry-content .row {
      margin-right: -0.83333rem;
      margin-left: -0.83333rem; } }
  @media print, screen and (min-width: 64em) {
    body.search .entry-content .row {
      margin-right: -0.83333rem;
      margin-left: -0.83333rem; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCJnbG9iYWwvX2ZvbnRzLnNjc3MiLCJnbG9iYWwvX2NvbG9ycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImFwcC5zY3NzIiwiZ2xvYmFsL19yb290LnNjc3MiLCJnbG9iYWwvX2FjY2Vzc2liaWxpdHkuc2NzcyIsImdsb2JhbC9fd3AtYWRtaW4uc2NzcyIsImdsb2JhbC9fd3Atb3ZlcnJpZGVzLnNjc3MiLCJ2ZW5kb3Ivc2xpY2suc2NzcyIsInZlbmRvci9zbGljay10aGVtZS5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fZGVzdGluYXRpb25zLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXJzLnNjc3MiLCJjb21wb25lbnRzL19mYXEuc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmVkLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc3ByaXRlcy5zY3NzIiwiY29tcG9uZW50cy9fdXRpbGl0aWVzLnNjc3MiLCJtb2R1bGVzL19mb290ZXIuc2NzcyIsIm1vZHVsZXMvX2hlYWRlci5zY3NzIiwibW9kdWxlcy9fZWRpdG9yLXN0eWxlLnNjc3MiLCJtb2R1bGVzL19jYXJkaW5hbC1sb2NhdG9yLnNjc3MiLCJ0ZW1wbGF0ZXMvX2Jhc2Uuc2NzcyIsInRlbXBsYXRlcy9faG9tZS5zY3NzIiwidGVtcGxhdGVzL19wYWdlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQzhKRztFQ3ZISjtJQUNFLFlBQVc7SUFDWCxXQUFVO0lBQ1YsZUFBYyxFQUNmLEVBQUE7O0FDSEQsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQUVIO0VBQ0Usd0JDMUN1QjtFRDBDUyxPQUFPO0VBUXJDLGtCQUFpQjtFQUFFLE9BQU87RUFFNUIsMkJBQTBCO0VBQUUsT0FBTztFQUNuQywrQkFBOEI7RUFBRSxPQUFPLEVBQ3hDOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEOztPQUVHO0FBRUg7Ozs7OztFQU1FLGVBQWMsRUFDZjs7QUFFRDs7O09BR0c7QUFFSDtFRTlFRixlQVh1QztFRm9HakMsaUJBQWdCLEVBRW5COztBQW9DRDtvRkFDZ0Y7QUF1Q2hGOztPQUVHO0FBRUg7O0VBRUUsZUFBYyxFQUNmOztBQUVEOztPQUVHO0FBRUg7RUFLSSxpQkN2TFksRUR5TGY7O0FBRUQ7OztPQUdHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLFVBQVM7RUFBRSxPQUFPO0VBQ2xCLGtCQUFpQjtFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFhRDs7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RU05RUosZ0JEaEJnQyxFTGdHM0I7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosc0JEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosV0NlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixVQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLFdBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGlCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosV0NlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixVQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLFdBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGlCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosV0NlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixVQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLFdBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGlCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosWUNlcUQsRUwyRWhEOztBQWdCRDtFTTlFSix1QkRicUQsRUw2RmhEOztBQUtEO0VPekdGLFlaa0d1RDtFWWpHdkQsWUFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVprRXFELEVZakV0RDs7QVB3RUM7RU96R0YsWVprR3VEO0VZakd2RCxXQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZWmtFcUQsRVlqRXREOztBUHdFQztFT3pHRixZWmtHdUQ7RVlqR3ZELGlCQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZWmtFcUQsRVlqRXREOztBUHdFQztFT3pHRixZWmtHdUQ7RVlqR3ZELFdBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlaa0VxRCxFWWpFdEQ7O0FQd0VDO0VPekdGLFlaa0d1RDtFWWpHdkQsV0FBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVprRXFELEVZakV0RDs7QVB3RUM7RU96R0YsWVprR3VEO0VZakd2RCxpQkFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVprRXFELEVZakV0RDs7QVB3RUM7RU96R0YsWVprR3VEO0VZakd2RCxpQkFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVprRXFELEVZakV0RDs7QVB3RUM7RU96R0YsWVprR3VEO0VZakd2RCxhQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZWmtFcUQsRVlqRXREOztBUDhFRDtFRy9HQSxpQkR1RVM7RUN0RVQsZ0JEc0VTLEVGeUN1Qzs7QUFEaEQ7RUFJSSxnQkFBZTtFQUNmLGVBQWMsRUFDZjs7QUFHSDtFQUNFLGdCQUFlO0VBQ2YsZUFBYyxFQUNmOztBQUVEO0VHN0hBLDBCQUZxQztFQUdyQyx5QkFIcUMsRUhnSW9COztBQUl6RDtFTWpJQSxtQkFBa0I7RUFDbEIsa0JBQWlCLEVOa0loQjtFTXZJRDtJQUNFLFlBQVc7SUFDWCxZQUFXLEVBQ1o7O0FOdUlEOzs7RU01SEYsaUJBQWdCO0VBQ2hCLFlYc0Z5RDtFV3JGekQsZ0JBQWU7RUFDZixlQUFjLEVONkhYOztBVkVDO0VVN0RBO0lJeEZKLGdCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixnQkRoQmdDLEVMZ0czQjtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHNCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosWUNlcUQsRUwyRWhEO0VBZ0JEO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFLRDtJT3pHRixZWmtHdUQ7SVlqR3ZELFlBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlaa0VxRCxFWWpFdEQ7RVB3RUM7SU96R0YsWVprR3VEO0lZakd2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZWmtFcUQsRVlqRXREO0VQd0VDO0lPekdGLFlaa0d1RDtJWWpHdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlaa0VxRCxFWWpFdEQ7RVB3RUM7SU96R0YsWVprR3VEO0lZakd2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZWmtFcUQsRVlqRXREO0VQd0VDO0lPekdGLFlaa0d1RDtJWWpHdkQsV0FBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVprRXFELEVZakV0RDtFUHdFQztJT3pHRixZWmtHdUQ7SVlqR3ZELGlCQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZWmtFcUQsRVlqRXREO0VQd0VDO0lPekdGLFlaa0d1RDtJWWpHdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlaa0VxRCxFWWpFdEQ7RVB3RUM7SU96R0YsWVprR3VEO0lZakd2RCxhQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZWmtFcUQsRVlqRXREO0VQOEVEO0lHL0dBLGlCRHVFUztJQ3RFVCxnQkRzRVMsRUZ5Q3VDO0VBRGhEO0lBSUksZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFHSDtJQUNFLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBRUQ7SUc3SEEsMEJBRnFDO0lBR3JDLHlCQUhxQyxFSGdJb0I7RUFJekQ7SU1qSUEsbUJBQWtCO0lBQ2xCLGtCQUFpQixFTmtJaEI7SU12SUQ7TUFDRSxZQUFXO01BQ1gsWUFBVyxFQUNaO0VOdUlEOzs7SU01SEYsaUJBQWdCO0lBQ2hCLFlYc0Z5RDtJV3JGekQsZ0JBQWU7SUFDZixlQUFjLEVONkhYLEVBQUE7O0FWRUM7RVU3REE7SUl4RkosZ0JDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixlQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGdCRGhCZ0MsRUxnRzNCO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosc0JEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixZQ2VxRCxFTDJFaEQ7RUFnQkQ7SU05RUosdUJEYnFELEVMNkZoRDtFQUtEO0lPekdGLFlaa0d1RDtJWWpHdkQsWUFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVprRXFELEVZakV0RDtFUHdFQztJT3pHRixZWmtHdUQ7SVlqR3ZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlaa0VxRCxFWWpFdEQ7RVB3RUM7SU96R0YsWVprR3VEO0lZakd2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVprRXFELEVZakV0RDtFUHdFQztJT3pHRixZWmtHdUQ7SVlqR3ZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlaa0VxRCxFWWpFdEQ7RVB3RUM7SU96R0YsWVprR3VEO0lZakd2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZWmtFcUQsRVlqRXREO0VQd0VDO0lPekdGLFlaa0d1RDtJWWpHdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlaa0VxRCxFWWpFdEQ7RVB3RUM7SU96R0YsWVprR3VEO0lZakd2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVprRXFELEVZakV0RDtFUHdFQztJT3pHRixZWmtHdUQ7SVlqR3ZELGFBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlaa0VxRCxFWWpFdEQ7RVA4RUQ7SUcvR0EsaUJEdUVTO0lDdEVULGdCRHNFUyxFRnlDdUM7RUFEaEQ7SUFJSSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFFRDtJRzdIQSwwQkFGcUM7SUFHckMseUJBSHFDLEVIZ0lvQjtFQUl6RDtJTWpJQSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVOa0loQjtJTXZJRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RU51SUQ7OztJTTVIRixpQkFBZ0I7SUFDaEIsWVhzRnlEO0lXckZ6RCxnQkFBZTtJQUNmLGVBQWMsRU42SFgsRUFBQTs7QUFJSDtFRzFGRSwwQkRhcUQsRUYrRXREO0VHMUZDO0lBQ0UsaUJBQWdCLEVBQ2pCO0Vib0ZDO0lVRUo7TUcxRkUsMEJEYXFELEVGK0V0RDtNRzFGQztRQUNFLGlCQUFnQixFQUNqQixFQUFBOztBS2dMSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7OztBQU5EOzs7Ozs7OztFQVVFLG9CWnJHMEI7RVl1RzFCLG1CQUFrQjtFQUNsQixpQlp6R3NCO0VZMEd0QixtQ1p4R3lDLEVZeUcxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGtCWnhNcUI7RVl5TXJCLHFCQUFvQixFQUNyQjs7QWhCZ0RDO0VnQjVDQSxlWmhJaUI7RVlpSWpCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7Ozs7OztFQU1FLG1DWHhUNkI7RVd5VDdCLG1CWjVLc0I7RVk2S3RCLGlCWjlLb0I7RVkrS3BCLGVWMVRlO0VVMlRmLG1DWmhKc0MsRVlzSnZDO0VBaEJEOzs7Ozs7Ozs7O0lBYUksZUFBYztJQUNkLFlaakp3QixFWWtKekI7O0FBUUc7RUFJSSxzQk52UDZDO0VNbVE3QyxpQlp6TVc7RVlpTlgsY0FBYTtFQU9iLG9CWnZOZSxFWXlObEI7O0FBakNEO0VBSUksc0JOdlA2QztFTW1RN0MsaUJaek1XO0VZaU5YLGNBQWE7RUFPYixvQlp2TmUsRVl5TmxCOzs7QUFwR1A7O0VBdUVVLHNCTnZQNkM7RU1tUTdDLGlCWnpNVztFWWlOWCxjQUFhO0VBT2Isb0Jadk5lLEVZeU5sQjs7O0FBbkdQOzs7RUFzRVUsc0JOdlA2QztFTW1RN0MsaUJaek1XO0VZaU5YLGNBQWE7RUFPYixvQlp2TmUsRVl5TmxCOzs7QUFsR1A7O0VBcUVVLHNCTnZQNkM7RU1tUTdDLGlCWnpNVztFWWlOWCxjQUFhO0VBT2Isb0Jadk5lLEVZeU5sQjs7QUFqQ0Q7RUFJSSxzQk52UDZDO0VNbVE3QyxpQlp6TVc7RVlpTlgsY0FBYTtFQU9iLG9CWnZOZSxFWXlObEI7O0FsQnpNSDtFa0J3S0U7SUFJSSxzQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLGdCTnZQNkMsRU1vUmhEOztFQXBHUDs7SUF1RVUsc0JOdlA2QyxFTW9SaEQ7O0VBbkdQOzs7SUFzRVUsc0JOdlA2QyxFTW9SaEQ7O0VBbEdQOztJQXFFVSxzQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLHNCTnZQNkMsRU1vUmhELEVBQUE7O0FsQnpNSDtFa0J3S0U7SUFJSSxzQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLHNCTnZQNkMsRU1vUmhEOztFQXBHUDs7SUF1RVUsc0JOdlA2QyxFTW9SaEQ7O0VBbkdQOzs7SUFzRVUsc0JOdlA2QyxFTW9SaEQ7O0VBbEdQOztJQXFFVSxnQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLGdCTnZQNkMsRU1vUmhELEVBQUE7O0FoQm5HTDtFZ0IwR0EscUJBQW9CO0VBQ3BCLFlWbldTO0VVb1dULHNCWnhMeUI7RVkwTHpCLGdCQUFlLEVBYWhCO0VBbEJEO0lBU0ksZVovTDBELEVZbU0zRDtFQWJIO0lBZ0JJLFVBQVMsRUFDVjs7QWhCdktEO0VnQjRLQSxZQUFXO0VBRVgsdUJObFRxRDtFTW1UckQsVUFBUztFQUNULHdCWjNNeUI7RVk2TXpCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDWjdUaUI7RVk4VGpCLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0Jack8wQjtFWXNPMUIsNkJacE55QjtFWXFOekIsaUJaeE9zQixFWXlPdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQlo5TnNCO0VZK050QixzQlpqT2tCLEVZa09uQjs7QUFHRDtFQUNFLHFCWnBPc0IsRVlxT3ZCOztBQUdEO0VBRUkscUJaek8yQjtFWTBPM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0JaL095QixFWXFQMUI7RUFQRDtJQUlJLHNCWmhQOEI7SVlpUDlCLGtCWjFWbUIsRVkyVnBCOztBQUlIO0VBQ0UsaUJaOVEwQjtFWStRMUIsd0NOMVdxRDtFTTJXckQsK0JaaFhpQixFWXNYbEI7RUFURDs7SUFNSSxpQlpwUm9CO0lZcVJwQixlWm5YYSxFWW9YZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxzQk50WHFEO0VNdVhyRCxlWjNYZSxFWWdZaEI7RUFSRDtJQU1JLGNabFE2QixFQUFBOztBWXVRakM7RUFDRSxrQ1puWVc7RVlvWVgsYUFBWTtFQUNaLHNCQUFxQixFQUN0Qjs7QWhCN1FDO0VnQmlSQSxVQUFTLEVBQ1Y7O0FBR0Q7RUFDRSwwQ041WXFEO0VNOFlyRCwwQlpuWmlCO0VZb1pqQiwwQlpyWmdCO0VZdVpoQiw2RFp6Vm1FO0VZMFZuRSxvQloxWXlCO0VZMll6QixlWnRaVyxFWXVaWjs7QUFHRDtFQUNFLFVBQVM7RUFDVCxpQ05wWlM7RU1zWlQsMEJaamFnQjtFWW1haEIsNkRacldtRTtFWXNXbkUsZVpqYVcsRVlzYVo7O0FDNWNEO0VBQ0UsbUJiZ0x5QjtF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Q1gsbUJBTHNKO0VBTXRKLHVCWEh1RDtFV0l2RCxvQmpCOFcrQjtFaUI1Vy9CLDBCakJYbUI7RWlCWW5CLGlCakJHZTtFaUJGZiwwQmpCVmE7RWlCV2Isa0RqQlphO0VpQmNiLHFCakI4VnlCO0VpQjdWekIsc0JYWnVEO0VXYXZELG9CakJMMkI7RWlCTTNCLGlCakI3QnFCO0VpQjhCckIsZWpCbEJhO0VpQnFCWCw0RGpCb1c4RDtFaUIvVTlELHlCQUFnQjtLQUFoQixzQkFBZ0I7VUFBaEIsaUJBQWdCLEVBQ2pCO0V6Qm94REQ7O0l5QnJ5REUsY0FBYTtJQUNiLDBCakI1QmU7SWlCNkJmLDBCakIzQlc7SWlCNEJYLDRCakIvQmlCO0lpQmtDZiw0RGpCeVY0RCxFaUJ2Vi9EOztBckJxZEM7RXFCeGNBLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZWpCNURlLEVpQjZEaEI7O0FBTEg7O0VBSUksZWpCNURlLEVpQjZEaEI7O0FBTEg7O0VBSUksZWpCNURlLEVpQjZEaEI7O0FBTEg7OztFQVVJLDBCakJuRWM7RWlCb0VkLG9CakJ1VDZCLEVpQnRUOUI7O0F6Qm94REw7O0V5Qjl3REkseUJBQWdCO0tBQWhCLHNCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsaUJqQjVEYSxFaUI2RGQ7O0FBR0Q7RUFDRSx1QkFBc0IsRUFDdkI7O0F6Qit3REg7OztFMEJ2NkRJLHVCWjRFcUQsRVkzRXREOztBMUIyNkRIOztFMEJ0NkRJLHNCQUFxQjtFQUNyQix5QkFBd0I7RUFFeEIsd0JBQWtEO0VBQ2xELHlCWmtFcUQ7RVlqRXJELGlCQUFnQixFQUtqQjtFMUJtNkREOztJMEJyNkRJLGdCQUFlLEVBQ2hCOztBQUlIOztFQUVFLHlCQUFtRCxFQUNwRDs7QTFCcTZESDtFMEJqNkRJLFlBQVcsRUFDWjs7QUNHRDtFQWpCQSxlQUFjO0VBQ2QsVUFBUztFQUVULHNCYjREdUQ7RWEzRHZELG9CbkJtRTJCO0VtQmxFM0IsaUJuQjZaMEI7RW1CNVoxQixlbkJzRGEsRW1CckNaO0VBTkQ7SUFMQSx1QmJtRHVEO0lhbER2RCxrQkFBOEQsRUFTM0Q7O0FDMUJIO0VBR0Usd0JBRnVDO0VBR3ZDLHNCZCtEcUQ7RWM5RHJELG1CcEJ5WndCO0VvQnhaeEIsZXBCMERXLEVvQnpEWjs7QUNGRDtFQUNFLHNCQUFpQztFQUFqQyxxQkFBaUM7RUFBakMsY0FBaUM7RUFDakMsWUFBVztFQUNYLDBCZjJEcUQ7RWV4RG5ELDZCQUFvQjtNQUFwQix3QkFBb0I7VUFBcEIscUJBQW9CLEVBWXZCO0VBbEJEO0lBVUksdUJyQjhEVyxFcUI3RFo7RUFYSDtJQWVNLHVCQUFpSCxFQUNsSDs7QUFJTDs7OztFQUNFLFVBQVM7RUFDVCxvQkFBbUIsRUFNcEI7O0FBRUQ7RUFFRSxnQnJCNlh1QjtFcUI1WHZCLDBCckJ3QmlCO0VxQnZCakIsb0JyQnNCZ0I7RXFCcEJoQixlckJ1Qlc7RXFCdEJYLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFHakIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYix1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYztFQUNkLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CLEVBZ0J0QjtFQTdCRDtJQXNCTSxnQkFBaUMsRUFDbEM7RUF2Qkw7SUEwQk0sZUFBZ0MsRUFDakM7O0FBSUw7RUFFRSxpQkFBZ0I7RUFHZCxzQkFBYTtNQUFiLGtCQUFhO1VBQWIsY0FBYTtFQUNiLGFBQVk7RUFDWixhQUFZLEVBS2Y7O0FBRUQ7RUFFRSxlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLG1CQUFrQjtFQUdoQixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjLEVBd0JqQjtFQWhDRDs7OztJQXNCTSxhQUFZO0lBQ1osNEJBQW1CO1FBQW5CLDZCQUFtQjtnQkFBbkIsNEJBQW1CO1lBQW5CLG9CQUFtQjtJQUtyQixlQUFjO0lBQ2Qsa0JBQWlCO0lBQ2pCLHNCZjNDbUQsRWU0Q3BEOztBekJvYUQ7RTBCamdCQSxVQUFTO0VBQ1QsV0FBVTtFQUNWLFVBQVMsRUFDVjs7QTFCMmdCQztFMEJ4Z0JBLGdCQUFlO0VBQ2YsMEJBQWtDLEVBQ25DOztBQUVEO0VBeEJBLGVoQm9FVztFZ0JuRVgsb0JoQjhEdUQ7RWdCN0R2RCwwQnRCd0RtQixFc0JoQ2xCO0VBdEJEO0lBRUUsVUFBUztJQUNULHlCaEJ3RHFEO0lnQnZEckQsc0JoQnVEcUQsRWdCdER0RDs7QXZCNkpEO0V3QnhLQSxtQkFGc0o7RUFHdEosdUJqQmdFdUQ7RWlCL0R2RCxvQnZCaWIrQjtFdUIvYS9CLHlCQUFnQjtLQUFoQixzQkFBZ0I7VUFBaEIsaUJBQWdCO0VBQ2hCLDBCdkJ1RG1CO0V1QnREbkIsaUJ2QnFFZTtFdUJwRWYsMEJ2QndEYTtFdUJ0RGIscUJ2QmlheUI7RXVCaGF6QixzQmpCdUR1RDtFaUJ0RHZELG9CdkI4RDJCO0V1QjdEM0IsaUJ2QnNDcUI7RXVCckNyQixldkJpRGE7RUdpRWIseU9BQXlOO0VvQjlHdk4sK0JBQThCO0VBQzlCLDhDQUEwRDtFQUMxRCw2QkFBNEI7RUFDNUIseUJBQXdCO0VBRXhCLDBCQUF1RDtFQUl2RCw0RHZCNlo4RCxFdUIxWC9EO0VwQm9FRDtJSnVDQTtNSXBDSSx3V0FBdVcsRW9CdkUxVyxFQUFBO0VBL0JEO0lBQ0UsY0FBYTtJQUNiLDBCdkI2QmU7SXVCNUJmLDBCdkI4Qlc7SXVCN0JYLDRCdkIwQmlCO0l1QnZCZiw0RHZCa1o0RCxFdUJoWi9EO0VBR0Q7SUFDRSwwQnZCZ0JnQjtJdUJmaEIsb0J2QjBZK0IsRXVCelloQztFQUdEO0lBQ0UsY0FBYSxFQUNkO0VBRUQ7SUFDRSxhQUFZO0lBQ1osdUJBQXNCLEVBQ3ZCOztBQ2xDRDtFQUNFLHNCeEJtQ1k7RXdCbENaLDBCQUErRCxFQUloRTtFQUhDO0lBQ0UsZXhCZ0NVLEV3Qi9CWDtFQUZEO0lBQ0UsZXhCZ0NVLEV3Qi9CWDtFQUZEO0lBQ0UsZXhCZ0NVLEV3Qi9CWDs7QUF5QkQ7RUFDRSxleEJLVSxFd0JKWDs7QUFJSDtFQXpCQSxjQUFhO0VBQ2Isd0JBQWdDO0VBQ2hDLDBCbEIrQnVEO0VrQjdCdkQsc0JsQjZCdUQ7RWtC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QXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxnQ0YzQnFEO01FMkJyRCw0QkYzQnFEO1VFMkJyRCx3QkYzQnFEO0VNRW5ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VIbUNqQyxpQ0YxQnNEO01FMEJ0RCw2QkYxQnNEO1VFMEJ0RCx5QkYxQnNEO0VNQ3BELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VIa0MvQiwrQkZ6Qm9EO01FeUJwRCwyQkZ6Qm9EO1VFeUJwRCx1QkZ6Qm9EO0VNQWxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5Qyw4QkZ0Qm1EO01Fc0JuRCwwQkZ0Qm1EO1VFc0JuRCxzQkZ0Qm1EO0VNSGpELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUN1QmpDLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxnQ0ZyQnFEO01FcUJyRCw0QkZyQnFEO1VFcUJyRCx3QkZyQnFEO0VNSm5ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0ZwQnNEO01Fb0J0RCw2QkZwQnNEO1VFb0J0RCx5QkZwQnNEO0VNTHBELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUNxQi9CLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QywrQkZuQm9EO01FbUJwRCwyQkZuQm9EO1VFbUJwRCx1QkZuQm9EO0VNTmxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUNvQjdCLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDhCQUZ5QjtNQUV6QiwwQkFGeUI7VUFFekIsc0JBRnlCO0VLM0J2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUkY1Qjs7QUFVRDtFR29CQSw0QkFGeUI7TUFFekIsd0JBRnlCO1VBRXpCLG9CQUZ5QjtFS2hCdkIsV0FBMkIsRVJBNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw4QkFGeUI7TUFFekIsMEJBRnlCO1VBRXpCLHNCQUZ5QjtFSzNCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVJGNUI7O0FB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LEVBQUE7RWY4RkM7SThGL0ROO01oRnRGRSxpQkNlcUQ7TUErQnJELFlWNER5RDtNUWxHdkQsaUJEdUVTO01DdEVULGdCRHNFUyxFa0Y4Qlo7TS9FeERHO1FBQ0UsYVZxRHNELEVVcER2RCxFQUFBOztBK0V1REw7RWhGOUdFLFlDZXFEO0VBK0JyRCxZVjREeUQ7RVFsR3ZELGlCRHVFUztFQ3RFVCxnQkRzRVM7RWtGaUNaLGNBQWEsRUFnQmI7RS9FM0VHO0lBQ0UsYVZxRHNELEVVcER2RDtFZjhGQztJOEZ2Q047TWhGOUdFLGlCQ2VxRDtNQStCckQsWVY0RHlEO01RbEd2RCxpQkR1RVM7TUN0RVQsZ0JEc0VTO01rRnVDWCxjQUFhLEVBVWQ7TS9FM0VHO1FBQ0UsYVZxRHNELEVVcER2RCxFQUFBO0VmOEZDO0k4RnZDTjtNaEY5R0UsaUJDZXFEO01BK0JyRCxZVjREeUQ7TVFsR3ZELGlCRHVFUztNQ3RFVCxnQkRzRVMsRWtGaURaO00vRTNFRztRQUNFLGFWcURzRCxFVXBEdkQsRUFBQTs7QStFOEVMO0VuRmxERSx1QkNUdUQ7RUQxQnJELG1CQUFrQjtFQUNsQixrQkFBaUIsRW1Gc0ZwQjtFckZvQkM7SUFFRSxlQUFjO0lBQ2QsYUFBWTtJQUdWLHNCQUFhO1FBQWIsMkJBQWE7WUFBYixjQUFhO0lBQ2IsaUJBQVE7UUFBUixrQkFBUTtZQUFSLFNBQVEsRUFFWDtFQUVEO0lBQ0UsWUFBVyxFQUNaOztBcUZoQ0g7RWhGeElFLFlDZXFEO0VBK0JyRCxZVjREeUQ7RVFsR3ZELGlCRHVFUztFQ3RFVCxnQkRzRVMsRWtGNkZaO0UvRXZIRztJQUNFLGFWcURzRCxFVXBEdkQ7RStFaUZMO0lBSUUsb0JBQW1CLEVBQ25CO0U5RlFJO0k4RmJOO01oRnhJRSxXQ2VxRDtNQStCckQsWVY0RHlEO01RbEd2RCxpQkR1RVM7TUN0RVQsZ0JEc0VTLEVrRjZGWjtNL0V2SEc7UUFDRSxhVnFEc0QsRVVwRHZEO00rRWlGTDtRQVlHLFlBQVc7UUFDWCxXQUFVO1FBQ1YsbUJBQWtCLEVBQ2xCO01BZkg7UUFpQkcsaUJBQWdCLEVBQ2hCLEVBQUE7RTlGQUc7SThGbEJOO01oRnhJRSxXQ2VxRDtNQStCckQsWVY0RHlEO01RbEd2RCxpQkR1RVM7TUN0RVQsZ0JEc0VTO01JOUVULG1CQUFrQjtNQUNsQixnQkFIbUQsRThFNkt0RDtNL0V2SEc7UUFDRSxhVnFEc0QsRVVwRHZEO00rRWlGTDtRQTJCRyxtQkFBa0I7UUFDbEIsa0JBQWlCLEVBSWpCO1FBaENIO1VBOEJJLGdCQUFlLEVBQ2YsRUFBQTs7QUFNSjtFaEY3S0UsWUNlcUQ7RUErQnJELFlWNER5RDtFUWxHdkQsaUJEdUVTO0VDdEVULGdCRHNFUztFa0ZnR1osb0JBQW1CO0VBQ25CLG1CQUFrQixFQWVsQjtFL0UxSUc7SUFDRSxhVnFEc0QsRVVwRHZEO0VmOEZDO0k4RndCTjtNaEY3S0UsV0NlcUQ7TUErQnJELFlWNER5RDtNUWxHdkQsaUJEdUVTO01DdEVULGdCRHNFUztNa0ZzR1gsaUJBQWdCO01BQ2hCLGlCQUFnQixFQVNqQjtNL0UxSUc7UUFDRSxhVnFEc0QsRVVwRHZELEVBQUE7RWZtR0M7SThGbUJOO01oRjdLRSxpQkNlcUQ7TUErQnJELFlWNER5RDtNUWxHdkQsaUJEdUVTO01DdEVULGdCRHNFUztNSTlFVCxtQkFBa0I7TUFDbEIsZ0JBSG1ELEU4RWdNdEQ7TS9FMUlHO1FBQ0UsYVZxRHNELEVVcER2RCxFQUFBOztBK0V5SUw7RWhGaE1FLFlDZXFEO0VBK0JyRCxZVjREeUQ7RVFsR3ZELGlCRHVFUztFQ3RFVCxnQkRzRVMsRWtGK0haO0UvRXpKRztJQUNFLGFWcURzRCxFVXBEdkQ7RWY4RkM7SThGMkNOO01oRmhNRSxZQ2VxRDtNQStCckQsWVY0RHlEO01RbEd2RCxpQkR1RVM7TUN0RVQsZ0JEc0VTLEVrRitIWjtNL0V6Skc7UUFDRSxhVnFEc0QsRVVwRHZELEVBQUE7RWZtR0M7SThGc0NOO01oRmhNRSxXQ2VxRDtNQStCckQsWVY0RHlEO01RbEd2RCxpQkR1RVM7TUN0RVQsZ0JEc0VTO01JOUVULG1CQUFrQjtNQUNsQixXQUhtRCxFOEUrTXREO00vRXpKRztRQUNFLGFWcURzRCxFVXBEdkQsRUFBQTs7QStFZ0tMO0VBQ0MsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUFFLGNBQWE7RUFDakMsaUJBQWdCO0VBQ2hCLDZDQUFtQztFQUNuQyx3QkFBdUIsRUE2RHZCO0U5RnBJSztJOEZrRU47TUFRRSxzQkFBcUIsRUEwRHRCLEVBQUE7RUFsRUQ7SUFZRSxZQUFXO0lBQ1gsbUJBQWtCO0lBQUUsT0FBTTtJQUFFLFFBQU87SUFBRSxVQUFTO0lBQUUsU0FBUTtJQUFFLFdBQVU7SUFDcEUsZUFBYztJQUNkLDBCdEY3T3VCLEVzRjhPdkI7RUFsR0Y7SUFxR0UsbUJBQWtCO0lBQUUsV0FBVSxFQUM5QjtFQXBCRjs7SUF3QkUsVUFBUztJQUNULG1CQUFrQjtJQUNsQix1QkFBc0I7SUFDdEIsc0JsRnhLdUQsRWtGaUx2RDtFQXBDRjtJQXdDRyxZQUFXLEVBQ1g7RUF6Q0g7SUF3Q0csWUFBVyxFQUNYO0VBekNIO0lBd0NHLFlBQVcsRUFDWDtFQXpDSDtJQTZDRSx1QkFBc0IsRUFNdEI7SUFuREY7TUFnREcsWUFBVyxFQUNYO0lBakRIO01BZ0RHLFlBQVcsRUFDWDtJQWpESDtNQWdERyxZQUFXLEVBQ1g7RUFqREg7SUFxREUsc0JBQXFCO0lBQ3JCLGV0RnhSaUI7SXNGeVJqQixzQmxGcE11RCxFa0Y2TXZEO0k5RmxJSTtNOEZrRU47UUEwREssc0JsRnZNb0QsRWtGNk12RCxFQUFBO0k5RmxJSTtNOEZrRU47UUE2REssZ0JsRjFNb0QsRWtGNk12RCxFQUFBOztBQUlGOztFQUtFLG1CQUFrQjtFQUFFLFVBQVM7RUFDN0IsK0JBQThCO0VBQzlCLGdCQUFlO0VBQ2Ysb0JBQW1CO0VBQ25CLFlBQVc7RUFDWCxhQUFZO0VBQ1osK0JBQThCO0VBQzlCLGlCQUFnQjtFQUNoQixzQmxGOU51RCxFa0Z3T3ZEO0U5RjdKSTtJOEZzSU47O01BaUJHLFVBQVMsRUFNVixFQUFBOztBQXZCRjs7RUEyQkUsYUFBWSxFQUNaOztBQUtGO0VBR0UsaUJBQWdCO0VBQ2hCLHNCQUFxQjtFQUNyQiwwQkFBeUI7RUFDekIsZXRGN1VpQjtFc0YrVWpCLHNCbEYxUHVELEVrRnVRdkQ7RTlGNUxJO0k4RnVLTjtNQVdLLHNCbEY3UG9ELEVrRnVRdkQsRUFBQTtFOUY1TEk7SThGdUtOO01BY0ssZ0JsRmhRb0QsRWtGdVF2RCxFQUFBO0U5RnZMSTtJOEZrS047TUFrQkcsY0FBYSxFQUdkLEVBQUE7O0FBckJGO0VBd0JFLGlCQUFnQjtFQUNoQixVQUFTO0VBQ1QsV0FBVSxFQU1WO0VBaENGO0lBNkJHLGVBQWMsRUFDZDs7QUFTSDtFQUlFLHNCQUFxQixFQU9yQjtFQVhGO0lBU0csMkJBQTBCLEVBQzFCOztBQS9QSDtFQXVRQyxpQkFBZ0I7RUFDaEIsNkNBQW1DLEVBeUJuQztFOUZyUEs7SThGME5OO01uRmpTRSx1QkNUdUQ7TUQxQnJELG1CQUFrQjtNQUNsQixrQkFBaUIsRW1GNFVuQjtNckZsT0E7UUFFRSxlQUFjO1FBQ2QsYUFBWTtRQUdWLHNCQUFhO1lBQWIsMkJBQWE7Z0JBQWIsY0FBYTtRQUNiLGlCQUFRO1lBQVIsa0JBQVE7Z0JBQVIsU0FBUSxFQUVYO01BRUQ7UUFDRSxZQUFXLEVBQ1osRUFBQTtFVGRHO0k4RjBOTjtNaEZwWEUsV0NlcUQ7TUErQnJELFlWNER5RDtNUWxHdkQsaUJEdUVTO01DdEVULGdCRHNFUyxFa0ZzVFg7TS9FaFZFO1FBQ0UsYVZxRHNELEVVcER2RCxFQUFBO0VmbUdDO0k4RjBOTjtNaEZwWEUsaUJDZXFEO01BK0JyRCxZVjREeUQ7TVFsR3ZELGlCRHVFUztNQ3RFVCxnQkRzRVMsRWtGc1RYO00vRWhWRTtRQUNFLGFWcURzRCxFVXBEdkQsRUFBQTtFZm1HQztJOEYwTk47TWhGcFhFLFdDZXFEO01BK0JyRCxZVjREeUQ7TVFsR3ZELGlCRHVFUztNQ3RFVCxnQkRzRVMsRWtGOFRYO00vRXhWRTtRQUNFLGFWcURzRCxFVXBEdkQsRUFBQTtFZm1HQztJOEYwTk47TWhGcFhFLGlCQ2VxRDtNQStCckQsWVY0RHlEO01RbEd2RCxpQkR1RVM7TUN0RVQsZ0JEc0VTLEVrRjhUWDtNL0V4VkU7UUFDRSxhVnFEc0QsRVVw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QUlMLDhCQUFxQjtZQUFyQiwwQkFBcUI7Z0JBQXJCLHNCQUFxQixFQUN0Qjs7QUEvQ1Q7RUF1REksZUFBYztFQUNkLG9CQUFtQjtFQUNuQiwrQkFBOEIsRUErQi9CO0VqRzVtREc7SWlHb2hETjtNQTRETSxlQUFjO01BQ2Qsb0JBQW1CLEVBMkJ0QixFQUFBO0VBeEZIO0lBaUVNLGlCQUFnQixFQUNqQjtFQWxFTDtJQXFFTSxvQkFBbUIsRUFDcEI7RUF0RUw7SUF5RU0sWUFBVyxFQU1aO0lBL0VMO01BNEVRLHFCQUFvQixFQUNyQjtFQTdFUDtJQWtGTSxjQUFhLEVBQ2Q7RUFuRkw7SUFxRk0saUJBQWdCLEVBQ2pCOztBQXRGTDtFQTJGSSxvQkFBbUIsRUFNcEI7RWpHcm5ERztJaUdvaEROO01BOEZNLGtCQUFpQixFQUdwQixFQUFBOztBQWpHSDtFdEZubURJLDBCQUYrRDtFQUcvRCx5QkFIK0QsRXNGMnNEOUQ7RWpHMW5EQztJaUdvaEROO010Rm5tREksMEJBRitEO01BRy9ELHlCQUgrRCxFc0Yyc0Q5RCxFQUFBO0VqRzFuREM7SWlHb2hETjtNdEZubURJLDBCQUYrRDtNQUcvRCx5QkFIK0QsRXNGMnNEOUQsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMyZjQ4NTg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2N3JlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93OjpiZWZvcmUsIC5yb3c6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAucm93OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjExMTExcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4xMTExMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjgzMzMzcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuODMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjgzMzMzcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuODMzMzNyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1uLCAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMXJlbTsgfVxuICAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1uLCAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzNyZW07IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMTExMTFyZW07XG4gIHBhZGRpbmctbGVmdDogMS4xMTExMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuODMzMzNyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzNyZW07IH0gfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjExMTExcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMTExMTFyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuc21hbGwtY2VudGVyZWQsIC5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdW5jZW50ZXJlZCxcbi5zbWFsbC1wdXNoLTAsXG4uc21hbGwtcHVsbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLm1lZGl1bS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC44MzMzM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODMzMzNyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5sYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuODMzMzNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjgzMzMzcmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAyLjIyMjIycmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS42NjY2N3JlbTsgfVxuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbi50cmF2ZWwtaXRlbSAuZmxpcC10b2dnbGUsXG5oNCxcbi50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5uYW1lLFxuYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLnJlbGF0ZWQtYXR0cmFjdGlvbi1oZHIsXG5oNSxcbi5zaGFyZS10aGlzIC5oZHIsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYWRkcmVzcyxcbiN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsLFxuI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsXG5ib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCxcbmJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuXG5wLFxuYWRkcmVzcyxcbiN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsLFxuI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsXG5ib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCxcbmJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1saXN0LXNlcGFyYXRvci1tb250aCxcbmgzLFxuLnRyYXZlbC1pdGVtIC5mbGlwLXRvZ2dsZSwgLmgzLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRpdGxlLFxuaDQsXG4udHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAubmFtZSxcbmJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5yZWxhdGVkLWF0dHJhY3Rpb24taGRyLCAuaDQsIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLmhvdXJzLXdyYXAgLmhkcixcbmg1LFxuLnNoYXJlLXRoaXMgLmhkciwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogIzJmNDg1ODtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxpc3Qtc2VwYXJhdG9yLW1vbnRoIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgLnRyYXZlbC1pdGVtIC5mbGlwLXRvZ2dsZSBzbWFsbCwgLmgzIHNtYWxsLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRpdGxlIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLm5hbWUgc21hbGwsXG4gIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5yZWxhdGVkLWF0dHJhY3Rpb24taGRyIHNtYWxsLCAuaDQgc21hbGwsIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLmhvdXJzLXdyYXAgLmhkciBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIC5zaGFyZS10aGlzIC5oZHIgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICMzMzM7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yMjIyMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oMiwgLmgyLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxpc3Qtc2VwYXJhdG9yLW1vbnRoIHtcbiAgZm9udC1zaXplOiAxLjc3Nzc4cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cblxuaDMsXG4udHJhdmVsLWl0ZW0gLmZsaXAtdG9nZ2xlLCAuaDMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudGl0bGUge1xuICBmb250LXNpemU6IDEuNTU1NTZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuXG5oNCxcbi50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5uYW1lLFxuYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLnJlbGF0ZWQtYXR0cmFjdGlvbi1oZHIsIC5oNCwgYm9keS5zaW5nbGUtdGNjX21lbWJlciAuaG91cnMtd3JhcCAuaGRyIHtcbiAgZm9udC1zaXplOiAxLjA1NTU2cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cblxuaDUsXG4uc2hhcmUtdGhpcyAuaGRyLCAuaDUge1xuICBmb250LXNpemU6IDAuODg4ODlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMC44ODg4OXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDIuNzc3NzhyZW07IH1cbiAgaDIsIC5oMiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1saXN0LXNlcGFyYXRvci1tb250aCB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIFxuICBoMyxcbiAgLnRyYXZlbC1pdGVtIC5mbGlwLXRvZ2dsZSwgLmgzLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNjY2NjdyZW07IH1cbiAgXG4gIGg0LFxuICAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAubmFtZSxcbiAgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLnJlbGF0ZWQtYXR0cmFjdGlvbi1oZHIsIC5oNCwgYm9keS5zaW5nbGUtdGNjX21lbWJlciAuaG91cnMtd3JhcCAuaGRyIHtcbiAgICBmb250LXNpemU6IDEuMTExMTFyZW07IH1cbiAgXG4gIGg1LFxuICAuc2hhcmUtdGhpcyAuaGRyLCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMC45NDQ0NHJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDAuOTQ0NDRyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDMuMzMzMzNyZW07IH1cbiAgaDIsIC5oMiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1saXN0LXNlcGFyYXRvci1tb250aCB7XG4gICAgZm9udC1zaXplOiAyLjMzMzMzcmVtOyB9XG4gIFxuICBoMyxcbiAgLnRyYXZlbC1pdGVtIC5mbGlwLXRvZ2dsZSwgLmgzLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNzc3NzhyZW07IH1cbiAgXG4gIGg0LFxuICAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAubmFtZSxcbiAgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLnJlbGF0ZWQtYXR0cmFjdGlvbi1oZHIsIC5oNCwgYm9keS5zaW5nbGUtdGNjX21lbWJlciAuaG91cnMtd3JhcCAuaGRyIHtcbiAgICBmb250LXNpemU6IDEuMTY2NjdyZW07IH1cbiAgXG4gIGg1LFxuICAuc2hhcmUtdGhpcyAuaGRyLCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjZjcwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmOTIzMzsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNjYuNjY2NjdyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjExMTExcmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtIDEuMTExMTFyZW0gMCAxLjA1NTU2cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwLCBibG9ja3F1b3RlIGFkZHJlc3MsIGJsb2NrcXVvdGUgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWljYWwsICN0cmliZS1ldmVudHMgYmxvY2txdW90ZSAudHJpYmUtZXZlbnRzLWljYWwsXG4gIGJsb2NrcXVvdGUgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsICN0cmliZS1ldmVudHMgYmxvY2txdW90ZSAudHJpYmUtZXZlbnRzLWdjYWwsIGJsb2NrcXVvdGUgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0W3R5cGU9dGV4dF0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBibG9ja3F1b3RlIGlucHV0W3R5cGU9dGV4dF0sIGJsb2NrcXVvdGUgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIGJsb2NrcXVvdGUgLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCBibG9ja3F1b3RlIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIGJsb2NrcXVvdGUgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBibG9ja3F1b3RlIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIGJsb2NrcXVvdGUgLnNlYXJjaC1rZXl3b3JkIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjcyMjIycmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMTExMXJlbSAwLjI3Nzc4cmVtIDAuMDU1NTZyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTExMTFyZW0gMC4yMjIyMnJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMjIuNXB4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCwgYWRkcmVzcyArIC5zdGF0LCAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaWNhbCArIC5zdGF0LCAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtZ2NhbCArIC5zdGF0LCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSArIC5zdGF0LCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzICsgLnN0YXQsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLWxhYmVsICsgLnN0YXQsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIFxuICBwLFxuICBhZGRyZXNzLFxuICAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaWNhbCxcbiAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsXG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLFxuICBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCxcbiAgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWtleXdvcmQsXG4gIGgyLFxuICBoMyxcbiAgLnRyYXZlbC1pdGVtIC5mbGlwLXRvZ2dsZSB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzLFxuICAudHJhdmVsLWl0ZW0gLmZsaXAtdG9nZ2xlIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbi5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmNDg1ODtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgzZDRiO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24udGlueSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi50aW55W3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50aW55LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLnNtYWxsW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5zbWFsbC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2UsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24ubGFyZ2VbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmxhcmdlLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5leHBhbmRlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZXhwYW5kZWQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnksIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24ucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJmNDg1ODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24ucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzYTQ2O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnksIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5zZWNvbmRhcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5zZWNvbmRhcnk6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uc2Vjb25kYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5zZWNvbmRhcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5zdWNjZXNzLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3M6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5zdWNjZXNzLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24ud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZzpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24ud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uYWxlcnQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydDpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uYWxlcnQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRpc2FibGVkLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZGlzYWJsZWQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRpc2FibGVkLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5kaXNhYmxlZC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY0ODU4O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZGlzYWJsZWQucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZGlzYWJsZWQucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRpc2FibGVkLnByaW1hcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY0ODU4O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZGlzYWJsZWQuc3VjY2Vzcy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZGlzYWJsZWQud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQud2FybmluZzpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZGlzYWJsZWQud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRpc2FibGVkLndhcm5pbmcudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRpc2FibGVkLmFsZXJ0LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZC5hbGVydFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZGlzYWJsZWQuYWxlcnQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRpc2FibGVkLmFsZXJ0LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5kaXNhYmxlZC5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93LCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvd1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMmY0ODU4O1xuICAgIGNvbG9yOiAjMmY0ODU4OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93W3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdzpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3c6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LmRpc2FibGVkLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy5kaXNhYmxlZC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3c6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTgyNDJjO1xuICAgICAgY29sb3I6ICMxODI0MmM7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMuZGlzYWJsZWQsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJmNDg1ODtcbiAgICAgICAgY29sb3I6ICMyZjQ4NTg7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmY0ODU4O1xuICAgICAgY29sb3I6ICMyZjQ4NTg7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE4MjQyYztcbiAgICAgICAgY29sb3I6ICMxODI0MmM7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnByaW1hcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnByaW1hcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZjQ4NTg7XG4gICAgICAgICAgY29sb3I6ICMyZjQ4NTg7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy5zdWNjZXNzLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93Lndhcm5pbmcudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93Lndhcm5pbmcudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uaG9sbG93LmFsZXJ0LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cuYWxlcnQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5ob2xsb3cuYWxlcnQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmhvbGxvdy5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZjQ4NTg7XG4gICAgY29sb3I6ICMyZjQ4NTg7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcjpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXI6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuZGlzYWJsZWQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLmRpc2FibGVkLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5kaXNhYmxlZC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXI6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMxODI0MmM7XG4gICAgICBjb2xvcjogIzE4MjQyYzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmY0ODU4O1xuICAgICAgICBjb2xvcjogIzJmNDg1ODsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5kaXNhYmxlZC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXI6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXI6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZjQ4NTg7XG4gICAgICBjb2xvcjogIzJmNDg1ODsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnByaW1hcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTgyNDJjO1xuICAgICAgICBjb2xvcjogIzE4MjQyYzsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJmNDg1ODtcbiAgICAgICAgICBjb2xvcjogIzJmNDg1ODsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnByaW1hcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnByaW1hcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnByaW1hcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5wcmltYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuc2Vjb25kYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5zZWNvbmRhcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5zZWNvbmRhcnkudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuc2Vjb25kYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuc2Vjb25kYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuc2Vjb25kYXJ5LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuc3VjY2Vzcy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5zdWNjZXNzLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5zdWNjZXNzLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuc3VjY2Vzcy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlclt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuc3VjY2Vzcy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuc3VjY2Vzcy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLndhcm5pbmcudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLndhcm5pbmcudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLndhcm5pbmcudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLndhcm5pbmcudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci53YXJuaW5nLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLmFsZXJ0LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuYWxlcnQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uY2xlYXIuYWxlcnQudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLmFsZXJ0LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLmFsZXJ0LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmNsZWFyLmFsZXJ0LnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5jbGVhci5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRyb3Bkb3duW3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZHJvcGRvd24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRyb3Bkb3duLmhvbGxvd1t0eXBlPVwic3VibWl0XCJdOjphZnRlciwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyZjQ4NTg7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyZjQ4NTg7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzcy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZy50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdOjphZnRlciwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbi5hcnJvdy1vbmx5W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24uYXJyb3ctb25seS50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjE2NjY3cmVtO1xuICBtYXJnaW46IDAgMCAwLjg4ODg5cmVtO1xuICBwYWRkaW5nOiAwLjQ0NDQ0cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg4ODg5cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDAuODg4ODlyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNDQ0NDRyZW07XG4gIG1hcmdpbi1yaWdodDogMC44ODg4OXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjQ0NDQ0cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAwLjg4ODg5cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC40NDQ0NHJlbTtcbiAgZm9udC1zaXplOiAwLjcyMjIycmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjg4ODg5cmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjQ0NDQ0cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBwYWRkaW5nOiAxLjExMTExcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTY2NjdyZW07XG4gICAgcGFkZGluZzogMCAwLjE2NjY3cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4xNjY2N3JlbTtcbiAgbWFyZ2luOiAwIDAgMC44ODg4OXJlbTtcbiAgcGFkZGluZzogMC40NDQ0NHJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44ODg4OXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMC44ODg4OXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS4zMzMzM3JlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllY2VhOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjQ0NDQ0cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjg4ODg5cmVtO1xuICBmb250LXNpemU6IDAuNjY2NjdyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjY2NjY3cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMyZjQ4NTg7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMmY0ODU4OyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMmY0ODU4O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzJmNDg1ODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjYxMTExcmVtO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNjYWNhY2E7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMmY0ODU4OyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24sIC5idXR0b24tZ3JvdXAgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwIGJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmxhc3QtY2hpbGQsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnRpbnkgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC50aW55IGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnRpbnkgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAuYnV0dG9uLWdyb3VwLnRpbnkgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc21hbGwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zbWFsbCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5zbWFsbCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAuc21hbGwgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmxhcmdlIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAubGFyZ2UgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAubGFyZ2UgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAuYnV0dG9uLWdyb3VwLmxhcmdlIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAucHJpbWFyeSBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAucHJpbWFyeSBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZjQ4NTg7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSBidXR0b246aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAucHJpbWFyeSBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAucHJpbWFyeSBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI2M2E0NjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGJ1dHRvbjpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYnV0dG9uOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGJ1dHRvbjpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b246Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAud2FybmluZyBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAud2FybmluZyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAud2FybmluZyBidXR0b246aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAud2FybmluZyBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAud2FybmluZyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC5hbGVydCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBidXR0b246aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5hbGVydCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAuYWxlcnQgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBidXR0b246Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5hbGVydCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAuYWxlcnQgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpsYXN0LWNoaWxkLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b246bGFzdC1jaGlsZFt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBidXR0b246bGFzdC1jaGlsZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpsYXN0LWNoaWxkLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b246bGFzdC1jaGlsZFt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmxhc3QtY2hpbGQsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMmY0ODU4OyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTVlYjtcbiAgICBjb2xvcjogIzJmNDg1ODsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gICAgY29sb3I6ICMyZjQ4NTg7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTtcbiAgICBjb2xvcjogIzJmNDg1ODsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5O1xuICAgIGNvbG9yOiAjMmY0ODU4OyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlNGUxO1xuICAgIGNvbG9yOiAjMmY0ODU4OyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMyZjQ4NTg7IH1cbiAgLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24sXG4gIC5tZW51IC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbiAgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5tZW51IGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAubWVudSBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sXG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5tZW51IGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzJmNDg1ODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzJmNDg1ODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMmY0ODU4OyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2Y3MDsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZjcwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzJmNDg1OCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2Y3MCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4uZHJvcGRvd24ubWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNlNmU2ZTY7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2Y3MCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZjcwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjcwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2Y3MCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmNzA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjcwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmNzAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmNzA7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZjcwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmNzA7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuODg4ODlyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMmY0ODU4O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzJmNDg1ODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMyQzM4NDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzJDMzg0MDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtcHJldmlvdXMsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDU1NTZyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuNzc3NzhyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xNjY2N3JlbSAwLjU1NTU2cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE2NjY3cmVtIDAuNTU1NTZyZW07XG4gICAgYmFja2dyb3VuZDogIzJmNDg1ODtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE2NjY3cmVtIDAuNTU1NTZyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE2NjY3cmVtIDAuNTU1NTZyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJmNDg1ODsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZjQ4NTg7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZjQ4NTg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyODNkNGI7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3cmVtOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2N3JlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgY29udGVudDogJyc7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmY0ODU4OyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNTU1NTZyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjY2NjY3cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDAuODg4ODlyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC40NDQ0NHJlbSAwLjU1NTU2cmVtIDAuNTU1NTZyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMyZjQ4NTg7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMyZjQ4NTg7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC40NDQ0NHJlbSAwLjU1NTU2cmVtIDAuNTU1NTZyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNDQ0NDRyZW0gMC41NTU1NnJlbSAwLjU1NTU2cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMyZjQ4NTg7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzNjUyNjQ7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42NjY2N3JlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzJmNDg1ODsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjMjgzZTRjOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMyZjQ4NTg7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzJmNDg1ODtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDQ3LCA3MiwgODgsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzJDMzg0MDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLnRvcC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgbGVmdDogMTAwJTsgfVxuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJDMzg0MDsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cblxuLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG5oMSwgLmgxIHtcbiAgZm9udC1mYW1pbHk6IFwiQWJyaWwgRmF0ZmFjZVwiLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuXG5oMS5oZHJzbWFsbCwgLmgxLmhkcnNtYWxsIHtcbiAgY29sb3I6ICMzMzY1OGE7IH1cblxuaDIsIC5oMiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1saXN0LXNlcGFyYXRvci1tb250aCB7XG4gIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICBmb250LWZhbWlseTogXCJVbmljYSBPbmVcIiwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuXG5oMyxcbi50cmF2ZWwtaXRlbSAuZmxpcC10b2dnbGUsIC5oMywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50aXRsZSB7XG4gIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICBmb250LWZhbWlseTogXCJVbmljYSBPbmVcIiwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuXG5wLFxuYWRkcmVzcyxcbiN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsLFxuI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsXG5ib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCxcbmJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkIHtcbiAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgXG4gICAgcCxcbiAgICBhZGRyZXNzLFxuICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1nY2FsLFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsXG4gICAgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWtleXdvcmQtbGFiZWwsXG4gICAgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWtleXdvcmQge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxucC5iaWcsIGFkZHJlc3MuYmlnLCBzZWN0aW9uLmludHJvIHAsIHNlY3Rpb24uaW50cm8gYWRkcmVzcywgc2VjdGlvbi5pbnRybyAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaWNhbCwgI3RyaWJlLWV2ZW50cyBzZWN0aW9uLmludHJvIC50cmliZS1ldmVudHMtaWNhbCxcbnNlY3Rpb24uaW50cm8gI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsICN0cmliZS1ldmVudHMgc2VjdGlvbi5pbnRybyAudHJpYmUtZXZlbnRzLWdjYWwsIHNlY3Rpb24uaW50cm8gYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0W3R5cGU9dGV4dF0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBzZWN0aW9uLmludHJvIGlucHV0W3R5cGU9dGV4dF0sIHNlY3Rpb24uaW50cm8gYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIHNlY3Rpb24uaW50cm8gLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCBzZWN0aW9uLmludHJvIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIHNlY3Rpb24uaW50cm8gLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBzZWN0aW9uLmludHJvIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIHNlY3Rpb24uaW50cm8gLnNlYXJjaC1rZXl3b3JkLCAjdHJpYmUtZXZlbnRzIC5iaWcudHJpYmUtZXZlbnRzLWljYWwsXG4jdHJpYmUtZXZlbnRzIC5iaWcudHJpYmUtZXZlbnRzLWdjYWwsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dC5iaWdbdHlwZT10ZXh0XSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5iaWcudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJpZy5zZWFyY2gta2V5d29yZC1sYWJlbCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYmlnLnNlYXJjaC1rZXl3b3JkIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgcC5iaWcsIGFkZHJlc3MuYmlnLCBzZWN0aW9uLmludHJvIHAsIHNlY3Rpb24uaW50cm8gYWRkcmVzcywgc2VjdGlvbi5pbnRybyAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaWNhbCwgI3RyaWJlLWV2ZW50cyBzZWN0aW9uLmludHJvIC50cmliZS1ldmVudHMtaWNhbCxcbiAgICBzZWN0aW9uLmludHJvICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1nY2FsLCAjdHJpYmUtZXZlbnRzIHNlY3Rpb24uaW50cm8gLnRyaWJlLWV2ZW50cy1nY2FsLCBzZWN0aW9uLmludHJvIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dFt0eXBlPXRleHRdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gc2VjdGlvbi5pbnRybyBpbnB1dFt0eXBlPXRleHRdLCBzZWN0aW9uLmludHJvIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCBzZWN0aW9uLmludHJvIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgc2VjdGlvbi5pbnRybyBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCBzZWN0aW9uLmludHJvIC5zZWFyY2gta2V5d29yZC1sYWJlbCwgc2VjdGlvbi5pbnRybyBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCBzZWN0aW9uLmludHJvIC5zZWFyY2gta2V5d29yZCwgI3RyaWJlLWV2ZW50cyAuYmlnLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgICN0cmliZS1ldmVudHMgLmJpZy50cmliZS1ldmVudHMtZ2NhbCwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0LmJpZ1t0eXBlPXRleHRdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmJpZy50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYmlnLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5iaWcuc2VhcmNoLWtleXdvcmQge1xuICAgICAgZm9udC1zaXplOiAxLjA1NTU2cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBwLmJpZywgYWRkcmVzcy5iaWcsIHNlY3Rpb24uaW50cm8gcCwgc2VjdGlvbi5pbnRybyBhZGRyZXNzLCBzZWN0aW9uLmludHJvICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsLCAjdHJpYmUtZXZlbnRzIHNlY3Rpb24uaW50cm8gLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgIHNlY3Rpb24uaW50cm8gI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsICN0cmliZS1ldmVudHMgc2VjdGlvbi5pbnRybyAudHJpYmUtZXZlbnRzLWdjYWwsIHNlY3Rpb24uaW50cm8gYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0W3R5cGU9dGV4dF0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBzZWN0aW9uLmludHJvIGlucHV0W3R5cGU9dGV4dF0sIHNlY3Rpb24uaW50cm8gYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIHNlY3Rpb24uaW50cm8gLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCBzZWN0aW9uLmludHJvIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIHNlY3Rpb24uaW50cm8gLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBzZWN0aW9uLmludHJvIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIHNlY3Rpb24uaW50cm8gLnNlYXJjaC1rZXl3b3JkLCAjdHJpYmUtZXZlbnRzIC5iaWcudHJpYmUtZXZlbnRzLWljYWwsXG4gICAgI3RyaWJlLWV2ZW50cyAuYmlnLnRyaWJlLWV2ZW50cy1nY2FsLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYmlnW3R5cGU9dGV4dF0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAuYmlnLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5iaWcuc2VhcmNoLWtleXdvcmQtbGFiZWwsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJpZy5zZWFyY2gta2V5d29yZCB7XG4gICAgICBmb250LXNpemU6IDEuMTExMTFyZW07IH0gfVxuXG51bCwgb2wge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgdWwsIG9sIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgdWwsIG9sIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5uby1pb3MgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbmEubW9yZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZjcwOyB9XG4gIC5uby1pb3MgYS5tb3JlOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmOTIzMzsgfVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5zaGFyZS10aGlzIHtcbiAgbWFyZ2luOiA0MHB4IDAgMjBweCAwOyB9XG4gIC5zaGFyZS10aGlzOmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zaGFyZS10aGlzIC5oZHIge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnNoYXJlLXRoaXMgLnN0QnV0dG9uIC5zdExhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaGFyZS10aGlzIC5zdEJ1dHRvbiB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogMCAxMHB4IDEwcHggMDsgfVxuICAgIC5uby1pb3MgLnNoYXJlLXRoaXMgLnN0QnV0dG9uIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAgIC5uby1pb3MgLnNoYXJlLXRoaXMgLnN0QnV0dG9uOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogLjg7IH1cblxuLnN0X2ZhY2Vib29rX2xhcmdlIC5zdEJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1zb2NpYWwtZmFjZWJvb2suc3ZnKSBuby1yZXBlYXQ7IH1cblxuLnN0X3R3aXR0ZXJfbGFyZ2UgLnN0QnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLXNvY2lhbC10d2l0dGVyLnN2Zykgbm8tcmVwZWF0OyB9XG5cbi5zdF9pbnN0YWdyYW1fbGFyZ2UgLnN0QnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLXNvY2lhbC1pbnN0YWdyYW0uc3ZnKSBuby1yZXBlYXQ7IH1cblxuLmJhY2stbGluayB7XG4gIG1hcmdpbjogMCAwIC41cmVtIDA7XG4gIGZvbnQtc2l6ZTogOTAlOyB9XG4gIC5iYWNrLWxpbmsgYSB7XG4gICAgY29sb3I6ICNmNzA7IH1cbiAgICAubm8taW9zIC5iYWNrLWxpbmsgYSAuaWNvbi13cmFwIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAubm8taW9zIC5iYWNrLWxpbmsgYTpob3ZlciAuaWNvbi13cmFwIHtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gIC5iYWNrLWxpbmsgLmljb24td3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxudGltZSB7XG4gIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgZm9udC1mYW1pbHk6IFwiVW5pY2EgT25lXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDAuNzc3NzhyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjOTk5OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgdGltZSB7XG4gICAgICBmb250LXNpemU6IDAuODMzMzNyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHRpbWUge1xuICAgICAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuYWRtaW4tYmFyLmYtdG9wYmFyLWZpeGVkIC5zdGlja3kuZml4ZWQge1xuICBtYXJnaW4tdG9wOiAxLjc3Nzc4cmVtOyB9XG5cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdG9wOiAyLjU1NTU2cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjkzNzVlbSkge1xuICAgIGJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICAgIHRvcDogMS43Nzc3OHJlbTsgfSB9XG5cbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXJnaW46IDEwcHggMCAyNXB4ICFpbXBvcnRhbnQ7IH1cblxuZmlnY2FwdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG4gIGNhcHRpb24tc2lkZTogYm90dG9tOyB9XG5cbmZpZ3VyZSBpbWcge1xuICBtYXJnaW4tdG9wOiA1cHg7IH1cblxuLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7IH1cblxucC53cC1jYXB0aW9uLXRleHQsIGFkZHJlc3Mud3AtY2FwdGlvbi10ZXh0LCAjdHJpYmUtZXZlbnRzIC53cC1jYXB0aW9uLXRleHQudHJpYmUtZXZlbnRzLWljYWwsXG4jdHJpYmUtZXZlbnRzIC53cC1jYXB0aW9uLXRleHQudHJpYmUtZXZlbnRzLWdjYWwsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dC53cC1jYXB0aW9uLXRleHRbdHlwZT10ZXh0XSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC53cC1jYXB0aW9uLXRleHQudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLndwLWNhcHRpb24tdGV4dC5zZWFyY2gta2V5d29yZC1sYWJlbCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAud3AtY2FwdGlvbi10ZXh0LnNlYXJjaC1rZXl3b3JkIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjU1NTU2cmVtIDA7IH1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgLmFsaWdubGVmdCBmaWdjYXB0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG4gIC5hbGlnbnJpZ2h0IGZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuc2xpY2stdHJhY2s6YmVmb3JlLCAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLWxpc3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcIi4uL2ltYWdlcy9hamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLXByZXY6aG92ZXIsIC5zbGljay1wcmV2OmZvY3VzLFxuICAuc2xpY2stbmV4dDpob3ZlcixcbiAgLnNsaWNrLW5leHQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLCAuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbiAgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSxcbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGkFwiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICAgIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjcwO1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uYnV0dG9uLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4uYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbjpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IC43NXJlbSAycmVtIC44cmVtO1xuICBmb250LWZhbWlseTogXCJVbmljYSBPbmVcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMmY0ODU4O1xuICBjb2xvcjogIzJmNDg1ODsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLmJ1dHRvbjpmb2N1cywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMge1xuICAgICAgcGFkZGluZy10b3A6IC43cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC5idXR0b246Zm9jdXMsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAuNTVyZW07XG4gICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICAuaW9zIC5idXR0b24sIC5pb3MgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmlvcyBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmlvcyBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5pb3MgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAuaW9zIC5idXR0b246Zm9jdXMsIC5pb3MgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLmlvcyBidXR0b246Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmlvcyBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5pb3MgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICBwYWRkaW5nLXRvcDogLjdyZW07IH1cbiAgLm5vLWlvcyAuYnV0dG9uOmhvdmVyLCAubm8taW9zIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5uby1pb3MgYnV0dG9uOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5uby1pb3MgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAubm8taW9zIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogIzJmNDg1ODsgfVxuICAuYnV0dG9uIC5pY29uLXdyYXAtYXJ3LCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0gLmljb24td3JhcC1hcncsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiAuaWNvbi13cmFwLWFydyxcbiAgLmJ1dHRvbjpmb2N1cyAuaWNvbi13cmFwLWFydyxcbiAgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1c1t0eXBlPVwic3VibWl0XCJdIC5pY29uLXdyYXAtYXJ3LFxuICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMgLmljb24td3JhcC1hcncge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDNweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmJ1dHRvbiAuaWNvbi13cmFwLWFydywgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIC5pY29uLXdyYXAtYXJ3LCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24gLmljb24td3JhcC1hcncsXG4gICAgICAuYnV0dG9uOmZvY3VzIC5pY29uLXdyYXAtYXJ3LFxuICAgICAgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1c1t0eXBlPVwic3VibWl0XCJdIC5pY29uLXdyYXAtYXJ3LFxuICAgICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIC5pY29uLXdyYXAtYXJ3IHtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICBoZWlnaHQ6IDIxcHg7IH0gfVxuICAgIC5idXR0b24gLmljb24td3JhcC1hcncgcGF0aCwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIC5pY29uLXdyYXAtYXJ3IHBhdGgsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiAuaWNvbi13cmFwLWFydyBwYXRoLFxuICAgIC5idXR0b246Zm9jdXMgLmljb24td3JhcC1hcncgcGF0aCxcbiAgICAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0gLmljb24td3JhcC1hcncgcGF0aCxcbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246Zm9jdXMgLmljb24td3JhcC1hcncgcGF0aCB7XG4gICAgICBmaWxsOiAjMmY0ODU4OyB9XG4gIC5uby1pb3MgLmJ1dHRvbjpob3ZlciAuaWNvbi13cmFwLWFydyBwYXRoLCAubm8taW9zIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSAuaWNvbi13cmFwLWFydyBwYXRoLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLm5vLWlvcyBidXR0b246aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSAuaWNvbi13cmFwLWFydyBwYXRoLCAubm8taW9zIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciAuaWNvbi13cmFwLWFydyBwYXRoLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAubm8taW9zIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciAuaWNvbi13cmFwLWFydyBwYXRoIHtcbiAgICBmaWxsOiAjZmZmOyB9XG5cbi5zaXRlcy1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMmY0ODU4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3gtc2hhZG93OiAwIC0ycHggMCByZ2JhKDAsIDAsIDAsIDAuMikgaW5zZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5idG4tcGRmIHtcbiAgbWFyZ2luOiAwIDVweCAxMHB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogI0JDNjYzMTsgfVxuICAuYnRuLXBkZjpob3ZlciB7XG4gICAgY29sb3I6ICNCQzY2MzE7IH1cbiAgLmJ0bi1wZGYgLmljb24td3JhcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgICBtYXJnaW46IDAgMTVweCAwIDA7IH1cblxuLmRlc3RpbmF0aW9uLXJvdyB7XG4gIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTU1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjYyNWVtKSB7XG4gICAgLmRlc3RpbmF0aW9uLXJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogLS41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtLjVyZW07IH0gfVxuXG4uZGVzdGluYXRpb24ge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIG1pbi1oZWlnaHQ6IDE4MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmRlc3RpbmF0aW9uIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI0MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfSB9XG5cbi5kZXN0aW5hdGlvbi1tYXAge1xuICBtaW4taGVpZ2h0OiAwO1xuICBtYXJnaW46IDAgMCAycmVtIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZGVzdGluYXRpb24tbWFwOjpiZWZvcmUsIC5kZXN0aW5hdGlvbi1tYXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuZGVzdGluYXRpb24tbWFwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZGVzdGluYXRpb24tbWFwIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDMzMHB4O1xuICAgICAgbWFyZ2luOiAwIC41cmVtIDFyZW0gLjVyZW07XG4gICAgICBwYWRkaW5nOiAuN3JlbSAuNXJlbSAwIC41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDguNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmRlc3RpbmF0aW9uLW1hcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmRlc3RpbmF0aW9uLW1hcCBhIHtcbiAgICBjb2xvcjogI0JDNjYzMTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtc2l6ZTogMC45NDQ0NHJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZGVzdGluYXRpb24tbWFwIGEge1xuICAgICAgICBmb250LXNpemU6IDEuMTExMTFyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGVzdGluYXRpb24tbWFwIGEge1xuICAgICAgICBmb250LXNpemU6IDEuMTExMTFyZW07IH0gfVxuICAuZGVzdGluYXRpb24tbWFwIC5pY29uLXdyYXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luOiA3cHggMTVweCAwIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmRlc3RpbmF0aW9uLW1hcCAuaWNvbi13cmFwIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIGhlaWdodDogMTM0cHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGVzdGluYXRpb24tbWFwIC5pY29uLXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmRlc3RpbmF0aW9uLW1hcCAudGV4dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDNweDsgfSB9XG5cbi5kZXN0aW5hdGlvbi1tYXBjYXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy90Y2MtY2F0ZWdvcnktZGVmYXVsdC5qcGcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmRlc3RpbmF0aW9uLW1hcGNhdCB7XG4gICAgICBtaW4taGVpZ2h0OiAzMzBweDtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtOyB9IH1cbiAgLmRlc3RpbmF0aW9uLW1hcGNhdC5kZXN0aW5hdGlvbi1hY3Rpdml0eSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy90Y2MtYWN0aXZpdHktZGVmYXVsdC5qcGcpOyB9XG4gIC5kZXN0aW5hdGlvbi1tYXBjYXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgICBib3R0b206IDEwcHg7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAycHggc29saWQgI2RlZTVlNTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5kZXN0aW5hdGlvbi1tYXBjYXQuZmxpcHBlZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmRlc3RpbmF0aW9uLW1hcGNhdC5mbGlwcGVkOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmRlc3RpbmF0aW9uLW1hcGNhdC5mbGlwcGVkIC5oZHIge1xuICAgICAgcGFkZGluZzogLjVyZW0gMCAwIDA7XG4gICAgICBjb2xvcjogIzJmNDg1ODtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuMjIyMjJyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQuZmxpcHBlZCAuaGRyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMzMzMzNyZW07IH0gfVxuICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQuZmxpcHBlZCAuZmxpcC10b2dnbGUgLmxpbmUtaG9yaXoge1xuICAgICAgc3Ryb2tlOiAjMmY0ODU4OyB9XG4gICAgLmRlc3RpbmF0aW9uLW1hcGNhdC5mbGlwcGVkIC5mbGlwLXRvZ2dsZSAubGluZS12ZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZGVzdGluYXRpb24tbWFwY2F0LmZsaXBwZWQgLmZsaXAtdG9nZ2xlIC5jaXJjbGUge1xuICAgICAgZmlsbDogI2RkZDsgfVxuICAgIC5uby1pb3MgLmRlc3RpbmF0aW9uLW1hcGNhdC5mbGlwcGVkIC5mbGlwLXRvZ2dsZSBzdmc6aG92ZXIgLmNpcmNsZSB7XG4gICAgICBmaWxsOiAjY2NjOyB9XG4gICAgLmRlc3RpbmF0aW9uLW1hcGNhdC5mbGlwcGVkIC5mbGlwLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZmxpcC10b2dnbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIHotaW5kZXg6IDU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICAvKiBpZTExIGZpeCAtIHN0b3AgbW92ZW1lbnQgb24gY2xpY2sgKi8gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZGVzdGluYXRpb24tbWFwY2F0IC5mbGlwLXRvZ2dsZSB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7IH0gfVxuICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmZsaXAtdG9nZ2xlIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLm5vLWlvcyAuZGVzdGluYXRpb24tbWFwY2F0IC5mbGlwLXRvZ2dsZSBzdmc6aG92ZXIgLmNpcmNsZSB7XG4gICAgICBmaWxsOiAjZWU2NjAwOyB9XG4gICAgLm5vLWlvcyAuZGVzdGluYXRpb24tbWFwY2F0IC5mbGlwLXRvZ2dsZSBzdmcgLmxpbmUtdmVydCxcbiAgICAubm8taW9zIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmZsaXAtdG9nZ2xlIHN2ZyAubGluZS1ob3JpeixcbiAgICAubm8taW9zIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmZsaXAtdG9nZ2xlIHN2ZyAuY2lyY2xlIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAubm8taW9zIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmZsaXAtdG9nZ2xlOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZGVzdGluYXRpb24tbWFwY2F0IC5oZHIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmNzA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmhkciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMTExMXJlbTsgfSB9XG4gIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmZsaXAtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgICAuZGVzdGluYXRpb24tbWFwY2F0IC5mbGlwLWNvbnRlbnQgcCwgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZmxpcC1jb250ZW50IGFkZHJlc3MsIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaWNhbCwgI3RyaWJlLWV2ZW50cyAuZGVzdGluYXRpb24tbWFwY2F0IC5mbGlwLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtZ2NhbCwgI3RyaWJlLWV2ZW50cyAuZGVzdGluYXRpb24tbWFwY2F0IC5mbGlwLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy1nY2FsLCAuZGVzdGluYXRpb24tbWFwY2F0IC5mbGlwLWNvbnRlbnQgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0W3R5cGU9dGV4dF0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAuZGVzdGluYXRpb24tbWFwY2F0IC5mbGlwLWNvbnRlbnQgaW5wdXRbdHlwZT10ZXh0XSwgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZmxpcC1jb250ZW50IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAuZGVzdGluYXRpb24tbWFwY2F0IC5mbGlwLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCAuZGVzdGluYXRpb24tbWFwY2F0IC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWtleXdvcmQtbGFiZWwsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZmxpcC1jb250ZW50IC5zZWFyY2gta2V5d29yZC1sYWJlbCwgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmZsaXAtY29udGVudCAuc2VhcmNoLWtleXdvcmQge1xuICAgICAgY29sb3I6ICMyZjQ4NTg7IH1cbiAgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyxcbiAgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyBwLFxuICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIGFkZHJlc3MsXG4gIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWljYWwsXG4gICN0cmliZS1ldmVudHMgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyAudHJpYmUtZXZlbnRzLWljYWwsXG4gIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsXG4gICN0cmliZS1ldmVudHMgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyAudHJpYmUtZXZlbnRzLWdjYWwsXG4gIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIGlucHV0W3R5cGU9dGV4dF0sXG4gIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyxcbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLFxuICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLFxuICBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLFxuICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLFxuICBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgLnNlYXJjaC1rZXl3b3JkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MsXG4gICAgICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIHAsXG4gICAgICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIGFkZHJlc3MsXG4gICAgICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgICAgI3RyaWJlLWV2ZW50cyAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIC50cmliZS1ldmVudHMtaWNhbCxcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsXG4gICAgICAjdHJpYmUtZXZlbnRzIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgLnRyaWJlLWV2ZW50cy1nY2FsLFxuICAgICAgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbiAgICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIGlucHV0W3R5cGU9dGV4dF0sXG4gICAgICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsXG4gICAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsXG4gICAgICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLFxuICAgICAgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIC5zZWFyY2gta2V5d29yZC1sYWJlbCxcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWtleXdvcmQsXG4gICAgICBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgLnNlYXJjaC1rZXl3b3JkIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyxcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgcCxcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgYWRkcmVzcyxcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWljYWwsXG4gICAgICAjdHJpYmUtZXZlbnRzIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgICAgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtZ2NhbCxcbiAgICAgICN0cmliZS1ldmVudHMgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyAudHJpYmUtZXZlbnRzLWdjYWwsXG4gICAgICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICAgICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgaW5wdXRbdHlwZT10ZXh0XSxcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyxcbiAgICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXNjIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyxcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWtleXdvcmQtbGFiZWwsXG4gICAgICBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc2MgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLFxuICAgICAgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZCxcbiAgICAgIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzYyAuc2VhcmNoLWtleXdvcmQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXN0LWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IC41cmVtIDA7XG4gICAgcGFkZGluZzogLjVyZW0gMXJlbSAuNnJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMmY0ODU4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXN0LWxpbmsge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGVzdGluYXRpb24tbWFwY2F0IC5kZXN0LWxpbmsge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAgIC5uby1pb3MgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzdC1saW5rIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAgIC5uby1pb3MgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzdC1saW5rOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzM2NThhOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc3QtbGluayB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ODg4OXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc3QtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzdC1saW5rIC5pY29uLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIG1hcmdpbjogMCAwIDAgLjFyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc3QtbGluayAuaWNvbi13cmFwIHtcbiAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICBoZWlnaHQ6IDEzcHg7IH0gfVxuICAgIC5kZXN0aW5hdGlvbi1tYXBjYXQgLmRlc3QtbGluay5tYXAtbGluayAuaWNvbi13cmFwIHtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIG1hcmdpbjogMCAuMXJlbSAwIDA7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTFweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmRlc3RpbmF0aW9uLW1hcGNhdCAuZGVzdC1saW5rLm1hcC1saW5rIC5pY29uLXdyYXAge1xuICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgIGhlaWdodDogMTRweDsgfSB9XG5cbi5kZXN0aW5hdGlvbnMtYWN0aW9ucyB7XG4gIG1hcmdpbjogMnJlbSAwIDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5kZXN0aW5hdGlvbnMtYWN0aW9ucyBhIHtcbiAgICBjb2xvcjogIzJmNDg1ODtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGVzdGluYXRpb25zLWFjdGlvbnMgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gICAgLm5vLWlvcyAuZGVzdGluYXRpb25zLWFjdGlvbnMgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzMzNjU4YTsgfVxuICAuZGVzdGluYXRpb25zLWFjdGlvbnMgLmljb24td3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTRweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzhweDtcbiAgICBoZWlnaHQ6IDMzcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmRlc3RpbmF0aW9ucy1hY3Rpb25zIC5pY29uLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0M3B4O1xuICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kZXN0aW5hdGlvbnMtYWN0aW9ucyAuaWNvbi13cmFwIHtcbiAgICAgICAgd2lkdGg6IDQ3cHg7XG4gICAgICAgIGhlaWdodDogNDFweDsgfSB9XG5cbi5oZHItc2x1ZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIC42cmVtIC41cmVtIDA7XG4gIHBhZGRpbmc6IC4zcmVtIC43NXJlbSAuMjVyZW07XG4gIGJhY2tncm91bmQ6ICMzMzY1OGE7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuNjY2NjdyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmhkci1zZWN0aW9uLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZjQ4NTg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaGRyLXNlY3Rpb24td3JhcDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAyMHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjMmY0ODU4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhkci1zZWN0aW9uLXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhkci1zZWN0aW9uLXdyYXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgLmhkci1zZWN0aW9uLXdyYXA6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5oZHItc2VjdGlvbi13cmFwLmhkci1kZXN0aW5hdGlvbi13cmFwIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzU1NTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGRyLXNlY3Rpb24td3JhcC5oZHItZGVzdGluYXRpb24td3JhcDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuaGRyLXNlY3Rpb24td3JhcCAuaGRyLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhkci1zZWN0aW9uLXdyYXAgLmhkci1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5oZHItc2VjdGlvbiB7XG4gIG1hcmdpbjogMCBhdXRvIDFyZW0gYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaGRyLXNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5oZHItc2Vjb25kYXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaGRyLXNlY29uZGFyeTpiZWZvcmUsIC5oZHItc2Vjb25kYXJ5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC02cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjOTk5OyB9XG4gICAgLmhkci1zZWNvbmRhcnk6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgIC5oZHItc2Vjb25kYXJ5OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuLmJveC1mYXEge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICMyZjQ4NTg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJveC1mYXEge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMjBweDsgfSB9XG4gIC5ib3gtZmFxIC5pbm5lciB7XG4gICAgcGFkZGluZzogMS4zcmVtIDEwcHggMTBweCAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWU1ZTU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJveC1mYXEgLmlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAycmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmJveC1mYXEgLmlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSA0cmVtOyB9IH1cbiAgLmJveC1mYXEgLmhkciB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJveC1mYXEgLmhkciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuICAuYm94LWZhcSB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLmJveC1mYXEgbGkge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIHBhZGRpbmc6IDAgMCAxcmVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWU1ZTU7IH1cbiAgICAubm8taW9zLmpzIC5ib3gtZmFxIGxpOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5ib3gtZmFxIGxpLm9wZW4gLnF1ZXN0aW9uIC5pY29uLXdyYXAge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gIC5ib3gtZmFxIC5xdWVzdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJveC1mYXEgLnF1ZXN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7IH0gfVxuICAgIC5ib3gtZmFxIC5xdWVzdGlvbiAuaWNvbi13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJveC1mYXEgLnF1ZXN0aW9uIC5pY29uLXdyYXAge1xuICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgICBsZWZ0OiAtMzVweDtcbiAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICBoZWlnaHQ6IDE5cHg7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmJveC1mYXEgLnF1ZXN0aW9uIC5pY29uLXdyYXAge1xuICAgICAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgICAgIGhlaWdodDogMjFweDsgfSB9XG4gICAgICAuYm94LWZhcSAucXVlc3Rpb24gLmljb24td3JhcCBwYXRoIHtcbiAgICAgICAgZmlsbDogI2Y3MDsgfVxuICAuYm94LWZhcSAuYW5zd2VyIHtcbiAgICBtYXJnaW46IC41cmVtIDAgMCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ib3gtZmFxIC5hbnN3ZXIge1xuICAgICAgICBtYXJnaW46IC41cmVtIDAgMCAzcmVtOyB9IH1cbiAgICAuYm94LWZhcSAuYW5zd2VyIHAsIC5ib3gtZmFxIC5hbnN3ZXIgYWRkcmVzcywgLmJveC1mYXEgLmFuc3dlciAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaWNhbCwgI3RyaWJlLWV2ZW50cyAuYm94LWZhcSAuYW5zd2VyIC50cmliZS1ldmVudHMtaWNhbCxcbiAgICAuYm94LWZhcSAuYW5zd2VyICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1nY2FsLCAjdHJpYmUtZXZlbnRzIC5ib3gtZmFxIC5hbnN3ZXIgLnRyaWJlLWV2ZW50cy1nY2FsLCAuYm94LWZhcSAuYW5zd2VyIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dFt0eXBlPXRleHRdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gLmJveC1mYXEgLmFuc3dlciBpbnB1dFt0eXBlPXRleHRdLCAuYm94LWZhcSAuYW5zd2VyIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAuYm94LWZhcSAuYW5zd2VyIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgLmJveC1mYXEgLmFuc3dlciBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYm94LWZhcSAuYW5zd2VyIC5zZWFyY2gta2V5d29yZC1sYWJlbCwgLmJveC1mYXEgLmFuc3dlciBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYm94LWZhcSAuYW5zd2VyIC5zZWFyY2gta2V5d29yZCB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLmJveC1mYXEgLmFuc3dlciBwOmxhc3QtY2hpbGQsIC5ib3gtZmFxIC5hbnN3ZXIgYWRkcmVzczpsYXN0LWNoaWxkLCAuYm94LWZhcSAuYW5zd2VyICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsOmxhc3QtY2hpbGQsICN0cmliZS1ldmVudHMgLmJveC1mYXEgLmFuc3dlciAudHJpYmUtZXZlbnRzLWljYWw6bGFzdC1jaGlsZCxcbiAgICAuYm94LWZhcSAuYW5zd2VyICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1nY2FsOmxhc3QtY2hpbGQsICN0cmliZS1ldmVudHMgLmJveC1mYXEgLmFuc3dlciAudHJpYmUtZXZlbnRzLWdjYWw6bGFzdC1jaGlsZCwgLmJveC1mYXEgLmFuc3dlciBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQ6bGFzdC1jaGlsZFt0eXBlPXRleHRdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gLmJveC1mYXEgLmFuc3dlciBpbnB1dDpsYXN0LWNoaWxkW3R5cGU9dGV4dF0sIC5ib3gtZmFxIC5hbnN3ZXIgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlsczpsYXN0LWNoaWxkLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmJveC1mYXEgLmFuc3dlciAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHM6bGFzdC1jaGlsZCwgLmJveC1mYXEgLmFuc3dlciBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbDpsYXN0LWNoaWxkLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5ib3gtZmFxIC5hbnN3ZXIgLnNlYXJjaC1rZXl3b3JkLWxhYmVsOmxhc3QtY2hpbGQsIC5ib3gtZmFxIC5hbnN3ZXIgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWtleXdvcmQ6bGFzdC1jaGlsZCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYm94LWZhcSAuYW5zd2VyIC5zZWFyY2gta2V5d29yZDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuYm94LWZhcSAuYW5zd2VyIGEge1xuICAgICAgY29sb3I6ICNmNzA7IH1cblxuLmZlYXR1cmVkLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGhlaWdodDogNS41NTU1NnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvIHtcbiAgICAgIGhlaWdodDogMTEuMTExMTFyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8ge1xuICAgICAgaGVpZ2h0OiAyMi4yMjIyMnJlbTsgfSB9XG5cbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5idXR0b24sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbi5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpmb2N1cywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuICAubm8taW9zIC5idXR0b246aG92ZXIsIC5uby1pb3MgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLm5vLWlvcyBidXR0b246aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLm5vLWlvcyBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b246aG92ZXIsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC5uby1pb3MgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYS5lbXBoYXNpcyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5uby1pb3MgYS5lbXBoYXNpcyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgIC5uby1pb3MgYS5lbXBoYXNpczpob3ZlciB7XG4gICAgICBjb2xvcjogIzc2YWE0MjsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNDBweCAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogcHJldiwgbmV4dCAqLyB9XG4gICAgLnBhZ2luYXRpb24gbGkgYSxcbiAgICAucGFnaW5hdGlvbiBsaSAuY3VycmVudCB7XG4gICAgICBtYXJnaW46IDVweCAxMHB4O1xuICAgICAgcGFkZGluZzogMCA1cHggNXB4O1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAjNjU4Y2E1OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucGFnaW5hdGlvbiBsaSBhLFxuICAgICAgICAucGFnaW5hdGlvbiBsaSAuY3VycmVudCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wYWdpbmF0aW9uIGxpIGEsXG4gICAgICAgIC5wYWdpbmF0aW9uIGxpIC5jdXJyZW50IHtcbiAgICAgICAgICBmb250LXNpemU6IDI4cHg7IH0gfVxuICAgICAgYXQtcm9vdCAubm8taW9zIC5wYWdpbmF0aW9uIGxpIGE6aG92ZXIsIGF0LXJvb3QgLm5vLWlvc1xuICAgICAgLnBhZ2luYXRpb24gbGkgLmN1cnJlbnQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAubm8taW9zIC5wYWdpbmF0aW9uIGxpIGEge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgLm5vLWlvcyAucGFnaW5hdGlvbiBsaSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICMzMzY1OGE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpIC5jdXJyZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogIzMzNjU4YTtcbiAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjMzM2NThhOyB9XG4gICAgLnBhZ2luYXRpb24gbGkgLnByZXYsXG4gICAgLnBhZ2luYXRpb24gbGkgLm5leHQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAgIC5uby1pb3MgLnBhZ2luYXRpb24gbGkgLnByZXY6aG92ZXIsIC5uby1pb3NcbiAgICAgIC5wYWdpbmF0aW9uIGxpIC5uZXh0OmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnBhZ2luYXRpb24gbGkgLnByZXYgLnRleHQsXG4gICAgICAucGFnaW5hdGlvbiBsaSAubmV4dCAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5wYWdpbmF0aW9uIGxpIC5wcmV2OmJlZm9yZSxcbiAgICAgIC5wYWdpbmF0aW9uIGxpIC5uZXh0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLWFydy1iaWcuc3ZnKSBuby1yZXBlYXQ7IH1cbiAgICAucGFnaW5hdGlvbiBsaSAucHJldiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAgIC5wYWdpbmF0aW9uIGxpIC5wcmV2OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAucGFnaW5hdGlvbiBsaSAubmV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4uc3ByaXRlcyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3ByaXRlcyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5zcHJpdGVzIC5zcHJpdGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIC5zcHJpdGVzIC5ob3Jpei0xLnNwcml0ZS1sZWZ0IHtcbiAgICBsZWZ0OiAwOyB9XG4gIC5zcHJpdGVzIC5ob3Jpei0xLnNwcml0ZS1yaWdodCB7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnNwcml0ZXMgLmhvcml6LTIuc3ByaXRlLWxlZnQge1xuICAgIGxlZnQ6IC0xJTsgfVxuICAuc3ByaXRlcyAuaG9yaXotMi5zcHJpdGUtcmlnaHQge1xuICAgIHJpZ2h0OiAtMSU7IH1cbiAgLnNwcml0ZXMgLmhvcml6LTMuc3ByaXRlLWxlZnQge1xuICAgIGxlZnQ6IDIlOyB9XG4gIC5zcHJpdGVzIC5ob3Jpei0zLnNwcml0ZS1yaWdodCB7XG4gICAgcmlnaHQ6IDIlOyB9XG4gIC5zcHJpdGVzIC52ZXJ0LTEuc3ByaXRlLWxlZnQge1xuICAgIHRvcDogMTAlOyB9XG4gIC5zcHJpdGVzIC52ZXJ0LTEuc3ByaXRlLXJpZ2h0IHtcbiAgICBib3R0b206IDEwJTsgfVxuICAuc3ByaXRlcyAudmVydC0yLnNwcml0ZS1sZWZ0IHtcbiAgICB0b3A6IDIwJTsgfVxuICAuc3ByaXRlcyAudmVydC0yLnNwcml0ZS1yaWdodCB7XG4gICAgYm90dG9tOiAyMCU7IH1cbiAgLnNwcml0ZXMgLnZlcnQtMy5zcHJpdGUtbGVmdCB7XG4gICAgdG9wOiAzMCU7IH1cbiAgLnNwcml0ZXMgLnZlcnQtMy5zcHJpdGUtcmlnaHQge1xuICAgIGJvdHRvbTogMzAlOyB9XG4gIC5zcHJpdGVzIC5zcHJpdGUtbGVmdCB7XG4gICAgbGVmdDogLTUwcHg7XG4gICAgdG9wOiAxMCU7IH1cbiAgLnNwcml0ZXMgLnNwcml0ZS0xIHtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgaGVpZ2h0OiAzMDZweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZS1iYWxsb29uLnN2Zyk7IH1cbiAgICAuc3ByaXRlcyAuc3ByaXRlLTEuc2l6ZS0xIHtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGhlaWdodDogMjkwcHg7IH1cbiAgICAuc3ByaXRlcyAuc3ByaXRlLTEuc2l6ZS0yIHtcbiAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgIGhlaWdodDogMzA2cHg7IH1cbiAgICAuc3ByaXRlcyAuc3ByaXRlLTEuc2l6ZS0zIHtcbiAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgIGhlaWdodDogNDQ1cHg7IH1cbiAgLnNwcml0ZXMgLnNwcml0ZS0yIHtcbiAgICB3aWR0aDogMjIzcHg7XG4gICAgaGVpZ2h0OiAxNzZweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZS1zZWFndWxsLnN2Zyk7IH1cbiAgICAuc3ByaXRlcyAuc3ByaXRlLTIuc2l6ZS0xIHtcbiAgICAgIHdpZHRoOiAyMjNweDtcbiAgICAgIGhlaWdodDogMTc2cHg7IH1cbiAgICAuc3ByaXRlcyAuc3ByaXRlLTIuc2l6ZS0yIHtcbiAgICAgIHdpZHRoOiAzMjNweDtcbiAgICAgIGhlaWdodDogMjU1cHg7IH1cbiAgICAuc3ByaXRlcyAuc3ByaXRlLTIuc2l6ZS0zIHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIGhlaWdodDogMzE2cHg7IH1cbiAgLnNwcml0ZXMgLnNwcml0ZS1yaWdodCB7XG4gICAgcmlnaHQ6IC01MHB4O1xuICAgIGJvdHRvbTogMTAlOyB9XG4gIC5zcHJpdGVzIC5zcHJpdGUtMTAge1xuICAgIHdpZHRoOiAyNzFweDtcbiAgICBoZWlnaHQ6IDE3NHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3ByaXRlLWNsb3VkLWxhZGxlLnN2Zyk7IH1cbiAgICAuc3ByaXRlcyAuc3ByaXRlLTEwLnNpemUtMSB7XG4gICAgICB3aWR0aDogMjcxcHg7XG4gICAgICBoZWlnaHQ6IDE3NHB4OyB9XG4gICAgLnNwcml0ZXMgLnNwcml0ZS0xMC5zaXplLTIge1xuICAgICAgd2lkdGg6IDM3MXB4O1xuICAgICAgaGVpZ2h0OiAyMzlweDsgfVxuICAgIC5zcHJpdGVzIC5zcHJpdGUtMTAuc2l6ZS0zIHtcbiAgICAgIHdpZHRoOiA0MjBweDtcbiAgICAgIGhlaWdodDogMjcxcHg7IH1cbiAgLnNwcml0ZXMgLnNwcml0ZS0xMSB7XG4gICAgd2lkdGg6IDM3MnB4O1xuICAgIGhlaWdodDogMjIxcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zcHJpdGUtY2xvdWQtc2lsdmVyd2FyZS5zdmcpOyB9XG4gICAgLnNwcml0ZXMgLnNwcml0ZS0xMS5zaXplLTEge1xuICAgICAgd2lkdGg6IDM3MnB4O1xuICAgICAgaGVpZ2h0OiAyMjFweDsgfVxuICAgIC5zcHJpdGVzIC5zcHJpdGUtMTEuc2l6ZS0yIHtcbiAgICAgIHdpZHRoOiA0NzJweDtcbiAgICAgIGhlaWdodDogMjgwcHg7IH1cbiAgICAuc3ByaXRlcyAuc3ByaXRlLTExLnNpemUtMyB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBoZWlnaHQ6IDIzN3B4OyB9XG5cbi5hbmltLTEge1xuICBhbmltYXRpb246IGZsb2F0LTEgMjBzIGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZsb2F0LTEge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI1cHgsIC0xMDBweCkgcm90YXRlKDEwZGVnKTsgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1cHgsIDEwMHB4KSByb3RhdGUoLTEwZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwcHgsIC0xMDBweCkgcm90YXRlKDEwZGVnKTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1cHgsIDEwMHB4KSByb3RhdGUoLTEwZGVnKTsgfSB9XG5cbi5hbmltLTIge1xuICBhbmltYXRpb246IGZsb2F0LTIgMTVzIGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZsb2F0LTIge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTBweCwgMTUwcHgpIHJvdGF0ZSg1ZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MHB4LCAtMjAwcHgpIHJvdGF0ZSgtNWRlZyk7IH0gfVxuXG4uYW5pbS0zIHtcbiAgYW5pbWF0aW9uOiBmbG9hdC0zIDE1cyBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cblxuQGtleWZyYW1lcyBmbG9hdC0zIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDc1cHgsIDUwcHgpIHJvdGF0ZSgxMGRlZyk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNzVweCwgLTEwMHB4KSByb3RhdGUoLTEwZGVnKTsgfSB9XG5cbi5hbmltLTQge1xuICBhbmltYXRpb246IGZsb2F0LTQgMTVzIGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZsb2F0LTQge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSg1ZGVnKSBzY2FsZSgwLjcpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwcHgsIDUwcHgpIHJvdGF0ZSgtNWRlZykgc2NhbGUoMS4yKTsgfSB9XG5cbi5hbmltLTUge1xuICBhbmltYXRpb246IGZsb2F0LTUgMTVzIGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZsb2F0LTUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSg1ZGVnKSBzY2FsZSgwLjgpOyB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwcHgsIC0xMDBweCkgcm90YXRlKC01ZGVnKSBzY2FsZSgxKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwcHgsIDIwMHB4KSByb3RhdGUoNWRlZykgc2NhbGUoMC44KTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMHB4LCAtNTBweCkgcm90YXRlKC01ZGVnKSBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDVkZWcpIHNjYWxlKDAuOCk7IH0gfVxuXG4uYW5pbS02LCAuc3ByaXRlcyAuc3ByaXRlLWxlZnQge1xuICBhbmltYXRpb246IGZsb2F0LTYgMTYwcyBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cblxuQGtleWZyYW1lcyBmbG9hdC02IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSBzY2FsZSgxKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgNzAwcHgpIHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSBzY2FsZSgxKTsgfSB9XG5cbi5hbmltLTcsIC5zcHJpdGVzIC5zcHJpdGUtcmlnaHQge1xuICBhbmltYXRpb246IGZsb2F0LTcgMTYwcyBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cblxuQGtleWZyYW1lcyBmbG9hdC03IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSBzY2FsZSgxKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTcwMHB4KSBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgc2NhbGUoMSk7IH0gfVxuXG4uYnJlYWtwb2ludHMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogNXB4O1xuICBsZWZ0OiA1cHg7XG4gIHotaW5kZXg6IDUwMDA7XG4gIHBhZGRpbmc6IC4yNWVtIC41ZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjNjY2O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAuMWVtOyB9XG5cbi5mb290ZXIge1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvb3RlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuLmZ0ci1zb2NpYWwge1xuICBtYXJnaW46IDAgMCA1MHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZnRyLXNvY2lhbCBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDM4cHg7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIG1hcmdpbjogNXB4O1xuICAgIG9wYWNpdHk6IC44OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mdHItc29jaWFsIGEge1xuICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgaGVpZ2h0OiA0MnB4OyB9IH1cbiAgICAubm8taW9zIC5mdHItc29jaWFsIGEge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgLm5vLWlvcyAuZnRyLXNvY2lhbCBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuXG4vKiB0cmF2ZWwgbm90aWNlICovXG4uZm9vdGVyIGJ1dHRvbi53YXJuaW5nIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAuNXJlbSAxcmVtIC42cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ubW9kYWwtdHJhdmVsIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIGNvbG9yOiAjZWU2NjAwOyB9XG5cbi5mdHItbmF2IHtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mdHItbmF2IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZ0ci1uYXYge1xuICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cbiAgLmZ0ci1uYXYgLmhkciB7XG4gICAgbWFyZ2luOiAwIDAgLjVyZW0gMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogI2Y3MDtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjg4ODg5cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZ0ci1uYXYgLmhkciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45NDQ0NHJlbTsgfSB9XG4gICAgLmZ0ci1uYXYgLmhkcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIvL1wiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDhweCAwIDA7IH1cbiAgLmZ0ci1uYXYgLmZ0ci1tZW51IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMC44ODg4OXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZnRyLW5hdiAuZnRyLW1lbnUge1xuICAgICAgICBmb250LXNpemU6IDAuOTQ0NDRyZW07IH0gfVxuICAgIC5mdHItbmF2IC5mdHItbWVudSBsaSB7XG4gICAgICBtYXJnaW46IDAgMCAuMnJlbSAwOyB9XG4gICAgLmZ0ci1uYXYgLmZ0ci1tZW51IGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgICAubm8taW9zIC5mdHItbmF2IC5mdHItbWVudSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmNzA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZnRyLWNvbnRhY3Qge1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAuNXJlbSAwIDAgMDtcbiAgYm9yZGVyLXRvcDogI2NjYyBzb2xpZCAycHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZnRyLWNvbnRhY3Qge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mdHItY29udGFjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAwIDEuNzVyZW07IH0gfVxuXG4uZnRyLWNvbnRhY3QsXG4uZnRyLWNvbnRhY3QgcCxcbi5mdHItY29udGFjdCBhZGRyZXNzLFxuLmZ0ci1jb250YWN0ICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsLFxuI3RyaWJlLWV2ZW50cyAuZnRyLWNvbnRhY3QgLnRyaWJlLWV2ZW50cy1pY2FsLFxuLmZ0ci1jb250YWN0ICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1nY2FsLFxuI3RyaWJlLWV2ZW50cyAuZnRyLWNvbnRhY3QgLnRyaWJlLWV2ZW50cy1nY2FsLFxuLmZ0ci1jb250YWN0IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC5mdHItY29udGFjdCBpbnB1dFt0eXBlPXRleHRdLFxuLmZ0ci1jb250YWN0IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmZ0ci1jb250YWN0IC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyxcbi5mdHItY29udGFjdCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCxcbmJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmZ0ci1jb250YWN0IC5zZWFyY2gta2V5d29yZC1sYWJlbCxcbi5mdHItY29udGFjdCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZCxcbmJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmZ0ci1jb250YWN0IC5zZWFyY2gta2V5d29yZCB7XG4gIGZvbnQtc2l6ZTogMC44ODg4OXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mdHItY29udGFjdCxcbiAgICAuZnRyLWNvbnRhY3QgcCxcbiAgICAuZnRyLWNvbnRhY3QgYWRkcmVzcyxcbiAgICAuZnRyLWNvbnRhY3QgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWljYWwsXG4gICAgI3RyaWJlLWV2ZW50cyAuZnRyLWNvbnRhY3QgLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgIC5mdHItY29udGFjdCAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtZ2NhbCxcbiAgICAjdHJpYmUtZXZlbnRzIC5mdHItY29udGFjdCAudHJpYmUtZXZlbnRzLWdjYWwsXG4gICAgLmZ0ci1jb250YWN0IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAuZnRyLWNvbnRhY3QgaW5wdXRbdHlwZT10ZXh0XSxcbiAgICAuZnRyLWNvbnRhY3QgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyxcbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmZ0ci1jb250YWN0IC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyxcbiAgICAuZnRyLWNvbnRhY3QgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWtleXdvcmQtbGFiZWwsXG4gICAgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuZnRyLWNvbnRhY3QgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLFxuICAgIC5mdHItY29udGFjdCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZCxcbiAgICBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5mdHItY29udGFjdCAuc2VhcmNoLWtleXdvcmQge1xuICAgICAgZm9udC1zaXplOiAwLjk0NDQ0cmVtOyB9IH1cblxuLmZ0ci1hZGRyZXNzIHtcbiAgbWFyZ2luOiAwIDAgLjVyZW0gMDtcbiAgY29sb3I6ICNmNzA7IH1cblxuLmZ0ci1lbWFpbCB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwOyB9XG4gIC5mdHItZW1haWwgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgLm5vLWlvcyAuZnRyLWVtYWlsIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmNzA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZ0ci1sb2dvcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mdHItbG9nb3Mge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuZnRyLWxvZ29zIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDIxMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mdHItbG9nb3MgYSB7XG4gICAgICAgIG1heC13aWR0aDogMjkwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZnRyLWxvZ29zIGEge1xuICAgICAgICBtYXgtd2lkdGg6IDM0MHB4OyB9IH1cblxuLmZ0ci1sZWdhbCB7XG4gIG1hcmdpbjogMnJlbSAwIDFyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2NjYztcbiAgZm9udC1zaXplOiAwLjY2NjY3cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZ0ci1sZWdhbCB7XG4gICAgICBmb250LXNpemU6IDAuNzIyMjJyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mdHItbGVnYWwge1xuICAgICAgZm9udC1zaXplOiAwLjcyMjIycmVtOyB9IH1cbiAgLmZ0ci1sZWdhbCBhIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgLm5vLWlvcyAuZnRyLWxlZ2FsIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMjtcbiAgaGVpZ2h0OiA2OHB4O1xuICBiYWNrZ3JvdW5kOiAjZDE1ZDBmO1xuICAvKlxuICAubG9nby13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgKi8gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaXRlLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDgycHg7IH0gfVxuICAuc2l0ZS1oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTIwcHg7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC4zKSwgcmdiYSgwLCAwLCAwLCAwKSA2MCUpOyB9XG4gIC5zaXRlLWhlYWRlciAubWVudS10b2dnbGUtd3JhcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1lbnUtdG9nZ2xlLXdyYXAge1xuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDsgfSB9XG4gIC5zaXRlLWhlYWRlciAubWVudS10b2dnbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIycHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1lbnUtdG9nZ2xlIHtcbiAgICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gICAgLnNpdGUtaGVhZGVyIC5tZW51LXRvZ2dsZTpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAubm8taW9zIC5zaXRlLWhlYWRlciAubWVudS10b2dnbGUge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgLm5vLWlvcyAuc2l0ZS1oZWFkZXIgLm1lbnUtdG9nZ2xlOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIC5zaXRlLWhlYWRlciAubG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgei1pbmRleDogMjA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA5M3B4O1xuICAgIGhlaWdodDogODFweDtcbiAgICBtYXJnaW4tbGVmdDogLTQ2cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9sb2dvLWVtYmxlbS5zdmcpIG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIC8qXG4gICAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgfVxuICAgIH1cbiAgICAqLyB9XG4gICAgLnNpdGUtaGVhZGVyIC5sb2dvIGltZyB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zaXRlLWhlYWRlciAubG9nbyB7XG4gICAgICAgIHdpZHRoOiA0NTBweDtcbiAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIyNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubG9nbyBpbWcge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLmxvZ28ge1xuICAgICAgICB3aWR0aDogNDg5cHg7XG4gICAgICAgIGhlaWdodDogMTA0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjQ0cHg7IH0gfVxuICAuc2l0ZS1oZWFkZXIgLnNlYXJjaC10b2dnbGUtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5zZWFyY2gtdG9nZ2xlLXdyYXAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH0gfVxuICAuc2l0ZS1oZWFkZXIgLnNlYXJjaC10b2dnbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjFweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luOiA1cHggMCAwIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5zZWFyY2gtdG9nZ2xlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTRweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoLXRvZ2dsZSB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAubm8taW9zIC5zaXRlLWhlYWRlciAuc2VhcmNoLXRvZ2dsZSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgICAubm8taW9zIC5zaXRlLWhlYWRlciAuc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuXG4uaGRyLW1lbnUge1xuICBwYWRkaW5nOiAuNzVyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgYm9yZGVyOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5oZHItbWVudSB7XG4gICAgICB0b3A6IDY5cHggIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhkci1tZW51IHtcbiAgICAgIHRvcDogODJweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNzVyZW07XG4gICAgICAvKiBub3J0aCBlbWJsZW0gKi8gfVxuICAgICAgLmhkci1tZW51OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBtYXJnaW46IDMwcHggMCAzMHB4IDRweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLW5vcnRoLnN2Zykgbm8tcmVwZWF0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGRyLW1lbnUge1xuICAgICAgdG9wOiA4MnB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYWRtaW4tYmFyIC5oZHItbWVudSB7XG4gICAgICB0b3A6IDExNXB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hZG1pbi1iYXIgLmhkci1tZW51IHtcbiAgICAgIHRvcDogMTI4cHggIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFkbWluLWJhciAuaGRyLW1lbnUge1xuICAgICAgdG9wOiAxMTRweCAhaW1wb3J0YW50OyB9IH1cbiAgLmhkci1tZW51IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuICAuaGRyLW1lbnUgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDRweDtcbiAgICBwYWRkaW5nOiAxMnB4IDRweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMS4xMTExMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZHItbWVudSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhkci1tZW51IGEge1xuICAgICAgICBmb250LXNpemU6IDEuMjIyMjJyZW07IH0gfVxuICAgIC5uby1pb3MgLmhkci1tZW51IGE6aG92ZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMTRweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDQ3LCA3MiwgODgsIDApLCByZ2JhKDQ3LCA3MiwgODgsIDApIDQ1JSwgIzJmNDg1OCA0NSUsICMyZjQ4NTgpOyB9XG5cbi5oZHItc2VhcmNoLWZvcm0ge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBib3JkZXI6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmhkci1zZWFyY2gtZm9ybSB7XG4gICAgICB0b3A6IDY5cHggIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhkci1zZWFyY2gtZm9ybSB7XG4gICAgICB0b3A6IDgycHggIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhkci1zZWFyY2gtZm9ybSB7XG4gICAgICB0b3A6IDgycHggIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5hZG1pbi1iYXIgLmhkci1zZWFyY2gtZm9ybSB7XG4gICAgICB0b3A6IDExNXB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hZG1pbi1iYXIgLmhkci1zZWFyY2gtZm9ybSB7XG4gICAgICB0b3A6IDEyOHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hZG1pbi1iYXIgLmhkci1zZWFyY2gtZm9ybSB7XG4gICAgICB0b3A6IDExNHB4ICFpbXBvcnRhbnQ7IH0gfVxuICAuaGRyLXNlYXJjaC1mb3JtIC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5oZHItc2VhcmNoLWZvcm0gLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgLmhkci1zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBwYWRkaW5nOiAwIC41ZW07XG4gICAgZm9udC1zaXplOiAwLjg4ODg5cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYmFja2dyb3VuZDogIzk5OTsgfVxuICAgIC5uby1pb3MgLmhkci1zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAgIC5uby1pb3MgLmhkci1zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2FhYTsgfVxuXG4udGVzdC1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzOyB9XG5cbmJvZHkjdGlueW1jZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA2Ni42NjY2N3JlbTtcbiAgcGFkZGluZzogMS4xMTExMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5nbS1zdHlsZSBkaXYsIC5nbS1zdHlsZSBzcGFuLCAuZ20tc3R5bGUgbGFiZWwsIC5nbS1zdHlsZSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmOyB9XG5cbi5nbS1zdHlsZS1pdy5nbS1zdHlsZS1pdy1jIHtcbiAgbWF4LXdpZHRoOiAyNDBweCAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAyNTBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAzNXB4IDIwcHggMjVweCAhaW1wb3J0YW50OyB9XG4gIC5nbS1zdHlsZS1pdy5nbS1zdHlsZS1pdy1jIGJ1dHRvbiB7XG4gICAgdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICByaWdodDogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuZ20tc3R5bGUtaXcuZ20tc3R5bGUtaXctYyBidXR0b24gaW1nIHtcbiAgICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDsgfVxuICAuZ20tc3R5bGUtaXcuZ20tc3R5bGUtaXctYyAuZ20tc3R5bGUtaXctZCB7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLmdtLWluZm8ge1xuICAvKlxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xyXG5cdH1cclxuXHQqLyB9XG4gIC5nbS1pbmZvIC5sb2MtbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGZvbnQtc2l6ZTogMC44ODg4OXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5nbS1pbmZvIC5sb2MtY29udGFjdCB7XG4gICAgZm9udC1zaXplOiAwLjc3Nzc4cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgLmdtLWluZm8gLmxvYy1wYWdlIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgICAuZ20taW5mbyAubG9jLXBhZ2UgYSB7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5iaC1zbC1lcnJvciB7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgY29sb3I6ICNhZTIxMTg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5iaC1zbC1jb250YWluZXIgLmJoLXNsLWxvYWRpbmcge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2FqYXgtbG9hZGVyLmdpZikgbm8tcmVwZWF0O1xuICBtYXJnaW46IDRweCAwIDAgMTBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDsgfVxuXG4vKiBBdm9pZCBpbWFnZSBpc3N1ZXMgd2l0aCBHb29nbGUgTWFwcyBhbmQgQ1NTIHJlc2V0cyAqL1xuLmJoLXNsLW1hcC1jb250YWluZXIgaW1nIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmJoLXNsLW1hcC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDY2LjY2NjY3cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5iaC1zbC1tYXAtY29udGFpbmVyOjpiZWZvcmUsIC5iaC1zbC1tYXAtY29udGFpbmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJoLXNsLW1hcC1jb250YWluZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uYmgtc2wtbWFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGhlaWdodDogNDMwcHg7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgLmJoLXNsLW1hcDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmgtc2wtbWFwIHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDUzMHB4O1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYmgtc2wtbWFwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5iaC1zbC1tYXAge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLmJoLXNsLW1hcDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmJoLXNsLWxvYy1saXN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGhlaWdodDogNDMwcHg7IH1cbiAgLmJoLXNsLWxvYy1saXN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5iaC1zbC1sb2MtbGlzdCB7XG4gICAgICB3aWR0aDogMzguMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiA1MzBweDsgfVxuICAgICAgLmJoLXNsLWxvYy1saXN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5iaC1zbC1sb2MtbGlzdCB7XG4gICAgICB3aWR0aDogMzEuNjY2NjclO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuYmgtc2wtbG9jLWxpc3Q6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5iaC1zbC1mb3JtLWNvbnRhaW5lciBmb3JtIHtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2N3JlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuYmgtc2wtZm9ybS1jb250YWluZXIgZm9ybTo6YmVmb3JlLCAuYmgtc2wtZm9ybS1jb250YWluZXIgZm9ybTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBmb3JtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmJoLXNsLWZvcm0taW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICAuYmgtc2wtZm9ybS1pbnB1dDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmJoLXNsLWZvcm0taW5wdXQgLmJoLXNsLWZvcm0taW5wdXQtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmgtc2wtZm9ybS1pbnB1dCB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuYmgtc2wtZm9ybS1pbnB1dDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAuYmgtc2wtZm9ybS1pbnB1dCAuYmgtc2wtZm9ybS1pbnB1dC1ncm91cCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNSU7IH1cbiAgICAgIC5iaC1zbC1mb3JtLWlucHV0IC5iaC1zbC1mb3JtLWlucHV0LWdyb3VwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjkzNzVlbSkge1xuICAgIC5iaC1zbC1mb3JtLWlucHV0IHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgICAgIC5iaC1zbC1mb3JtLWlucHV0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5iaC1zbC1mb3JtLWlucHV0IC5iaC1zbC1mb3JtLWlucHV0LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjUlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMi41JTsgfVxuICAgICAgICAuYmgtc2wtZm9ybS1pbnB1dCAuYmgtc2wtZm9ybS1pbnB1dC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmJoLXNsLWZvcm0tc3VibWl0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYmgtc2wtZm9ybS1zdWJtaXQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJoLXNsLWZvcm0tc3VibWl0IHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmJoLXNsLWZvcm0tc3VibWl0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NS45Mzc1ZW0pIHtcbiAgICAuYmgtc2wtZm9ybS1zdWJtaXQge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAgICAgLmJoLXNsLWZvcm0tc3VibWl0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4uYmgtc2wtZmlsdGVycy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICAuYmgtc2wtZmlsdGVycy1jb250YWluZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJoLXNsLWZpbHRlcnMtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuYmgtc2wtZmlsdGVycy1jb250YWluZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjkzNzVlbSkge1xuICAgIC5iaC1zbC1maWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogLTc1JTsgfVxuICAgICAgLmJoLXNsLWZpbHRlcnMtY29udGFpbmVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4uYmgtc2wtZm9ybS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJoLXNsLWZvcm0tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfSB9XG4gIC5iaC1zbC1mb3JtLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWU1ZTU7IH1cbiAgLmJoLXNsLWZvcm0tY29udGFpbmVyIGZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBpbnB1dCxcbiAgLmJoLXNsLWZvcm0tY29udGFpbmVyIHNlbGVjdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIGZvbnQtc2l6ZTogMC44ODg4OXJlbTsgfVxuICAuYmgtc2wtZm9ybS1jb250YWluZXIgaW5wdXRbdHlwZT1cInRleHRcIl06OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAuYmgtc2wtZm9ybS1jb250YWluZXIgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XG4gICAgLmJoLXNsLWZvcm0tY29udGFpbmVyIHNlbGVjdDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICM5OTk7IH1cbiAgLmJoLXNsLWZvcm0tY29udGFpbmVyIGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG4gICAgY29sb3I6ICMyZjQ4NTg7XG4gICAgZm9udC1zaXplOiAwLjg4ODg5cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbi5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAyM3B4O1xuICBwYWRkaW5nOiAuNDVyZW0gMS4yNXJlbSAuNDVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogIzMzNjU4YTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXNpemU6IDEuMDU1NTZyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcbiAgICAgIHRvcDogMzFweDsgfSB9XG5cbi5iaC1zbC1mb3JtLWNvbnRhaW5lciBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5iaC1zbC1mb3JtLWNvbnRhaW5lciBzZWxlY3Qge1xuICBoZWlnaHQ6IDJyZW07IH1cblxuLmJoLXNsLWZpbHRlcnMtY29udGFpbmVyIC5iaC1zbC1maWx0ZXItdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMmY0ODU4O1xuICBmb250LXNpemU6IDAuODg4ODlyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmgtc2wtZmlsdGVycy1jb250YWluZXIgLmJoLXNsLWZpbHRlci10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDAuNzc3NzhyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5iaC1zbC1maWx0ZXJzLWNvbnRhaW5lciAuYmgtc2wtZmlsdGVyLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1LjkzNzVlbSkge1xuICAgIC5iaC1zbC1maWx0ZXJzLWNvbnRhaW5lciAuYmgtc2wtZmlsdGVyLXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uYmgtc2wtZmlsdGVycy1jb250YWluZXIgLmJoLXNsLWZpbHRlcnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmJoLXNsLWZpbHRlcnMtY29udGFpbmVyIC5iaC1zbC1maWx0ZXJzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYmgtc2wtbWFwLWNvbnRhaW5lciBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5iaC1zbC1tYXAtY29udGFpbmVyIGE6YWN0aXZlLCAuYmgtc2wtbWFwLWNvbnRhaW5lciBhOmZvY3VzLCAuYmgtc2wtbWFwLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uYmgtc2wtbG9jLWxpc3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAzcHggM3B4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Mi44MTI1ZW0pIHtcbiAgICAuYmgtc2wtbG9jLWxpc3QgbGkge1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2N3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAuYmgtc2wtbG9jLWxpc3QgbGk6OmJlZm9yZSwgLmJoLXNsLWxvYy1saXN0IGxpOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAuYmgtc2wtbG9jLWxpc3QgbGk6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Mi44MTI1ZW0pIHtcbiAgICAuYmgtc2wtbG9jLWxpc3QgLmxpc3QtbGFiZWwtd3JhcCB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuYmgtc2wtbG9jLWxpc3QgLmxpc3QtbGFiZWwtd3JhcDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzguNzVlbSkge1xuICAgIC5iaC1zbC1sb2MtbGlzdCAubGlzdC1sYWJlbC13cmFwIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5iaC1zbC1sb2MtbGlzdCAubGlzdC1sYWJlbC13cmFwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Mi44MTI1ZW0pIHtcbiAgICAuYmgtc2wtbG9jLWxpc3QgLmxpc3QtZGV0YWlscyB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuYmgtc2wtbG9jLWxpc3QgLmxpc3QtZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzguNzVlbSkge1xuICAgIC5iaC1zbC1sb2MtbGlzdCAubGlzdC1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5iaC1zbC1sb2MtbGlzdCAubGlzdC1kZXRhaWxzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4uYmgtc2wtbG9jLWxpc3Qge1xuICBmb250LXNpemU6IDEzcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgLyogaGFzIHRvIGJlIHNjcm9sbCwgbm90IGF1dG8gKi9cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAvKiBpb3Mgc21vb3RoIHNjcm9sbCAqL1xuICAvKlxyXG5cdC5saXN0LWxhYmVsIHtcclxuXHRcdEBleHRlbmQgcDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdG1pbi13aWR0aDogMTNweDtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0bWFyZ2luOiAwIDAgMXJlbSAwOyBwYWRkaW5nOiAuNXJlbSAuNjZyZW0gLjRyZW07XHJcblx0XHRiYWNrZ3JvdW5kOiAkZGFyay1vcmFuZ2U7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGZvbnQtd2VpZ2h0OiA4MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogM3B4O1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcbiovIH1cbiAgLmJoLXNsLWxvYy1saXN0IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmc6IDAgMXJlbSAwIDEuMjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmgtc2wtbG9jLWxpc3QgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIC43NXJlbTsgfSB9XG4gICAgLmJoLXNsLWxvYy1saXN0IHVsIGxpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICAvKiBBZGRpbmcgdGhpcyB0byBwcmV2ZW50IG1vdmluZyBsaSBlbGVtZW50cyB3aGVuIGFkZGluZyB0aGUgbGlzdC1mb2N1cyBjbGFzcyovXG4gICAgICBib3JkZXItdG9wOiAxcHggZG90dGVkICNiNmMwYzA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMDsgfVxuICAgICAgLmJoLXNsLWxvYy1saXN0IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7IH1cbiAgLmJoLXNsLWxvYy1saXN0IC5saXN0LW1hcmtlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogM3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tbWFwLXBpbi1zaGFkb3cuc3ZnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYmgtc2wtbG9jLWxpc3QgLmxpc3QtbWFya2VyIHtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogNDFweDsgfSB9XG4gIC5iaC1zbC1sb2MtbGlzdCAubGlzdC1mb2N1cyAubGlzdC1tYXJrZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1tYXAtcGluLXNoYWRvdy1mb2N1cy5zdmcpOyB9XG4gIC5iaC1zbC1sb2MtbGlzdCAubGlzdC1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYmgtc2wtbG9jLWxpc3QgLmxvYy1uYW1lIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5iaC1zbC1sb2MtbGlzdCAubG9jLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYmgtc2wtbG9jLWxpc3QgLmxvYy1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4OyB9IH1cbiAgLmJoLXNsLWxvYy1saXN0IHAubG9jLWNvbnRhY3QsIC5iaC1zbC1sb2MtbGlzdCBhZGRyZXNzLmxvYy1jb250YWN0LCAuYmgtc2wtbG9jLWxpc3QgI3RyaWJlLWV2ZW50cyAubG9jLWNvbnRhY3QudHJpYmUtZXZlbnRzLWljYWwsICN0cmliZS1ldmVudHMgLmJoLXNsLWxvYy1saXN0IC5sb2MtY29udGFjdC50cmliZS1ldmVudHMtaWNhbCxcbiAgLmJoLXNsLWxvYy1saXN0ICN0cmliZS1ldmVudHMgLmxvYy1jb250YWN0LnRyaWJlLWV2ZW50cy1nY2FsLCAjdHJpYmUtZXZlbnRzIC5iaC1zbC1sb2MtbGlzdCAubG9jLWNvbnRhY3QudHJpYmUtZXZlbnRzLWdjYWwsIC5iaC1zbC1sb2MtbGlzdCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQubG9jLWNvbnRhY3RbdHlwZT10ZXh0XSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC5iaC1zbC1sb2MtbGlzdCBpbnB1dC5sb2MtY29udGFjdFt0eXBlPXRleHRdLCAuYmgtc2wtbG9jLWxpc3QgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5sb2MtY29udGFjdC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5iaC1zbC1sb2MtbGlzdCAubG9jLWNvbnRhY3QudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIC5iaC1zbC1sb2MtbGlzdCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5sb2MtY29udGFjdC5zZWFyY2gta2V5d29yZC1sYWJlbCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYmgtc2wtbG9jLWxpc3QgLmxvYy1jb250YWN0LnNlYXJjaC1rZXl3b3JkLWxhYmVsLCAuYmgtc2wtbG9jLWxpc3QgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAubG9jLWNvbnRhY3Quc2VhcmNoLWtleXdvcmQsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJoLXNsLWxvYy1saXN0IC5sb2MtY29udGFjdC5zZWFyY2gta2V5d29yZCB7XG4gICAgY29sb3I6ICMyZjQ4NTg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmgtc2wtbG9jLWxpc3QgcC5sb2MtY29udGFjdCwgLmJoLXNsLWxvYy1saXN0IGFkZHJlc3MubG9jLWNvbnRhY3QsIC5iaC1zbC1sb2MtbGlzdCAjdHJpYmUtZXZlbnRzIC5sb2MtY29udGFjdC50cmliZS1ldmVudHMtaWNhbCwgI3RyaWJlLWV2ZW50cyAuYmgtc2wtbG9jLWxpc3QgLmxvYy1jb250YWN0LnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgICAgLmJoLXNsLWxvYy1saXN0ICN0cmliZS1ldmVudHMgLmxvYy1jb250YWN0LnRyaWJlLWV2ZW50cy1nY2FsLCAjdHJpYmUtZXZlbnRzIC5iaC1zbC1sb2MtbGlzdCAubG9jLWNvbnRhY3QudHJpYmUtZXZlbnRzLWdjYWwsIC5iaC1zbC1sb2MtbGlzdCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQubG9jLWNvbnRhY3RbdHlwZT10ZXh0XSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC5iaC1zbC1sb2MtbGlzdCBpbnB1dC5sb2MtY29udGFjdFt0eXBlPXRleHRdLCAuYmgtc2wtbG9jLWxpc3QgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5sb2MtY29udGFjdC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5iaC1zbC1sb2MtbGlzdCAubG9jLWNvbnRhY3QudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIC5iaC1zbC1sb2MtbGlzdCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5sb2MtY29udGFjdC5zZWFyY2gta2V5d29yZC1sYWJlbCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYmgtc2wtbG9jLWxpc3QgLmxvYy1jb250YWN0LnNlYXJjaC1rZXl3b3JkLWxhYmVsLCAuYmgtc2wtbG9jLWxpc3QgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAubG9jLWNvbnRhY3Quc2VhcmNoLWtleXdvcmQsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJoLXNsLWxvYy1saXN0IC5sb2MtY29udGFjdC5zZWFyY2gta2V5d29yZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5iaC1zbC1sb2MtbGlzdCBwLmxvYy1jb250YWN0LCAuYmgtc2wtbG9jLWxpc3QgYWRkcmVzcy5sb2MtY29udGFjdCwgLmJoLXNsLWxvYy1saXN0ICN0cmliZS1ldmVudHMgLmxvYy1jb250YWN0LnRyaWJlLWV2ZW50cy1pY2FsLCAjdHJpYmUtZXZlbnRzIC5iaC1zbC1sb2MtbGlzdCAubG9jLWNvbnRhY3QudHJpYmUtZXZlbnRzLWljYWwsXG4gICAgICAuYmgtc2wtbG9jLWxpc3QgI3RyaWJlLWV2ZW50cyAubG9jLWNvbnRhY3QudHJpYmUtZXZlbnRzLWdjYWwsICN0cmliZS1ldmVudHMgLmJoLXNsLWxvYy1saXN0IC5sb2MtY29udGFjdC50cmliZS1ldmVudHMtZ2NhbCwgLmJoLXNsLWxvYy1saXN0IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dC5sb2MtY29udGFjdFt0eXBlPXRleHRdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gLmJoLXNsLWxvYy1saXN0IGlucHV0LmxvYy1jb250YWN0W3R5cGU9dGV4dF0sIC5iaC1zbC1sb2MtbGlzdCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmxvYy1jb250YWN0LnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmJoLXNsLWxvYy1saXN0IC5sb2MtY29udGFjdC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgLmJoLXNsLWxvYy1saXN0IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmxvYy1jb250YWN0LnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5iaC1zbC1sb2MtbGlzdCAubG9jLWNvbnRhY3Quc2VhcmNoLWtleXdvcmQtbGFiZWwsIC5iaC1zbC1sb2MtbGlzdCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5sb2MtY29udGFjdC5zZWFyY2gta2V5d29yZCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYmgtc2wtbG9jLWxpc3QgLmxvYy1jb250YWN0LnNlYXJjaC1rZXl3b3JkIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgLmJoLXNsLWxvYy1saXN0IC5sb2MtcGFnZSBhLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IC41cmVtIDFyZW0gLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmgtc2wtbG9jLWxpc3QgLmxvYy1wYWdlIGEuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IC4zOHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmJoLXNsLWxvYy1saXN0IC5sb2MtcGFnZSBhLmJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAuMzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgLmJoLXNsLWxvYy1saXN0IC5sb2MtcGFnZSBhLmJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAycHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1hcnctYmlnLnN2Zykgbm8tcmVwZWF0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuYmgtc2wtbG9jLWxpc3QgLmxvYy1wYWdlIGEuYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7IH0gfVxuICAgIC5uby1pb3MgLmJoLXNsLWxvYy1saXN0IC5sb2MtcGFnZSBhLmJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb24tYXJ3LWJpZy13aGl0ZS5zdmcpOyB9XG4gIC5iaC1zbC1sb2MtbGlzdCAuYmgtc2wtY2xvc2UtZGlyZWN0aW9ucy1jb250YWluZXIge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYmgtc2wtbG9jLWxpc3QgLmJoLXNsLWNsb3NlLWRpcmVjdGlvbnMtY29udGFpbmVyIC5iaC1zbC1jbG9zZS1pY29uIHtcbiAgICAgIHJpZ2h0OiA2cHg7XG4gICAgICB0b3A6IDA7IH1cbiAgLmJoLXNsLWxvYy1saXN0IC5iaC1zbC1kaXJlY3Rpb25zLXBhbmVsIHtcbiAgICBtYXJnaW46IDAgMiU7XG4gICAgLyogQXZvaWQgaXNzdWVzIHdpdGggdGFibGUtbGF5b3V0ICovIH1cbiAgICAuYmgtc2wtbG9jLWxpc3QgLmJoLXNsLWRpcmVjdGlvbnMtcGFuZWwgdGFibGUge1xuICAgICAgdGFibGUtbGF5b3V0OiBhdXRvOyB9XG4gICAgLmJoLXNsLWxvYy1saXN0IC5iaC1zbC1kaXJlY3Rpb25zLXBhbmVsIHRhYmxlLCAuYmgtc2wtbG9jLWxpc3QgLmJoLXNsLWRpcmVjdGlvbnMtcGFuZWwgdGQge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IH1cbiAgICAuYmgtc2wtbG9jLWxpc3QgLmJoLXNsLWRpcmVjdGlvbnMtcGFuZWwgdGQge1xuICAgICAgcGFkZGluZzogMXB4OyB9XG4gICAgLmJoLXNsLWxvYy1saXN0IC5iaC1zbC1kaXJlY3Rpb25zLXBhbmVsIC5hZHAtcGxhY2VtYXJrIHtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDsgfVxuICAgIC5iaC1zbC1sb2MtbGlzdCAuYmgtc2wtZGlyZWN0aW9ucy1wYW5lbCAuYWRwLW1hcmtlciB7XG4gICAgICBwYWRkaW5nOiAzcHg7IH1cbiAgLmJoLXNsLWxvYy1saXN0IC5iaC1zbC1ub3Jlc3VsdHMtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjYWUyMTE4O1xuICAgIG1hcmdpbjogMTVweCAxNXB4IDVweCAxNXB4OyB9XG4gIC5iaC1zbC1sb2MtbGlzdCAuYmgtc2wtbm9yZXN1bHRzLWRlc2Mge1xuICAgIG1hcmdpbjogMCAxNXB4OyB9XG5cbi5iaC1zbC1tYXAge1xuICBib3JkZXI6IDEwcHggc29saWQgI2ZmZjtcbiAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuLmJoLXNsLXBhZ2luYXRpb24tY29udGFpbmVyIG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5iaC1zbC1wYWdpbmF0aW9uLWNvbnRhaW5lciBvbCBsaSB7XG4gICAgY29sb3I6ICMwMDUyOTM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBib2xkIDE0cHggXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAuYmgtc2wtcGFnaW5hdGlvbi1jb250YWluZXIgb2wgLmJoLXNsLWN1cnJlbnQge1xuICAgIGN1cnNvcjogYXV0bztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmJoLXNsLXdpZGdldC1zaG9ydGNvZGUtc3R5bGVzIGEsIC5iaC1zbC1tYXAtd2lkZ2V0IGEsIC5iaC1zbC1tYXAtc2hvcnRjb2RlIGEge1xuICBjb2xvcjogIzAwNTI5MztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5iaC1zbC13aWRnZXQtc2hvcnRjb2RlLXN0eWxlcyBhOmFjdGl2ZSwgLmJoLXNsLW1hcC13aWRnZXQgYTphY3RpdmUsIC5iaC1zbC1tYXAtc2hvcnRjb2RlIGE6YWN0aXZlLCAuYmgtc2wtd2lkZ2V0LXNob3J0Y29kZS1zdHlsZXMgYTpmb2N1cywgLmJoLXNsLW1hcC13aWRnZXQgYTpmb2N1cywgLmJoLXNsLW1hcC1zaG9ydGNvZGUgYTpmb2N1cywgLmJoLXNsLXdpZGdldC1zaG9ydGNvZGUtc3R5bGVzIGE6aG92ZXIsIC5iaC1zbC1tYXAtd2lkZ2V0IGE6aG92ZXIsIC5iaC1zbC1tYXAtc2hvcnRjb2RlIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5iaC1zbC1tYXAtd2lkZ2V0IHtcbiAgbWluLWhlaWdodDogMjUwcHg7IH1cblxuLmJoLXNsLW1hcC1zaG9ydGNvZGUge1xuICBtaW4taGVpZ2h0OiA0MDBweDsgfVxuXG4ubWFpbi1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7IH1cblxuLm1haW4tY29udGVudC1jb2x1bW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5tYWluLWNvbnRlbnQtY29sdW1uOjpiZWZvcmUsIC5tYWluLWNvbnRlbnQtY29sdW1uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1haW4tY29udGVudC1jb2x1bW46OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYWluLWNvbnRlbnQtY29sdW1uIHtcbiAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFpbi1jb250ZW50LWNvbHVtbiB7XG4gICAgICBtYXgtd2lkdGg6IDkwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjMxMjVlbSkge1xuICAgIC5tYWluLWNvbnRlbnQtY29sdW1uIHtcbiAgICAgIG1heC13aWR0aDogNjYuNjY2NjdyZW07IH0gfVxuXG4uc2Nyb2xsLWRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDUwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IC0yOHB4OyB9XG4gIC5zY3JvbGwtZG93biBjaXJjbGUge1xuICAgIGZpbGw6ICMzMzY1OGE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2Nyb2xsLWRvd24ge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtNTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNjcm9sbC1kb3duIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTkwcHg7IH0gfVxuICAubm8taW9zIC5zY3JvbGwtZG93biB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgIC5uby1pb3MgLnNjcm9sbC1kb3duOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAuaXMtaWUgLnNjcm9sbC1kb3duIHtcbiAgICBtYXJnaW4tdG9wOiAtMjFweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaXMtaWUgLnNjcm9sbC1kb3duIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTI4cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaXMtaWUgLnNjcm9sbC1kb3duIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTMycHg7IH0gfVxuXG5zZWN0aW9uLmludHJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWFnZXMvaWNvbi12aXN0YS12aWJyYW50LnN2ZykgbGVmdCBib3R0b20gcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTg0ZGVnLCByZ2JhKDk2LCA3NiwgNjIsIDApIDc1JSwgcmdiYSg5NiwgNzYsIDYyLCAwLjgpKSwgdXJsKC4uL2ltYWdlcy9pY29uLXZpc3RhLXZpYnJhbnQuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDIwMHB4O1xuICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSBjYWxjKDEwMCUgLSA3dncpLCAwIDEwMCUpO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gN3Z3KSwgMCAxMDAlKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24uaW50cm8ge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAxJSBhdXRvOyB9IH1cbiAgc2VjdGlvbi5pbnRybzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyMTksIDIxMCwgMjAyLCAwLjkpLCByZ2JhKDIxOSwgMjEwLCAyMDIsIDApKTsgfVxuICBzZWN0aW9uLmludHJvIC5pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogNTBweCAyMHB4IDEwMHB4O1xuICAgIGJhY2tncm91bmQ6ICMzMzMgdXJsKC4uL2ltYWdlcy9iZy1zdW5zZXQtbW91bnRhaW5zLXRyZWVzLmpwZykgbGVmdCB0b3Agbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC0xODRkZWcsIHJnYmEoMCwgMCwgMCwgMCkgMTAlLCByZ2JhKDAsIDAsIDAsIDAuOCkpLCB1cmwoLi4vaW1hZ2VzL2JnLXN1bnNldC1tb3VudGFpbnMtdHJlZXMuanBnKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBzZWN0aW9uLmludHJvIC5pbm5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4NGRlZywgcmdiYSgwLCAwLCAwLCAwLjEpIDEwJSwgcmdiYSgwLCAwLCAwLCAwLjYpKSwgdXJsKC4uL2ltYWdlcy9iZy1zdW5zZXQtbW91bnRhaW5zLXRyZWVzLmpwZyk7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBzZWN0aW9uLmludHJvIC5pbm5lciB7XG4gICAgICAgIG1heC13aWR0aDogNjYuNjY2NjdyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ3NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDBweCAxNjBweCAxMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7IH0gfVxuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1mcm9udC1wYWdlIHNlY3Rpb24uaW50cm8gLmlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYmFubmVyLXN1bnJpc2UtZ3Jhc3MtbW91bnRhaW4tZGsuanBnKTsgfVxuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLWFib3V0IHNlY3Rpb24uaW50cm8gLmlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMTg0ZGVnLCByZ2JhKDAsIDAsIDAsIDApIDEwJSwgcmdiYSgwLCAwLCAwLCAwLjIpKSwgdXJsKC4uL2ltYWdlcy9iZy1mb3Jlc3Qtc3RyZWFtLXdvbWFuLXBldC5qcGcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDsgfVxuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYW5zcG9ydGF0aW9uIHNlY3Rpb24uaW50cm8gLmlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYmctbWFpbnN0cmVldC10aWxsYW1vb2suanBnKTsgfVxuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIHNlY3Rpb24uaW50cm8gLmlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYmctc3Vuc2V0LW1vdXRhaW4tdG9wLWhpa2UuanBnKTsgfVxuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLWFjdGl2aXRpZXMgc2VjdGlvbi5pbnRybyAuaW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9iZy1mb3Jlc3QtaGlrZS1tYW4uanBnKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24uaW50cm8gLmludHJvLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDc1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBzZWN0aW9uLmludHJvIC5pbnRyby1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA2MCU7IH0gfVxuICBzZWN0aW9uLmludHJvIC5oZHIsXG4gIHNlY3Rpb24uaW50cm8gcCxcbiAgc2VjdGlvbi5pbnRybyBhZGRyZXNzLFxuICBzZWN0aW9uLmludHJvICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAjdHJpYmUtZXZlbnRzIHNlY3Rpb24uaW50cm8gLnRyaWJlLWV2ZW50cy1pY2FsLFxuICBzZWN0aW9uLmludHJvICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1nY2FsLFxuICAjdHJpYmUtZXZlbnRzIHNlY3Rpb24uaW50cm8gLnRyaWJlLWV2ZW50cy1nY2FsLFxuICBzZWN0aW9uLmludHJvIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gc2VjdGlvbi5pbnRybyBpbnB1dFt0eXBlPXRleHRdLFxuICBzZWN0aW9uLmludHJvIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsXG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCBzZWN0aW9uLmludHJvIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyxcbiAgc2VjdGlvbi5pbnRybyBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCxcbiAgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCBzZWN0aW9uLmludHJvIC5zZWFyY2gta2V5d29yZC1sYWJlbCxcbiAgc2VjdGlvbi5pbnRybyBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZCxcbiAgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCBzZWN0aW9uLmludHJvIC5zZWFyY2gta2V5d29yZCB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgc2VjdGlvbi5pbnRybyBwOmxhc3QtY2hpbGQsIHNlY3Rpb24uaW50cm8gYWRkcmVzczpsYXN0LWNoaWxkLCBzZWN0aW9uLmludHJvICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsOmxhc3QtY2hpbGQsICN0cmliZS1ldmVudHMgc2VjdGlvbi5pbnRybyAudHJpYmUtZXZlbnRzLWljYWw6bGFzdC1jaGlsZCxcbiAgc2VjdGlvbi5pbnRybyAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtZ2NhbDpsYXN0LWNoaWxkLCAjdHJpYmUtZXZlbnRzIHNlY3Rpb24uaW50cm8gLnRyaWJlLWV2ZW50cy1nY2FsOmxhc3QtY2hpbGQsIHNlY3Rpb24uaW50cm8gYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0Omxhc3QtY2hpbGRbdHlwZT10ZXh0XSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIHNlY3Rpb24uaW50cm8gaW5wdXQ6bGFzdC1jaGlsZFt0eXBlPXRleHRdLCBzZWN0aW9uLmludHJvIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHM6bGFzdC1jaGlsZCwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIHNlY3Rpb24uaW50cm8gLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzOmxhc3QtY2hpbGQsIHNlY3Rpb24uaW50cm8gYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWtleXdvcmQtbGFiZWw6bGFzdC1jaGlsZCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCBzZWN0aW9uLmludHJvIC5zZWFyY2gta2V5d29yZC1sYWJlbDpsYXN0LWNoaWxkLCBzZWN0aW9uLmludHJvIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkOmxhc3QtY2hpbGQsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgc2VjdGlvbi5pbnRybyAuc2VhcmNoLWtleXdvcmQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBzZWN0aW9uLmludHJvIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ucGFnZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IC03dncgMCAwIDA7XG4gIHBhZGRpbmc6IDUwcHggMCAxMDBweDtcbiAgYmFja2dyb3VuZDogI0RCRDJDQSB1cmwoLi4vaW1hZ2VzL2JnLXRyZWUtcmluZ3MucG5nKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMTAwcHggMCAyMDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2Utd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAxNTBweCAwIDMwMHB4OyB9IH1cbiAgLnBhZ2Utd3JhcHBlcjpiZWZvcmUsIC5wYWdlLXdyYXBwZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS13cmFwcGVyOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM2MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgd2hpdGUgODAlKTsgfVxuICAucGFnZS13cmFwcGVyOmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uLWxhbmRzY2FwZS12aWJyYW50LnN2ZyksIGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCB3aGl0ZSA4MCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2Utd3JhcHBlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAxJSBhdXRvOyB9IH1cblxuLnBhZ2Utd3JhcHBlci1mbGF0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiAwcHggMCAxNTBweDtcbiAgYmFja2dyb3VuZDogI0RCRDJDQSB1cmwoLi4vaW1hZ2VzL2JnLXRyZWUtcmluZ3MucG5nKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLXdyYXBwZXItZmxhdCB7XG4gICAgICBwYWRkaW5nOiAwcHggMCAyMDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2Utd3JhcHBlci1mbGF0IHtcbiAgICAgIHBhZGRpbmc6IDBweCAwIDMwMHB4OyB9IH1cbiAgLnBhZ2Utd3JhcHBlci1mbGF0OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhZ2Utd3JhcHBlci1mbGF0OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb24tbGFuZHNjYXBlLXZpYnJhbnQuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjAwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS13cmFwcGVyLWZsYXQ6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uLWxhbmRzY2FwZS12aWJyYW50LnN2ZyksIGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCB3aGl0ZSA4MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMSUgYXV0bzsgfSB9XG5cbi5yb3ctbWFpbiB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yb3ctbWFpbiB7XG4gICAgICBwYWRkaW5nOiA2MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LW1haW4ge1xuICAgICAgcGFkZGluZzogODBweDsgfSB9XG5cbi5wYWdlLXdyYXBwZXItZmxhdCAucm93LW1haW4ge1xuICBwYWRkaW5nOiAzMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS13cmFwcGVyLWZsYXQgLnJvdy1tYWluIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggNjBweCA2MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS13cmFwcGVyLWZsYXQgLnJvdy1tYWluIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggODBweCA4MHB4OyB9IH1cblxuc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG5zZWN0aW9uLmJhc2ljIHtcbiAgbWFyZ2luOiAycmVtIDIwcHggMi41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5iYXNpYyB7XG4gICAgICBtYXJnaW46IDJyZW0gMjBweCAzcmVtOyB9IH1cblxuc2VjdGlvbi5mYXEge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbi5ib3gge1xuICBtYXJnaW46IDJyZW0gMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkICNmZmY7IH1cbiAgLmJveCAuYm94LWlubmVyIHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTVlNTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYm94IC5ib3gtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiA0MHB4OyB9IH1cblxuLmNhdHMge1xuICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2F0cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuXG4uY2F0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgLjZyZW0gLjVyZW0gMDtcbiAgcGFkZGluZzogLjNyZW0gLjc1cmVtIC4yNXJlbTtcbiAgYmFja2dyb3VuZDogIzMzNjU4YTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMC42NjY2N3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBtb2RhbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucmV2ZWFsIHtcbiAgcGFkZGluZzogNTBweCAyNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBwYWRkaW5nOiA1MHB4OyB9IH1cblxuLyogYmFjayB0byB0b3AgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJhY2stdG8tdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDYwcHg7XG4gIHJpZ2h0OiAzMHB4O1xuICB6LWluZGV4OiA1MDtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7IH1cbiAgLm5vLWlvcyAuYmFjay10by10b3A6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmJhY2stdG8tdG9wLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG9wYWNpdHk6IC43OyB9XG4gIC5iYWNrLXRvLXRvcC5zY3JvbGxpbmcge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmJhY2stdG8tdG9wIC5pY29uLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW46IDE2cHggMTVweCAxNXB4OyB9XG5cbi5ob21lIC5tYWluLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaG9tZSAubWFpbi1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ob21lIC5tYWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLmhvbWUgLmNvbnRlbnQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAuaG9tZSAuY29udGVudC13cmFwIHNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi5ob21lIC5mZWF0dXJlZCB7XG4gIG1hcmdpbjogMCAwIDUwcHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ob21lIC5mZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaG9tZSAuZmVhdHVyZWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDsgfSB9XG4gIC5ob21lIC5mZWF0dXJlZCAuZmVhdHVyZWQtaGRyIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZjQ4NTg7IH1cbiAgLmhvbWUgLmZlYXR1cmVkIC5kZXN0aW5hdGlvbi1yb3cge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5ob21lIC5mZWF0dXJlZCAuZGVzdGluYXRpb24tcm93IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmhvbWUgc2VjdGlvbi5kZXN0aW5hdGlvbnMge1xuICBtYXJnaW46IC03dncgMCAwIDA7XG4gIHBhZGRpbmc6IDc1cHggMjBweCA4NXB4O1xuICBiYWNrZ3JvdW5kOiAjREJEMkNBIHVybCguLi9pbWFnZXMvYmctdHJlZS1yaW5ncy5wbmcpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwIGNhbGMoMCUgKyA3dncpLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gN3Z3KSwgMCAxMDAlKTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgY2FsYygwJSArIDd2dyksIDEwMCUgMCwgMTAwJSBjYWxjKDEwMCUgLSA3dncpLCAwIDEwMCUpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhvbWUgc2VjdGlvbi5kZXN0aW5hdGlvbnMge1xuICAgICAgcGFkZGluZzogMTEwcHggMjBweCAxMjBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhvbWUgc2VjdGlvbi5kZXN0aW5hdGlvbnMge1xuICAgICAgcGFkZGluZzogMTkwcHggMzBweCAyMDBweDsgfSB9XG4gIC5ob21lIHNlY3Rpb24uZGVzdGluYXRpb25zOmJlZm9yZSwgLmhvbWUgc2VjdGlvbi5kZXN0aW5hdGlvbnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwMHB4OyB9XG4gIC5ob21lIHNlY3Rpb24uZGVzdGluYXRpb25zOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgzNjBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksIHdoaXRlIDgwJSk7IH1cbiAgLmhvbWUgc2VjdGlvbi5kZXN0aW5hdGlvbnM6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgd2hpdGUgODAlKTsgfVxuICAuaG9tZSBzZWN0aW9uLmRlc3RpbmF0aW9ucyAuaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5ob21lIHNlY3Rpb24uZGVzdGluYXRpb25zIC50YWJzIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTU1O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tZSBzZWN0aW9uLmRlc3RpbmF0aW9ucyAudGFicyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH0gfVxuICAgIC5ob21lIHNlY3Rpb24uZGVzdGluYXRpb25zIC50YWJzIC50YWJzLXRpdGxlIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmhvbWUgc2VjdGlvbi5kZXN0aW5hdGlvbnMgLnRhYnMgYSB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDdweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogXCJVbmljYSBPbmVcIiwgc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMzMzMzNyZW07XG4gICAgICBjb2xvcjogIzJmNDg1ODtcbiAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5ob21lIHNlY3Rpb24uZGVzdGluYXRpb25zIC50YWJzIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDIuMDU1NTZyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUgc2VjdGlvbi5kZXN0aW5hdGlvbnMgLnRhYnMgYSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjIyMjIycmVtOyB9IH1cbiAgICAgIC5ob21lIHNlY3Rpb24uZGVzdGluYXRpb25zIC50YWJzIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgLm5vLWlvcyAuaG9tZSBzZWN0aW9uLmRlc3RpbmF0aW9ucyAudGFicyBhOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAuNjsgfVxuICAgIC5ob21lIHNlY3Rpb24uZGVzdGluYXRpb25zIC50YWJzIC5pcy1hY3RpdmUgYSB7XG4gICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgIzJmNDg1ODtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5ob21lIHNlY3Rpb24uZGVzdGluYXRpb25zIC50YWJzIC5pcy1hY3RpdmUgYSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogOHB4OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5ob21lIHNlY3Rpb24uZGVzdGluYXRpb25zIC50YWJzIC5pcy1hY3RpdmUgYSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTBweDsgfSB9XG4gICAgICAuaG9tZSBzZWN0aW9uLmRlc3RpbmF0aW9ucyAudGFicyAuaXMtYWN0aXZlIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC5uby1pb3MgLmhvbWUgc2VjdGlvbi5kZXN0aW5hdGlvbnMgLnRhYnMgLmlzLWFjdGl2ZSBhOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC5ob21lIHNlY3Rpb24uZGVzdGluYXRpb25zIC50YWJzLWNvbnRlbnQge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAuaG9tZSBzZWN0aW9uLmRlc3RpbmF0aW9ucyAudGFiLWRlc2Mge1xuICAgIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhvbWUgc2VjdGlvbi5kZXN0aW5hdGlvbnMgLnRhYi1kZXNjIHtcbiAgICAgICAgbWFyZ2luOiAwIDMwcHggMzBweCAzMHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUgc2VjdGlvbi5kZXN0aW5hdGlvbnMgLnRhYi1kZXNjIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweCAwOyB9IH1cblxuLmhvbWUgc2VjdGlvbi5iYW5uZXItaG9tZS1taWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMwMHB4O1xuICBtYXJnaW46IC03dncgMCAwIDA7XG4gIGJhY2tncm91bmQ6ICNjY2MgdXJsKC4uL2ltYWdlcy9iZy1zdW5yaXNlLW9jZWFuLXJvY2t5LWNvYXN0LmpwZykgY2VudGVyIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCBjYWxjKDAlICsgN3Z3KSwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDd2dyksIDAgMTAwJSk7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwIGNhbGMoMCUgKyA3dncpLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gN3Z3KSwgMCAxMDAlKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ob21lIHNlY3Rpb24uYmFubmVyLWhvbWUtbWlkZGxlIHtcbiAgICAgIGhlaWdodDogNDUwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ob21lIHNlY3Rpb24uYmFubmVyLWhvbWUtbWlkZGxlIHtcbiAgICAgIGhlaWdodDogNTUwcHg7IH0gfVxuICAubm8taW9zIC5ob21lIHNlY3Rpb24uYmFubmVyLWhvbWUtbWlkZGxlIHtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOyB9XG4gIC5ob21lIHNlY3Rpb24uYmFubmVyLWhvbWUtbWlkZGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBvcGFjaXR5OiAuNDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOyB9XG4gIC5uby1pZSAuaG9tZSBzZWN0aW9uLmJhbm5lci1ob21lLW1pZGRsZTpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2tld1koLTRkZWcpOyB9XG5cbi5ob21lIC5ob21lLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAtN3Z3IDAgMCAwO1xuICBwYWRkaW5nOiAxMDBweCAwIDEwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZGJkMmNhOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhvbWUgLmhvbWUtYm90dG9tIHtcbiAgICAgIHBhZGRpbmc6IDE3NXB4IDAgMjAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ob21lIC5ob21lLWJvdHRvbSB7XG4gICAgICBwYWRkaW5nOiAyNTBweCAwIDMwMHB4OyB9IH1cbiAgLmhvbWUgLmhvbWUtYm90dG9tOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTUwMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1sYW5kc2NhcGUtdmlicmFudC5zdmcpLCBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgd2hpdGUgODAlKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjAwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ob21lIC5ob21lLWJvdHRvbTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAxJSBhdXRvOyB9IH1cblxuLmhvbWUgc2VjdGlvbi5yZWNlbnQtZXZlbnRzIC5yZWNlbnQtZXZlbnRzX19pbm5lciB7XG4gIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIHBhZGRpbmc6IDJyZW0gMS41cmVtIDIuNXJlbSAxLjVyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDJweCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICMzMzY1OGE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaG9tZSBzZWN0aW9uLnJlY2VudC1ldmVudHMgLnJlY2VudC1ldmVudHNfX2lubmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgcGFkZGluZzogMnJlbSAycmVtIDNyZW0gMnJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhvbWUgc2VjdGlvbi5yZWNlbnQtZXZlbnRzIC5yZWNlbnQtZXZlbnRzX19pbm5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNzVweDsgfSB9XG5cbi5ob21lIHNlY3Rpb24ucmVjZW50LWV2ZW50cyAucmVjZW50LWV2ZW50c19faW5uZXItZmVlZC0tZGl2aWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaG9tZSBzZWN0aW9uLnJlY2VudC1ldmVudHMgLnJlY2VudC1ldmVudHNfX2lubmVyLWZlZWQtLWRpdmlkZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzMzNjU4YTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaG9tZSBzZWN0aW9uLnJlY2VudC1ldmVudHMgLnJlY2VudC1ldmVudHNfX2lubmVyLWZlZWQtLWRpdmlkZXI6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ob21lIHNlY3Rpb24ucmVjZW50LWV2ZW50cyAucmVjZW50LWV2ZW50c19faW5uZXItZmVlZC0tZGl2aWRlciAucG9zdC1ldmVudC0tMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07IH0gfVxuICAuaG9tZSBzZWN0aW9uLnJlY2VudC1ldmVudHMgLnJlY2VudC1ldmVudHNfX2lubmVyLWZlZWQtLWRpdmlkZXIgLnBvc3QtZXZlbnQtLTIge1xuICAgIG1hcmdpbi10b3A6IDIuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMzMzY1OGE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhvbWUgc2VjdGlvbi5yZWNlbnQtZXZlbnRzIC5yZWNlbnQtZXZlbnRzX19pbm5lci1mZWVkLS1kaXZpZGVyIC5wb3N0LWV2ZW50LS0yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNyZW07IH0gfVxuXG4uaG9tZSBzZWN0aW9uLnJlY2VudC1ldmVudHMgLmhkci1zZWN0aW9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ob21lIHNlY3Rpb24ucmVjZW50LWV2ZW50cyAuaGRyLXNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG4gIC5ob21lIHNlY3Rpb24ucmVjZW50LWV2ZW50cyAuaGRyLXNlY3Rpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1ldmVudHMuc3ZnKSBuby1yZXBlYXQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhvbWUgc2VjdGlvbi5yZWNlbnQtZXZlbnRzIC5oZHItc2VjdGlvbjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMzlweDtcbiAgICAgICAgaGVpZ2h0OiA0MXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tZSBzZWN0aW9uLnJlY2VudC1ldmVudHMgLmhkci1zZWN0aW9uOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ2cHg7IH0gfVxuXG4uaG9tZSBzZWN0aW9uLnJlY2VudC1ldmVudHMgLmhkci1zbHVnIHtcbiAgbWFyZ2luOiAwIDAgMjVweCAycHg7XG4gIGZvbnQtc2l6ZTogMC42NjY2N3JlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ob21lIHNlY3Rpb24ucmVjZW50LWV2ZW50cyAuaGRyLXNsdWcge1xuICAgICAgZm9udC1zaXplOiAwLjcyMjIycmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaG9tZSBzZWN0aW9uLnJlY2VudC1ldmVudHMgLmhkci1zbHVnIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43Nzc3OHJlbTsgfSB9XG5cbi5ob21lIHNlY3Rpb24ucmVjZW50LWV2ZW50cyAudGl0bGUgYSB7XG4gIGNvbG9yOiAjMmY0ODU4OyB9XG5cbi5ob21lIHNlY3Rpb24ucmVjZW50LWV2ZW50cyAuYnRuLXdyYXAge1xuICBtYXJnaW46IDEuNXJlbSAwIC43NXJlbSAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhvbWUgc2VjdGlvbi5yZWNlbnQtZXZlbnRzIC5idG4td3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmhvbWUgc2VjdGlvbi52aWRlbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaG9tZSBzZWN0aW9uLnZpZGVvIC5pbm5lciB7XG4gICAgcGFkZGluZzogNHJlbSAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICMzMzMgdXJsKC4uL2ltYWdlcy9iZy1ob21lLXZpZGVvLmpwZykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ob21lIHNlY3Rpb24udmlkZW8gLmlubmVyIHtcbiAgICAgICAgcGFkZGluZzogNHJlbSA0cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUgc2VjdGlvbi52aWRlbyAuaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiA5cmVtIDVyZW07IH0gfVxuICAuaG9tZSBzZWN0aW9uLnZpZGVvIC5oZHIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmhvbWUgc2VjdGlvbi52aWRlbyBhIHtcbiAgICBjb2xvcjogI2Y3MDsgfVxuICAuaG9tZSBzZWN0aW9uLnZpZGVvIC5idG4td3JhcCB7XG4gICAgbWFyZ2luOiAycmVtIDAgMCAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ob21lIHNlY3Rpb24udmlkZW8gLmJ0bi13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTsgfSB9XG4gICAgLmhvbWUgc2VjdGlvbi52aWRlbyAuYnRuLXdyYXAgYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubm8taW9zIC5ob21lIHNlY3Rpb24udmlkZW8gLmJ0bi13cmFwIGJ1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAgICAgLm5vLWlvcyAuaG9tZSBzZWN0aW9uLnZpZGVvIC5idG4td3JhcCBidXR0b24gLmljb24td3JhcCB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgICAubm8taW9zIC5ob21lIHNlY3Rpb24udmlkZW8gLmJ0bi13cmFwIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgNnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgICAgICAgIC5uby1pb3MgLmhvbWUgc2VjdGlvbi52aWRlbyAuYnRuLXdyYXAgYnV0dG9uOmhvdmVyIC5pY29uLXdyYXAge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gICAgLmhvbWUgc2VjdGlvbi52aWRlbyAuYnRuLXdyYXAgLmljb24td3JhcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhvbWUgc2VjdGlvbi52aWRlbyAuYnRuLXdyYXAgLmljb24td3JhcCB7XG4gICAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA2NXB4OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5ob21lIHNlY3Rpb24udmlkZW8gLmJ0bi13cmFwIC5pY29uLXdyYXAge1xuICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgIGhlaWdodDogODBweDsgfSB9XG5cbi5ob21lIHNlY3Rpb24uYWJvdXQge1xuICBwYWRkaW5nOiAzLjVyZW0gMCA1LjVyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhvbWUgc2VjdGlvbi5hYm91dCB7XG4gICAgICBwYWRkaW5nOiA2cmVtIDAgMnJlbSAwOyB9IH1cbiAgLmhvbWUgc2VjdGlvbi5hYm91dCAuYWJvdXQtaWNvbiB7XG4gICAgbWFyZ2luOiAwIDAgMS41cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUgc2VjdGlvbi5hYm91dCAuYWJvdXQtaWNvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuICAgIC5ob21lIHNlY3Rpb24uYWJvdXQgLmFib3V0LWljb24gLmljb24td3JhcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNjVweDtcbiAgICAgIGhlaWdodDogNzVweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUgc2VjdGlvbi5hYm91dCAuYWJvdXQtaWNvbiAuaWNvbi13cmFwIHtcbiAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICBoZWlnaHQ6IDkycHg7IH0gfVxuICAuaG9tZSBzZWN0aW9uLmFib3V0IC5oZHIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uaG9tZSBzZWN0aW9uLmluc3RhZ3JhbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDc1cHggMDtcbiAgYmFja2dyb3VuZDogI2VjZThlMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ob21lIHNlY3Rpb24uaW5zdGFncmFtIHtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDA7IH0gfVxuICAuaG9tZSBzZWN0aW9uLmluc3RhZ3JhbSAuaGRyIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDcwJTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ob21lIHNlY3Rpb24uaW5zdGFncmFtIC5oZHIgc21hbGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiA2MCU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tZSBzZWN0aW9uLmluc3RhZ3JhbSAuaGRyIHNtYWxsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNjUlOyB9IH1cbiAgLmhvbWUgc2VjdGlvbi5pbnN0YWdyYW0gLmljb24taW5zdGFncmFtLXdyYXAge1xuICAgIG1hcmdpbjogMCAwIDE1cHggMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaG9tZSBzZWN0aW9uLmluc3RhZ3JhbSAuaWNvbi1pbnN0YWdyYW0td3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLmhvbWUgc2VjdGlvbi5pbnN0YWdyYW0gLmljb24taW5zdGFncmFtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5ob21lIHNlY3Rpb24uaW5zdGFncmFtIC5pY29uLWluc3RhZ3JhbSB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7IH0gfVxuXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5lbnRyeS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZW50cnktY29udGVudCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDhweDsgfVxuXG5ib2R5LmJsb2cgLmhkci13cmFwLFxuYm9keS5hcmNoaXZlIC5oZHItd3JhcCxcbmJvZHkuc2luZ2xlLXBvaSAuaGRyLXdyYXAsXG5ib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5oZHItd3JhcCxcbmJvZHkuc2luZ2xlIC5oZHItd3JhcCxcbmJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuaGRyLXdyYXAsXG5ib2R5LnNlYXJjaCAuaGRyLXdyYXAsXG5ib2R5LmVycm9yNDA0IC5oZHItd3JhcCxcbmJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5oZHItd3JhcCB7XG4gIG1hcmdpbjogMCAwIDQwcHggMDtcbiAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNjY2OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgYm9keS5ibG9nIC5oZHItd3JhcCxcbiAgICBib2R5LmFyY2hpdmUgLmhkci13cmFwLFxuICAgIGJvZHkuc2luZ2xlLXBvaSAuaGRyLXdyYXAsXG4gICAgYm9keS5zaW5nbGUtdGNjX21lbWJlciAuaGRyLXdyYXAsXG4gICAgYm9keS5zaW5nbGUgLmhkci13cmFwLFxuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuaGRyLXdyYXAsXG4gICAgYm9keS5zZWFyY2ggLmhkci13cmFwLFxuICAgIGJvZHkuZXJyb3I0MDQgLmhkci13cmFwLFxuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5oZHItd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuICBib2R5LmJsb2cgLmhkci13cmFwIGgxLFxuICBib2R5LmFyY2hpdmUgLmhkci13cmFwIGgxLFxuICBib2R5LnNpbmdsZS1wb2kgLmhkci13cmFwIGgxLFxuICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5oZHItd3JhcCBoMSxcbiAgYm9keS5zaW5nbGUgLmhkci13cmFwIGgxLFxuICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmhkci13cmFwIGgxLFxuICBib2R5LnNlYXJjaCAuaGRyLXdyYXAgaDEsXG4gIGJvZHkuZXJyb3I0MDQgLmhkci13cmFwIGgxLFxuICBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS10b3BpYyAuaGRyLXdyYXAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuYm9keS5ibG9nIC5lbnRyeS1jb250ZW50LFxuYm9keS5hcmNoaXZlIC5lbnRyeS1jb250ZW50LFxuYm9keS5zaW5nbGUtcG9pIC5lbnRyeS1jb250ZW50LFxuYm9keS5zaW5nbGUtdGNjX21lbWJlciAuZW50cnktY29udGVudCxcbmJvZHkuc2luZ2xlIC5lbnRyeS1jb250ZW50LFxuYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5lbnRyeS1jb250ZW50LFxuYm9keS5zZWFyY2ggLmVudHJ5LWNvbnRlbnQsXG5ib2R5LmVycm9yNDA0IC5lbnRyeS1jb250ZW50LFxuYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLmVudHJ5LWNvbnRlbnQge1xuICBtYXJnaW46IDA7IH1cblxuYm9keS5ibG9nIC5iYWNrLWxpbmssXG5ib2R5LmFyY2hpdmUgLmJhY2stbGluayxcbmJvZHkuc2luZ2xlLXBvaSAuYmFjay1saW5rLFxuYm9keS5zaW5nbGUtdGNjX21lbWJlciAuYmFjay1saW5rLFxuYm9keS5zaW5nbGUgLmJhY2stbGluayxcbmJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuYmFjay1saW5rLFxuYm9keS5zZWFyY2ggLmJhY2stbGluayxcbmJvZHkuZXJyb3I0MDQgLmJhY2stbGluayxcbmJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5iYWNrLWxpbmsge1xuICBtYXJnaW46IDAgMCA0MHB4IDA7IH1cbiAgLm5vLWlvcyBib2R5LmJsb2cgLmJhY2stbGluayBhOmhvdmVyLCAubm8taW9zXG4gIGJvZHkuYXJjaGl2ZSAuYmFjay1saW5rIGE6aG92ZXIsIC5uby1pb3NcbiAgYm9keS5zaW5nbGUtcG9pIC5iYWNrLWxpbmsgYTpob3ZlciwgLm5vLWlvc1xuICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5iYWNrLWxpbmsgYTpob3ZlciwgLm5vLWlvc1xuICBib2R5LnNpbmdsZSAuYmFjay1saW5rIGE6aG92ZXIsIC5uby1pb3NcbiAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5iYWNrLWxpbmsgYTpob3ZlciwgLm5vLWlvc1xuICBib2R5LnNlYXJjaCAuYmFjay1saW5rIGE6aG92ZXIsIC5uby1pb3NcbiAgYm9keS5lcnJvcjQwNCAuYmFjay1saW5rIGE6aG92ZXIsIC5uby1pb3NcbiAgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLmJhY2stbGluayBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmOTIzMzsgfVxuICBib2R5LmJsb2cgLmJhY2stbGluayAuaWNvbi13cmFwLFxuICBib2R5LmFyY2hpdmUgLmJhY2stbGluayAuaWNvbi13cmFwLFxuICBib2R5LnNpbmdsZS1wb2kgLmJhY2stbGluayAuaWNvbi13cmFwLFxuICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5iYWNrLWxpbmsgLmljb24td3JhcCxcbiAgYm9keS5zaW5nbGUgLmJhY2stbGluayAuaWNvbi13cmFwLFxuICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmJhY2stbGluayAuaWNvbi13cmFwLFxuICBib2R5LnNlYXJjaCAuYmFjay1saW5rIC5pY29uLXdyYXAsXG4gIGJvZHkuZXJyb3I0MDQgLmJhY2stbGluayAuaWNvbi13cmFwLFxuICBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS10b3BpYyAuYmFjay1saW5rIC5pY29uLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDVweDsgfVxuICBib2R5LmJsb2cgLmJhY2stbGluayBwYXRoLFxuICBib2R5LmFyY2hpdmUgLmJhY2stbGluayBwYXRoLFxuICBib2R5LnNpbmdsZS1wb2kgLmJhY2stbGluayBwYXRoLFxuICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5iYWNrLWxpbmsgcGF0aCxcbiAgYm9keS5zaW5nbGUgLmJhY2stbGluayBwYXRoLFxuICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmJhY2stbGluayBwYXRoLFxuICBib2R5LnNlYXJjaCAuYmFjay1saW5rIHBhdGgsXG4gIGJvZHkuZXJyb3I0MDQgLmJhY2stbGluayBwYXRoLFxuICBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS10b3BpYyAuYmFjay1saW5rIHBhdGgge1xuICAgIGZpbGw6ICNmNzA7IH1cblxuYm9keS5ibG9nIC5wb3N0LWNhdHMsXG5ib2R5LmFyY2hpdmUgLnBvc3QtY2F0cyxcbmJvZHkuc2luZ2xlLXBvaSAucG9zdC1jYXRzLFxuYm9keS5zaW5nbGUtdGNjX21lbWJlciAucG9zdC1jYXRzLFxuYm9keS5zaW5nbGUgLnBvc3QtY2F0cyxcbmJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAucG9zdC1jYXRzLFxuYm9keS5zZWFyY2ggLnBvc3QtY2F0cyxcbmJvZHkuZXJyb3I0MDQgLnBvc3QtY2F0cyxcbmJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5wb3N0LWNhdHMge1xuICBtYXJnaW46IDE1cHggMCAwIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYm9keS5ibG9nIC5jYXQtaXRlbSxcbmJvZHkuYXJjaGl2ZSAuY2F0LWl0ZW0sXG5ib2R5LnNpbmdsZS1wb2kgLmNhdC1pdGVtLFxuYm9keS5zaW5nbGUtdGNjX21lbWJlciAuY2F0LWl0ZW0sXG5ib2R5LnNpbmdsZSAuY2F0LWl0ZW0sXG5ib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmNhdC1pdGVtLFxuYm9keS5zZWFyY2ggLmNhdC1pdGVtLFxuYm9keS5lcnJvcjQwNCAuY2F0LWl0ZW0sXG5ib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS10b3BpYyAuY2F0LWl0ZW0ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuICBib2R5LmJsb2cgLmNhdC1pdGVtLmN1cnJlbnQtY2F0IGEsXG4gIGJvZHkuYXJjaGl2ZSAuY2F0LWl0ZW0uY3VycmVudC1jYXQgYSxcbiAgYm9keS5zaW5nbGUtcG9pIC5jYXQtaXRlbS5jdXJyZW50LWNhdCBhLFxuICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5jYXQtaXRlbS5jdXJyZW50LWNhdCBhLFxuICBib2R5LnNpbmdsZSAuY2F0LWl0ZW0uY3VycmVudC1jYXQgYSxcbiAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5jYXQtaXRlbS5jdXJyZW50LWNhdCBhLFxuICBib2R5LnNlYXJjaCAuY2F0LWl0ZW0uY3VycmVudC1jYXQgYSxcbiAgYm9keS5lcnJvcjQwNCAuY2F0LWl0ZW0uY3VycmVudC1jYXQgYSxcbiAgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLmNhdC1pdGVtLmN1cnJlbnQtY2F0IGEge1xuICAgIHBhZGRpbmc6IDNweCAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICMzMzY1OGE7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAubm8taW9zIGJvZHkuYmxvZyAuY2F0LWl0ZW0uY3VycmVudC1jYXQgYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkuYXJjaGl2ZSAuY2F0LWl0ZW0uY3VycmVudC1jYXQgYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkuc2luZ2xlLXBvaSAuY2F0LWl0ZW0uY3VycmVudC1jYXQgYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLmNhdC1pdGVtLmN1cnJlbnQtY2F0IGE6aG92ZXIsIC5uby1pb3NcbiAgICBib2R5LnNpbmdsZSAuY2F0LWl0ZW0uY3VycmVudC1jYXQgYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuY2F0LWl0ZW0uY3VycmVudC1jYXQgYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkuc2VhcmNoIC5jYXQtaXRlbS5jdXJyZW50LWNhdCBhOmhvdmVyLCAubm8taW9zXG4gICAgYm9keS5lcnJvcjQwNCAuY2F0LWl0ZW0uY3VycmVudC1jYXQgYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5jYXQtaXRlbS5jdXJyZW50LWNhdCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIGJvZHkuYmxvZyAuY2F0LWl0ZW0gYSxcbiAgYm9keS5hcmNoaXZlIC5jYXQtaXRlbSBhLFxuICBib2R5LnNpbmdsZS1wb2kgLmNhdC1pdGVtIGEsXG4gIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLmNhdC1pdGVtIGEsXG4gIGJvZHkuc2luZ2xlIC5jYXQtaXRlbSBhLFxuICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmNhdC1pdGVtIGEsXG4gIGJvZHkuc2VhcmNoIC5jYXQtaXRlbSBhLFxuICBib2R5LmVycm9yNDA0IC5jYXQtaXRlbSBhLFxuICBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS10b3BpYyAuY2F0LWl0ZW0gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAyOHB4IDE4cHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGNvbG9yOiAjNjU4Y2E1O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAubm8taW9zIGJvZHkuYmxvZyAuY2F0LWl0ZW0gYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkuYXJjaGl2ZSAuY2F0LWl0ZW0gYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkuc2luZ2xlLXBvaSAuY2F0LWl0ZW0gYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLmNhdC1pdGVtIGE6aG92ZXIsIC5uby1pb3NcbiAgICBib2R5LnNpbmdsZSAuY2F0LWl0ZW0gYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuY2F0LWl0ZW0gYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkuc2VhcmNoIC5jYXQtaXRlbSBhOmhvdmVyLCAubm8taW9zXG4gICAgYm9keS5lcnJvcjQwNCAuY2F0LWl0ZW0gYTpob3ZlciwgLm5vLWlvc1xuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5jYXQtaXRlbSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzM2NThhO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmJvZHkuYmxvZyAudGl0bGUsXG5ib2R5LmFyY2hpdmUgLnRpdGxlLFxuYm9keS5zaW5nbGUtcG9pIC50aXRsZSxcbmJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLnRpdGxlLFxuYm9keS5zaW5nbGUgLnRpdGxlLFxuYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC50aXRsZSxcbmJvZHkuc2VhcmNoIC50aXRsZSxcbmJvZHkuZXJyb3I0MDQgLnRpdGxlLFxuYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICBib2R5LmJsb2cgLm1haW4tY29udGVudC1pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4ucG9zdC1hcmNoaXZlIHtcbiAgbWFyZ2luOiAwIDAgNDBweCAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBvc3QtYXJjaGl2ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9IH1cbiAgLnBvc3QtYXJjaGl2ZSAuZmVhdHVyZWQtcGhvdG8ge1xuICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LWFyY2hpdmUgLmZlYXR1cmVkLXBob3RvIHtcbiAgICAgICAgbWFyZ2luOiA4cHggMCAwIDA7IH0gfVxuICAgIC5wb3N0LWFyY2hpdmUgLmZlYXR1cmVkLXBob3RvOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWFib3V0IC5oZHItc2VjdGlvbi13cmFwOmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtYWJvdXQgLnBhZ2Utd3JhcHBlciBzZWN0aW9uLmJhc2ljIGltZy5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBub25lOyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1sb2RnaW5nIC5sb2RnaW5nLW1lbWJlcnMge1xuICBtYXJnaW46IDJyZW0gMCAycmVtIDA7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1sb2RnaW5nIC5sb2RnaW5nLW1lbWJlcnMtaW50cm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1sb2RnaW5nIC5sb2RnaW5nLW1lbWJlcnMtcmVzdWx0cyB7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctbWVtYmVycy1yZXN1bHRzIHtcbiAgICAgIG1hcmdpbjogMnJlbSAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1sb2RnaW5nIC5sb2RnaW5nLW1lbWJlcnMtcmVzdWx0cyAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctbWVtYmVyIHtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbG9kZ2luZyAubG9kZ2luZy1tZW1iZXIgLmlubmVyIHtcbiAgICBwYWRkaW5nOiAzMHB4IDE1cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2JnLXRleHR1cmUtcGFwZXIuanBnKSBjZW50ZXI7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2VjZThlMDsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctbWVtYmVyIC5jb250YWN0IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1sb2RnaW5nIC5sb2RnaW5nLW1lbWJlciAuYnV0dG9uLCAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctbWVtYmVyIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbG9kZ2luZyAubG9kZ2luZy1tZW1iZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbG9kZ2luZyAubG9kZ2luZy1tZW1iZXIgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctbWVtYmVyIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICAgIHBhZGRpbmc6IC40cmVtIDEuMjVyZW0gLjM1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctY3VzdG9tLXJlc3VsdHMge1xuICBtYXJnaW46IDJyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctY3VzdG9tLXJlc3VsdHMgLmNvbHVtbi1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1sb2RnaW5nIC5sb2RnaW5nLWN1c3RvbS1yZXN1bHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICBwYWRkaW5nOiAzMHB4IDE1cHg7XG4gIGJvcmRlcjogNnB4IHNvbGlkICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1sb2RnaW5nIC5sb2RnaW5nLWN1c3RvbS1yZXN1bHQge1xuICAgICAgbWluLWhlaWdodDogMzAwcHg7IH0gfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctY3VzdG9tLXJlc3VsdCAuaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDIwMHB4OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbG9kZ2luZyAubG9kZ2luZy1jdXN0b20tcmVzdWx0IGgzLCAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctY3VzdG9tLXJlc3VsdCAudHJhdmVsLWl0ZW0gLmZsaXAtdG9nZ2xlLCAudHJhdmVsLWl0ZW0gLnBhZ2UtdGVtcGxhdGUtcGFnZS1sb2RnaW5nIC5sb2RnaW5nLWN1c3RvbS1yZXN1bHQgLmZsaXAtdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctY3VzdG9tLXJlc3VsdCBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtbG9kZ2luZyAubG9kZ2luZy1jdXN0b20tcmVzdWx0IGEge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctY3VzdG9tLXJlc3VsdCBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctY3VzdG9tLXJlc3VsdCBhIC5pY29uLXdyYXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBtYXJnaW46IDAgMnB4IDAgNHB4OyB9XG4gICAgLm5vLWlvcyAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctY3VzdG9tLXJlc3VsdCBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLm5vLWlvcyAucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcgLmxvZGdpbmctY3VzdG9tLXJlc3VsdCBhOmhvdmVyIHBhdGgge1xuICAgICAgICBmaWxsOiAjZmY5MjMzOyB9XG5cbmJvZHkucG9zdC10eXBlLWFyY2hpdmUtdGNjX21lbWJlciAucGdoZHIge1xuICBmb250LXNpemU6IDEuMTExMTFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTguNzVlbSkge1xuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdGNjX21lbWJlciAucGdoZHIge1xuICAgICAgZm9udC1zaXplOiAxLjU1NTU2cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjcuNDM3NWVtKSB7XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10Y2NfbWVtYmVyIC5wZ2hkciB7XG4gICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuXG5ib2R5LnNpbmdsZS10Y2NfbWVtYmVyIHtcbiAgLyogbm90IHVzaW5nIHRoaXMqLyB9XG4gIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLmZlYXR1cmVkLXBob3RvIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keS5zaW5nbGUtdGNjX21lbWJlciAuZmVhdHVyZWQtcGhvdG8ge1xuICAgICAgICBtYXJnaW46IDhweCAwIDAgMDsgfSB9XG4gIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLmNhdHMge1xuICAgIG1hcmdpbjogMCAwIC41cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keS5zaW5nbGUtdGNjX21lbWJlciAuY2F0cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbTsgfSB9XG4gIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLm1ldGEge1xuICAgIG1hcmdpbjogMXJlbSAwIDEuM3JlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDAgLjI1cmVtO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjOTk5O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjOTk5OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLm1ldGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keS5zaW5nbGUtdGNjX21lbWJlciAubWV0YSBwLCBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5tZXRhIGFkZHJlc3MsIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLm1ldGEgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWljYWwsICN0cmliZS1ldmVudHMgYm9keS5zaW5nbGUtdGNjX21lbWJlciAubWV0YSAudHJpYmUtZXZlbnRzLWljYWwsXG4gICAgICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5tZXRhICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1nY2FsLCAjdHJpYmUtZXZlbnRzIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLm1ldGEgLnRyaWJlLWV2ZW50cy1nY2FsLCBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5tZXRhIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dFt0eXBlPXRleHRdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gYm9keS5zaW5nbGUtdGNjX21lbWJlciAubWV0YSBpbnB1dFt0eXBlPXRleHRdLCBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5tZXRhIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5tZXRhIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgYm9keS5zaW5nbGUtdGNjX21lbWJlciAubWV0YSBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5tZXRhIC5zZWFyY2gta2V5d29yZC1sYWJlbCwgYm9keS5zaW5nbGUtdGNjX21lbWJlciAubWV0YSBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5tZXRhIC5zZWFyY2gta2V5d29yZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLmFkZHJlc3Mge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgYm9keS5zaW5nbGUtdGNjX21lbWJlciAuY29udGFjdCB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5jb250YWN0IHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLmNvbnRhY3QgLndlYnNpdGUge1xuICAgICAgbWFyZ2luLXRvcDogLjVyZW07IH0gfVxuICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5kZXNjIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5kZXNjLW1hcmdpbiB7XG4gICAgICBtYXJnaW46IDAgMXJlbSAwIDA7IH0gfVxuICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5ob3Vycy13cmFwIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTU0LCAxNzcsIDY0LCAwLjIpIHVybCguLi9pbWFnZXMvYmctdGV4dHVyZS1wYXBlci5qcGcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4gICAgYm9keS5zaW5nbGUtdGNjX21lbWJlciAuaG91cnMtd3JhcCAuaGRyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5zb2NpYWwtbGlua3Mge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5zb2NpYWwtbGlua3MgLnNvY2lhbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDAgNXB4IDVweCAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLnNvY2lhbC1saW5rcyAuc29jaWFsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDVweDsgfSB9XG4gICAgLm5vLWlvcyBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5zb2NpYWwtbGlua3MgLnNvY2lhbCB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgICAubm8taW9zIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLnNvY2lhbC1saW5rcyAuc29jaWFsOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogLjk7IH1cbiAgYm9keS5zaW5nbGUtdGNjX21lbWJlciAubWVtYmVyLW1hcCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMCAwOyB9XG4gIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLnJlbGF0ZWQtYXJ0aWNsZSB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNiwgMjMyLCAyMjQsIDAuNSkgdXJsKC4uL2ltYWdlcy9iZy10ZXh0dXJlLXBhcGVyLmpwZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbiAgICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5yZWxhdGVkLWFydGljbGUgLmlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNmZmY7IH1cbiAgICBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5yZWxhdGVkLWFydGljbGUgLnJlbGF0ZWQtbWVkaWEge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDRweCAxLjI1cmVtIC43NXJlbSAwOyB9XG4gICAgYm9keS5zaW5nbGUtdGNjX21lbWJlciAucmVsYXRlZC1hcnRpY2xlIC5idXR0b24sIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLnJlbGF0ZWQtYXJ0aWNsZSAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBib2R5LnNpbmdsZS10Y2NfbWVtYmVyIC5yZWxhdGVkLWFydGljbGUgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLnJlbGF0ZWQtYXJ0aWNsZSBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLnJlbGF0ZWQtYXJ0aWNsZSBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24ge1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwO1xuICAgICAgcGFkZGluZzogLjZyZW0gMXJlbSAuNXJlbTsgfVxuICAgIGJvZHkuc2luZ2xlLXRjY19tZW1iZXIgLnJlbGF0ZWQtYXJ0aWNsZSAuZGVzYyB7XG4gICAgICBtYXJnaW46IDA7IH1cblxuYm9keS5zaW5nbGUtcG9zdCAuZmVhdHVyZWQtcGhvdG8ge1xuICBtYXJnaW46IDAgLTIwcHggMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgYm9keS5zaW5nbGUtcG9zdCAuZmVhdHVyZWQtcGhvdG8ge1xuICAgICAgbWFyZ2luOiAwIC03NXB4IDJyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGJvZHkuc2luZ2xlLXBvc3QgLmZlYXR1cmVkLXBob3RvIHtcbiAgICAgIG1hcmdpbjogMCAtOTVweCAycmVtOyB9IH1cblxuYm9keS5zaW5nbGUtcG9zdCBoMSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJvZHkuc2luZ2xlLXBvc3QgLnJlbGF0ZWQtcG9zdHMge1xuICBtYXJnaW46IDJyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGJvZHkuc2luZ2xlLXBvc3QgLnJlbGF0ZWQtcG9zdHMge1xuICAgICAgbWFyZ2luOiAycmVtIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My43NWVtKSB7XG4gICAgYm9keS5zaW5nbGUtcG9zdCAucmVsYXRlZC1wb3N0cyB7XG4gICAgICBtYXJnaW46IDNyZW0gMDsgfSB9XG4gIGJvZHkuc2luZ2xlLXBvc3QgLnJlbGF0ZWQtcG9zdHMgLnJlbGF0ZWQtcG9zdCB7XG4gICAgbWFyZ2luOiAwIDAgLjVyZW0gMDsgfVxuICBib2R5LnNpbmdsZS1wb3N0IC5yZWxhdGVkLXBvc3RzIC5mZWF0dXJlZC1waG90byB7XG4gICAgbWFyZ2luOiAwIC0yMHB4IC41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHkuc2luZ2xlLXBvc3QgLnJlbGF0ZWQtcG9zdHMgLmZlYXR1cmVkLXBob3RvIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNzVlbSkge1xuICAgICAgYm9keS5zaW5nbGUtcG9zdCAucmVsYXRlZC1wb3N0cyAuZmVhdHVyZWQtcGhvdG8ge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtOyB9IH1cbiAgYm9keS5zaW5nbGUtcG9zdCAucmVsYXRlZC1wb3N0cyAudGl0bGUgYSB7XG4gICAgY29sb3I6ICMzMzM7IH1cblxuI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWljYWwsXG4jdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtZ2NhbCB7XG4gIG1hcmdpbjogLjVyZW0gLjVyZW0gLjVyZW0gMDtcbiAgcGFkZGluZzogLjVyZW0gMS41cmVtO1xuICBiYWNrZ3JvdW5kOiAjOGRkMGQ1O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAubm8taW9zICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsLCAubm8taW9zXG4gICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1nY2FsIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgLm5vLWlvcyAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaWNhbDpob3ZlciwgLm5vLWlvc1xuICAgICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1nY2FsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4ZGQwZDU7XG4gICAgICBvcGFjaXR5OiAuOTsgfVxuXG4udHJpYmUtZXZlbnRzIGEge1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7IH1cblxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWIxLFxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWIyLFxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWIzLFxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWZvcm0tY29udHJvbC1jaGVja2JveF9fbGFiZWwsXG4udHJpYmUtY29tbW9uIC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXJhZGlvX19sYWJlbCxcbi50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtdGV4dF9faW5wdXQge1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7IH1cblxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWgzIHtcbiAgZm9udC1mYW1pbHk6IFwiVW5pY2EgT25lXCIsIHNlcmlmICFpbXBvcnRhbnQ7IH1cblxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWg1LFxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWg2IHtcbiAgZm9udC1mYW1pbHk6IFwiVW5pY2EgT25lXCIsIHNlcmlmOyB9XG5cbi50cmliZS1jb21tb24gYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4udHJpYmUtY29tbW9uIC50cmliZS1jb21tb24tYy1idG4ge1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7IH1cblxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWZvcm0tY29udHJvbC10ZXh0X19pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAudHJpYmUtY29tbW9uIC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXRleHRfX2lucHV0OmZvY3VzLCAudHJpYmUtY29tbW9uIC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXRleHRfX2lucHV0Oi1pbnRlcm5hbC1hdXRvZmlsbC1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZSAhaW1wb3J0YW50OyB9XG5cbi50cmliZS1jb21tb24gLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9faW5wdXQtY29udHJvbC1pY29uLXN2ZyB7XG4gIHJpZ2h0OiAxNXB4OyB9XG5cbi50cmliZS1ldmVudHMtY29udGVudCB7XG4gIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMzMzM7IH1cblxuLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXItYy1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7IH1cblxuLyogc2VwYXJhdG9yICovXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGgtbW9iaWxlLWV2ZW50c19fZGF5LW1hcmtlcjpiZWZvcmUsXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItZGF5X190aW1lLXNlcGFyYXRvcjpiZWZvcmUsXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fbW9udGgtc2VwYXJhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWU1ZTU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiBhdXRvO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aC1tb2JpbGUtZXZlbnRzX19kYXktbWFya2VyOmFmdGVyLFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWRheV9fdGltZS1zZXBhcmF0b3I6YWZ0ZXIsXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fbW9udGgtc2VwYXJhdG9yOmFmdGVyIHtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWU1ZTU7IH1cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoLW1vYmlsZS1ldmVudHNfX2RheS1tYXJrZXIgPiB0aW1lLFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWRheV9fdGltZS1zZXBhcmF0b3IgPiB0aW1lLFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX21vbnRoLXNlcGFyYXRvciA+IHRpbWUge1xuICBmb250LWZhbWlseTogXCJVbmljYSBPbmVcIiwgc2VyaWYgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyLjNyZW0gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyZjQ4NTg7IH1cblxuLyogZGF0ZSBwaWNrZXIgKi9cbi50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1oMy50cmliZS1ldmVudHMtYy10b3AtYmFyX19kYXRlcGlja2VyLWJ1dHRvbiA+IHRpbWUsXG4udHJpYmUtY29tbW9uLWgzLnRyaWJlLWNvbW1vbi1oLS1hbHQudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1idXR0b24gPiB0aW1lLFxuLnRyaWJlLWNvbW1vbi0tYnJlYWtwb2ludC1mdWxsLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1kZXNrdG9wID4gdGltZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlVuaWNhIE9uZVwiLCBzZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjEgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZjcwOyB9XG5cbi50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1oMy50cmliZS1ldmVudHMtYy10b3AtYmFyX19kYXRlcGlja2VyLWJ1dHRvbiAudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1zZXBhcmF0b3IsXG4udHJpYmUtY29tbW9uLWgzLnRyaWJlLWNvbW1vbi1oLS1hbHQudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1idXR0b24gLnRyaWJlLWV2ZW50cy1jLXRvcC1iYXJfX2RhdGVwaWNrZXItc2VwYXJhdG9yLFxuLnRyaWJlLWNvbW1vbi0tYnJlYWtwb2ludC1mdWxsLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1kZXNrdG9wIC50cmliZS1ldmVudHMtYy10b3AtYmFyX19kYXRlcGlja2VyLXNlcGFyYXRvciB7XG4gIGNvbG9yOiAjZjcwOyB9XG5cbi8qIHBvcHVwIGNhbCAqL1xuLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAuZGF5LmN1cnJlbnQsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLmRheS5jdXJyZW50LmZvY3VzZWQsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLmRheS5jdXJyZW50OmZvY3VzLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5kYXkuY3VycmVudDpob3ZlciwgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAubW9udGguY3VycmVudCwgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAubW9udGguY3VycmVudC5mb2N1c2VkLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5tb250aC5jdXJyZW50OmZvY3VzLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5tb250aC5jdXJyZW50OmhvdmVyLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC55ZWFyLmN1cnJlbnQsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLnllYXIuY3VycmVudC5mb2N1c2VkLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC55ZWFyLmN1cnJlbnQ6Zm9jdXMsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLnllYXIuY3VycmVudDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NThjYTU7IH1cblxuLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAuZGF5LmFjdGl2ZSwgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAuZGF5LmFjdGl2ZS5mb2N1c2VkLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5kYXkuYWN0aXZlOmZvY3VzLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5kYXkuYWN0aXZlOmhvdmVyLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5tb250aC5hY3RpdmUsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLm1vbnRoLmFjdGl2ZS5mb2N1c2VkLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5tb250aC5hY3RpdmU6Zm9jdXMsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLm1vbnRoLmFjdGl2ZTpob3ZlciwgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAueWVhci5hY3RpdmUsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLnllYXIuYWN0aXZlLmZvY3VzZWQsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLnllYXIuYWN0aXZlOmZvY3VzLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC55ZWFyLmFjdGl2ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzY1OGE7IH1cblxudGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTVlNTsgfVxuXG4vKiBuYXYgKi9cbmEudHJpYmUtZXZlbnRzLWMtbmF2X190b2RheSxcbmEudHJpYmUtZXZlbnRzLWMtbmF2X19wcmV2LFxuYS50cmliZS1ldmVudHMtYy1uYXZfX25leHQge1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjZjcwICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOyB9XG4gIGEudHJpYmUtZXZlbnRzLWMtbmF2X190b2RheSBzdmcgcGF0aCxcbiAgYS50cmliZS1ldmVudHMtYy1uYXZfX3ByZXYgc3ZnIHBhdGgsXG4gIGEudHJpYmUtZXZlbnRzLWMtbmF2X19uZXh0IHN2ZyBwYXRoIHtcbiAgICBmaWxsOiAjZjcwICFpbXBvcnRhbnQ7IH1cbiAgYS50cmliZS1ldmVudHMtYy1uYXZfX3RvZGF5OmhvdmVyLFxuICBhLnRyaWJlLWV2ZW50cy1jLW5hdl9fcHJldjpob3ZlcixcbiAgYS50cmliZS1ldmVudHMtYy1uYXZfX25leHQ6aG92ZXIge1xuICAgIG9wYWNpdHk6IC44OyB9XG4gICAgYS50cmliZS1ldmVudHMtYy1uYXZfX3RvZGF5OmhvdmVyIHN2ZyBwYXRoLFxuICAgIGEudHJpYmUtZXZlbnRzLWMtbmF2X19wcmV2OmhvdmVyIHN2ZyBwYXRoLFxuICAgIGEudHJpYmUtZXZlbnRzLWMtbmF2X19uZXh0OmhvdmVyIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6ICNmNzAgIWltcG9ydGFudDsgfVxuXG5idXR0b24udHJpYmUtZXZlbnRzLWMtbmF2X190b2RheSxcbmJ1dHRvbi50cmliZS1ldmVudHMtYy1uYXZfX3ByZXYsXG5idXR0b24udHJpYmUtZXZlbnRzLWMtbmF2X19uZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgfVxuXG4vKiBjb250ZW50ICovXG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50LWZlYXR1cmVkLWltYWdlLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDI3NXB4OyB9XG5cbi50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtdmVudWUge1xuICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzk5OSAhaW1wb3J0YW50OyB9XG4gIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtdmVudWUgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC12ZW51ZS10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4gIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtdmVudWUgLnRyaWJlLWV2ZW50cy1nbWFwIHtcbiAgICBjb2xvcjogI2Y3MCAhaW1wb3J0YW50OyB9XG4gICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC12ZW51ZSAudHJpYmUtZXZlbnRzLWdtYXA6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm5vLWlvcyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50LXZlbnVlIC50cmliZS1ldmVudHMtZ21hcDpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmOTIzMyAhaW1wb3J0YW50OyB9XG5cbi50cmliZS1jb21tb24tLWJyZWFrcG9pbnQtbWVkaXVtLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50LXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4xICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMzBweCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDMycHggIWltcG9ydGFudDsgfSB9XG4gIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtdGl0bGUgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiVW5pY2EgT25lXCIsIHNlcmlmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1kZXNjcmlwdGlvbiBhLm1vcmUge1xuICBjb2xvcjogI2Y3MCAhaW1wb3J0YW50OyB9XG4gIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtZGVzY3JpcHRpb24gYS5tb3JlOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5vLWlvcyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50LWRlc2NyaXB0aW9uIGEubW9yZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZjkyMzMgIWltcG9ydGFudDsgfVxuXG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50LWRhdGV0aW1lLXdyYXBwZXIgKyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50LXZlbnVlIHtcbiAgbWFyZ2luLXRvcDogLTVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtZGF0ZXRpbWUtd3JhcHBlciArIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtdmVudWUge1xuICAgICAgbWFyZ2luLXRvcDogLThweDsgfSB9XG5cbi50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtZGF0ZXRpbWUge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtcm93IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDFweCBkb3R0ZWQgI2JiYiAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1yb3cge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHggIWltcG9ydGFudDsgfSB9XG5cbi50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fbW9udGgtc2VwYXJhdG9yICsgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1yb3cge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fbW9udGgtc2VwYXJhdG9yICsgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1yb3cge1xuICAgICAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50OyB9IH1cblxuLyogc3VibWl0IGV2ZW50ICovXG4uc3VibWl0LWV2ZW50LXdyYXAge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW46IDUwcHggYXV0byAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc3VibWl0LWV2ZW50LXdyYXAgLmJ1dHRvbiwgLnN1Ym1pdC1ldmVudC13cmFwIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5zdWJtaXQtZXZlbnQtd3JhcCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLnN1Ym1pdC1ldmVudC13cmFwIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnN1Ym1pdC1ldmVudC13cmFwIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgcGFkZGluZzogLjVyZW0gMnJlbSAuNXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMmY0ODU4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcIlVuaWNhIE9uZVwiLCBzZXJpZjsgfVxuXG5ib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmVudHJ5LWNvbnRlbnQge1xuICBtYXJnaW46IDA7IH1cblxuYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtcGctdGVtcGxhdGUge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZmVhdHVyZWQtcGhvdG8ge1xuICBtYXJnaW46IDAgMCAxNXB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmZlYXR1cmVkLXBob3RvIHtcbiAgICAgIG1hcmdpbjogOHB4IDAgMCAwOyB9IH1cblxuYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIHRpbWUge1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG5cbmJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyB0aW1lLnBvc3QtZGF0ZXRpbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgLjc1cmVtIDA7IH1cblxuYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5ldmVudHMtbWV0YSB7XG4gIG1hcmdpbjogNDBweCAwO1xuICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCAjNjY2O1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7XG4gIGNvbG9yOiAjOTk5OyB9XG4gIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAyOHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNzVlbSkge1xuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEge1xuICAgICAgcGFkZGluZzogMS41cmVtIDg0cHg7IH0gfVxuICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1tZXRhLWdyb3VwIHtcbiAgICBtYXJnaW46IDEwcHggMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgcCwgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5ldmVudHMtbWV0YSAuZXZlbnQtbWV0YS1ncm91cCBhZGRyZXNzLCBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1tZXRhLWdyb3VwICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1pY2FsLCAjdHJpYmUtZXZlbnRzIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsICN0cmliZS1ldmVudHMgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5ldmVudHMtbWV0YSAuZXZlbnQtbWV0YS1ncm91cCAudHJpYmUtZXZlbnRzLWdjYWwsIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0W3R5cGU9dGV4dF0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1tZXRhLWdyb3VwIGlucHV0W3R5cGU9dGV4dF0sIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1tZXRhLWdyb3VwIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1tZXRhLWdyb3VwIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgLnNlYXJjaC1rZXl3b3JkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgcDpsYXN0LWNoaWxkLCBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1tZXRhLWdyb3VwIGFkZHJlc3M6bGFzdC1jaGlsZCwgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5ldmVudHMtbWV0YSAuZXZlbnQtbWV0YS1ncm91cCAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaWNhbDpsYXN0LWNoaWxkLCAjdHJpYmUtZXZlbnRzIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgLnRyaWJlLWV2ZW50cy1pY2FsOmxhc3QtY2hpbGQsXG4gICAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5ldmVudHMtbWV0YSAuZXZlbnQtbWV0YS1ncm91cCAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtZ2NhbDpsYXN0LWNoaWxkLCAjdHJpYmUtZXZlbnRzIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgLnRyaWJlLWV2ZW50cy1nY2FsOmxhc3QtY2hpbGQsIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0Omxhc3QtY2hpbGRbdHlwZT10ZXh0XSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgaW5wdXQ6bGFzdC1jaGlsZFt0eXBlPXRleHRdLCBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1tZXRhLWdyb3VwIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHM6bGFzdC1jaGlsZCwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzOmxhc3QtY2hpbGQsIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LW1ldGEtZ3JvdXAgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWtleXdvcmQtbGFiZWw6bGFzdC1jaGlsZCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1tZXRhLWdyb3VwIC5zZWFyY2gta2V5d29yZC1sYWJlbDpsYXN0LWNoaWxkLCBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1tZXRhLWdyb3VwIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkOmxhc3QtY2hpbGQsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5ldmVudHMtbWV0YSAuZXZlbnQtbWV0YS1ncm91cCAuc2VhcmNoLWtleXdvcmQ6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmhkciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGNvbG9yOiAjNTU1OyB9XG4gIGJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAuZXZlbnRzLW1ldGEgLmV2ZW50LWNvc3Qge1xuICAgIG1hcmdpbi10b3A6IC40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7IH1cbiAgYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIC5ldmVudHMtbWV0YSAuZXZlbnQtdmVudWUgLnRyaWJlLWNvdW50cnktbmFtZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1vcmdhbml6ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBib2R5LnNpbmdsZS10cmliZV9ldmVudHMgLmV2ZW50cy1tZXRhIC5ldmVudC1vcmdhbml6ZXI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWNhbC1saW5rcyB7XG4gIG1hcmdpbjogMzBweCAwIDAgMDsgfVxuXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyB7XG4gIC8qIGZpbHRlcnMgKi9cbiAgLyogZm9vdGVyICovXG4gIC8qIG5leHQvcHJldiBidXR0b25zICovXG4gIC8qIHJlc3VsdHMgKi9cbiAgLypcbiAgLnR5cGUtdHJpYmVfZXZlbnRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgcGFkZGluZzogMCAzcHggMzBweCAzcHg7XG4gICAgLy9wYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNiYmI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG4gIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50LXJvdzpsYXN0LWNoaWxkIC50eXBlLXRyaWJlX2V2ZW50cyB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuKi8gfVxuICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAuZW50cnktY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLmV2ZW50LWJhciB7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwICFpbXBvcnRhbnQ7IH1cbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSB7XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0ge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7IH0gfVxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuMTExMTFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTEuMTExMTFyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAucm93IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjgzMzMzcmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC44MzMzM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gLnJvdyB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC44MzMzM3JlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuODMzMzNyZW07IH0gfVxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBsYWJlbCB7XG4gICAgICBjb2xvcjogIzJmNDg1ODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICBmb250LXNpemU6IDAuODg4ODlyZW07IH1cbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0W3R5cGU9dGV4dF06OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzk5OTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTM0cHgpIHtcbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyX19ldmVudHMtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZWUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXJfX3ZpZXdzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkzNHB4KSB7XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtdGV4dF9faW5wdXQsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1jLXZpZXctc2VsZWN0b3JfX2NvbnRlbnQsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtZXZlbnRzLWJhcl9fc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9IH1cbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWNvbW1vbi0tYnJlYWtwb2ludC1tZWRpdW0udHJpYmUtY29tbW9uIC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXRleHRfX2lucHV0LFxuICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtY29tbW9uIC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXRleHRfX2lucHV0IHtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtY29tbW9uLS1icmVha3BvaW50LW1lZGl1bS50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtdGV4dF9faW5wdXQ6Zm9jdXMsXG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWZvcm0tY29udHJvbC10ZXh0X19pbnB1dDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gICAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtY29tbW9uLS1icmVha3BvaW50LW1lZGl1bS50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtdGV4dF9faW5wdXQ6Zm9jdXMgKyBzdmcgcGF0aCxcbiAgICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtdGV4dF9faW5wdXQ6Zm9jdXMgKyBzdmcgcGF0aCB7XG4gICAgICAgIGZpbGw6ICNmNzA7IH1cbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IC41cmVtIDEuNXJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjMzM2NThhO1xuICAgIGZvbnQtZmFtaWx5OiBcIlVuaWNhIE9uZVwiLCBzZXJpZjtcbiAgICAvKlxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgIH1cbiAgICAqLyB9XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtIDEuNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMzMzY1OGE7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlVuaWNhIE9uZVwiLCBzZXJpZiAhaW1wb3J0YW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAubm8taW9zIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgICAubm8taW9zIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyZjQ4NTg7IH1cbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWJhci1maWx0ZXItd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtYmFyLWZpbHRlci13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1iYXItc3VibWl0LXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtYmFyLXN1Ym1pdC13cmFwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1iYXItc3VibWl0LXdyYXAgaW5wdXQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyX190b2dnbGUge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIGNvbG9yOiAjMzM2NThhICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2YxZjBmMDsgfVxuICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZmlsdGVyLWJhci1jLWZpbHRlcl9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmOWZhZmE7IH1cbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIudHJpYmUtZXZlbnRzLWZpbHRlcnMtaG9yaXpvbnRhbCxcbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIudHJpYmUtZXZlbnRzLWZpbHRlcnMtdmVydGljYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDsgfVxuICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWZpbHRlcnMtY29udGVudCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWNvbnRlbnQgbGFiZWwge1xuICAgICAgY29sb3I6ICMyZjQ4NTggIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWNvbnRlbnQgbGFiZWwudHJpYmUtZXZlbnRzLWZpbHRlcnMtbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiVW5pY2EgT25lXCIsIHNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWdyb3VwLWhlYWRpbmcge1xuICAgICAgY29sb3I6ICMzMzY1OGEgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyB9XG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZV9ldmVudHNfZmlsdGVyc190b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZjcwOyB9XG4gICAgLm5vLWlvcyBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmVfZXZlbnRzX2ZpbHRlcnNfdG9nZ2xlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmY5MjMzO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1yZXNldC1pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtM3B4OyB9XG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZV9ldmVudHNfZmlsdGVyc19yZXNldC0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZV9ldmVudHNfZmlsdGVyc19yZXNldC0tZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1zdWItbmF2IGxpIGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZjcwOyB9XG4gICAgLm5vLWlvcyBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLXN1Yi1uYXYgbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmOTIzMzsgfVxuICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxpc3Qtc2VwYXJhdG9yLW1vbnRoIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgLTIwcHggMS41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbGlzdC1zZXBhcmF0b3ItbW9udGgge1xuICAgICAgICBtYXJnaW46IDAgMCAycmVtOyB9IH1cbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxpc3Qtc2VwYXJhdG9yLW1vbnRoOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgICBib3JkZXItY29sb3I6ICNkZWU1ZTU7IH1cbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxpc3Qtc2VwYXJhdG9yLW1vbnRoIHNwYW4ge1xuICAgICAgcGFkZGluZzogMCAzJTsgfVxuICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxpc3Qtc2VwYXJhdG9yLW1vbnRoICsgLnR5cGUtdHJpYmVfZXZlbnRzLnRyaWJlLWV2ZW50cy1maXJzdCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1saXN0IC50eXBlLXRyaWJlX2V2ZW50czpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbGlzdCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxpc3QgLnRyaWJlLWV2ZW50cy1pY2FsIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50aXRsZSBhIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgICAubm8taW9zIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudGl0bGUgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgdGltZSB7XG4gICAgICBmb250LXdlaWdodDogODAwOyB9XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtZXZlbnQtbWV0YSB7XG4gICAgICBtYXJnaW46IC41cmVtIDAgLjc1cmVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICAgIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAuZW50cnktc3VtbWFyeSB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyAudHJpYmUtYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5mZWF0dXJlZC1waG90byB7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmZlYXR1cmVkLXBob3RvIHtcbiAgICAgICAgICBtYXJnaW46IDRweCAzMHB4IDAgMDsgfSB9XG4gICAgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtZXZlbnQtaW1hZ2Uge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1jb3VudHJ5LW5hbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAubWFwIHtcbiAgbWFyZ2luOiAycmVtIDAgMCAwOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLm1hcC1hY3Rpb25zIHtcbiAgbWFyZ2luOiAxcmVtIDAgMXJlbSAwO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5yZWdpb24tbWVtYmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5yZWdpb24tbWVtYmVyIHAsIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgYWRkcmVzcywgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciAjdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaWNhbCwgI3RyaWJlLWV2ZW50cyAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5yZWdpb24tbWVtYmVyIC50cmliZS1ldmVudHMtaWNhbCxcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWdjYWwsICN0cmliZS1ldmVudHMgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciAudHJpYmUtZXZlbnRzLWdjYWwsIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0W3R5cGU9dGV4dF0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5yZWdpb24tbWVtYmVyIGlucHV0W3R5cGU9dGV4dF0sIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5yZWdpb24tbWVtYmVyIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5yZWdpb24tbWVtYmVyIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgLnNlYXJjaC1rZXl3b3JkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciBwLnBob25lLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5yZWdpb24tbWVtYmVyIGFkZHJlc3MucGhvbmUsIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgI3RyaWJlLWV2ZW50cyAucGhvbmUudHJpYmUtZXZlbnRzLWljYWwsICN0cmliZS1ldmVudHMgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciAucGhvbmUudHJpYmUtZXZlbnRzLWljYWwsXG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciAjdHJpYmUtZXZlbnRzIC5waG9uZS50cmliZS1ldmVudHMtZ2NhbCwgI3RyaWJlLWV2ZW50cyAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5yZWdpb24tbWVtYmVyIC5waG9uZS50cmliZS1ldmVudHMtZ2NhbCwgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQucGhvbmVbdHlwZT10ZXh0XSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgaW5wdXQucGhvbmVbdHlwZT10ZXh0XSwgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnBob25lLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciAucGhvbmUudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAucGhvbmUuc2VhcmNoLWtleXdvcmQtbGFiZWwsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciAucGhvbmUuc2VhcmNoLWtleXdvcmQtbGFiZWwsIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAucGhvbmUuc2VhcmNoLWtleXdvcmQsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciAucGhvbmUuc2VhcmNoLWtleXdvcmQge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAucmVnaW9uLW1lbWJlciAuYnV0dG9uLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5yZWdpb24tbWVtYmVyIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLnJlZ2lvbi1tZW1iZXIgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5yZWdpb24tbWVtYmVyIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gIG1hcmdpbjogLjVyZW0gMCAwIDA7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAuY2F0ZWdvcmllcyB7XG4gIG1hcmdpbjogNjBweCAwOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLmNhdGVnb3J5LXJlc3VsdCB7XG4gIHdpZHRoOiA4MCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLmNhdGVnb3J5LXJlc3VsdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTsgfSB9XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhaWwgLmNhdGVnb3J5LXJlc3VsdCAubWVkaWEtb2JqZWN0LXNlY3Rpb24tbWVkaWEge1xuICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTsgfVxuICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5jYXRlZ29yeS1yZXN1bHQgLm1lZGlhLW9iamVjdC1zZWN0aW9uLWNvbnRlbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIG1hcmdpbjogLjlyZW0gMCAwcmVtIDA7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM5OTk7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM5OTk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAuY2F0ZWdvcnktcmVzdWx0IC5tZWRpYS1vYmplY3Qtc2VjdGlvbi1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5jYXRlZ29yeS1yZXN1bHQgLm1lZGlhLW9iamVjdC1zZWN0aW9uLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCAuZmVhdHVyZWQtaWNvbiB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDQ4cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5mZWF0dXJlZC1pY29uIHtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgIHdpZHRoOiA2MnB4O1xuICAgICAgaGVpZ2h0OiA1OXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsIC5mZWF0dXJlZC1pY29uIHtcbiAgICAgIHdpZHRoOiA3OHB4O1xuICAgICAgaGVpZ2h0OiA3NHB4OyB9IH1cblxuLypcbmJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYW5zcG9ydGF0aW9uIHtcblxufVxuKi9cbi50cmF2ZWwtcm93IHtcbiAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZjQ4NTg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudHJhdmVsLXJvdyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjYyNWVtKSB7XG4gICAgLnRyYXZlbC1yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0uNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLS41cmVtOyB9IH1cblxuLnRyYXZlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDFyZW0gMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW0gLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzY1OGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkICNmZmY7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRyYXZlbC1pdGVtIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICAgIHBhZGRpbmc6IDYwcHggMTVweCAzMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudHJhdmVsLWl0ZW0ge1xuICAgICAgbWluLWhlaWdodDogMzQwcHg7XG4gICAgICBwYWRkaW5nOiA0MHB4IDE1cHggNDBweDsgfSB9XG4gIC50cmF2ZWwtaXRlbSAuZmxpcC10b2dnbGUtcmV2ZXJzZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjhweDtcbiAgICByaWdodDogLTE1cHg7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgb3BhY2l0eTogLjY7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRyYXZlbC1pdGVtIC5mbGlwLXRvZ2dsZS1yZXZlcnNlIHtcbiAgICAgICAgdG9wOiAtMzJweDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRyYXZlbC1pdGVtIC5mbGlwLXRvZ2dsZS1yZXZlcnNlIHtcbiAgICAgICAgdG9wOiAtMzhweDsgfSB9XG4gIC50cmF2ZWwtaXRlbS5mbGlwcGVkIHtcbiAgICBwYWRkaW5nOiAzMHB4IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudHJhdmVsLWl0ZW0uZmxpcHBlZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRyYXZlbC1pdGVtLmZsaXBwZWQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDVweDsgfSB9XG4gICAgLnRyYXZlbC1pdGVtLmZsaXBwZWQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWU1ZTU7IH1cbiAgICAudHJhdmVsLWl0ZW0uZmxpcHBlZCAuZmxpcC10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50cmF2ZWwtaXRlbS5mbGlwcGVkIC5mbGlwLXRvZ2dsZS1yZXZlcnNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubm8taW9zIC50cmF2ZWwtaXRlbS5mbGlwcGVkIC5mbGlwLXRvZ2dsZS1yZXZlcnNlOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnRyYXZlbC1pdGVtLmZsaXBwZWQgLnRyYXZlbC1pY29uLXdyYXAge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50cmF2ZWwtaXRlbS5mbGlwcGVkIC5mbGlwLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnRyYXZlbC1pdGVtIC50cmF2ZWwtaWNvbi13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIHdpZHRoOiAxMjlweDtcbiAgICBoZWlnaHQ6IDEwMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50cmF2ZWwtaXRlbSAudHJhdmVsLWljb24td3JhcCB7XG4gICAgICAgIHdpZHRoOiAxNjhweDtcbiAgICAgICAgaGVpZ2h0OiAxMzBweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50cmF2ZWwtaXRlbSAudHJhdmVsLWljb24td3JhcCB7XG4gICAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxNjNweDsgfSB9XG4gIC50cmF2ZWwtaXRlbSAuZmxpcC10b2dnbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogLjVyZW0gMS41cmVtO1xuICAgIGJhY2tncm91bmQ6ICMxYzM3NGM7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6IFwiVW5pY2EgT25lXCIsIHNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgIC5uby1pb3MgLnRyYXZlbC1pdGVtIC5mbGlwLXRvZ2dsZTpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmY0ODU4OyB9XG4gIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLm5hbWUge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgcCwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYWRkcmVzcywgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWljYWwsICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1nY2FsLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC50cmliZS1ldmVudHMtZ2NhbCwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0W3R5cGU9dGV4dF0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBpbnB1dFt0eXBlPXRleHRdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuc2VhcmNoLWtleXdvcmQtbGFiZWwsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1rZXl3b3JkLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5zZWFyY2gta2V5d29yZCB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICBjb2xvcjogIzJmNDg1ODsgfVxuICAgICAgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgcC5waG9uZSwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYWRkcmVzcy5waG9uZSwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAucGhvbmUudHJpYmUtZXZlbnRzLWljYWwsICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLnBob25lLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAgICAgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAucGhvbmUudHJpYmUtZXZlbnRzLWdjYWwsICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLnBob25lLnRyaWJlLWV2ZW50cy1nY2FsLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQucGhvbmVbdHlwZT10ZXh0XSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGlucHV0LnBob25lW3R5cGU9dGV4dF0sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAucGhvbmUudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAucGhvbmUudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnBob25lLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5waG9uZS5zZWFyY2gta2V5d29yZC1sYWJlbCwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAucGhvbmUuc2VhcmNoLWtleXdvcmQsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLnBob25lLnNlYXJjaC1rZXl3b3JkIHtcbiAgICAgICAgY29sb3I6ICNmNzA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IHAuYnRuLXdyYXAsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGFkZHJlc3MuYnRuLXdyYXAsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCxcbiAgICAgIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1nY2FsLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIGlucHV0LmJ0bi13cmFwW3R5cGU9dGV4dF0sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBpbnB1dC5idG4td3JhcFt0eXBlPXRleHRdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZCB7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDAgYXV0bzsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IHAuYnRuLXdyYXAsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGFkZHJlc3MuYnRuLXdyYXAsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCxcbiAgICAgICAgICAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCwgI3RyaWJlLWV2ZW50cyAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSBpbnB1dC5idG4td3JhcFt0eXBlPXRleHRdLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscywgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkLWxhYmVsLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZCwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gICAgICAgIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IHAuYnRuLXdyYXAgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYWRkcmVzcy5idG4td3JhcCAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCAuYnV0dG9uLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCAuYnV0dG9uLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSAuYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzIC5idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgLmJ1dHRvbiwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQgLmJ1dHRvbiwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgcC5idG4td3JhcCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBwLmJ0bi13cmFwIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBhZGRyZXNzLmJ0bi13cmFwIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGFkZHJlc3MuYnRuLXdyYXAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1nY2FsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1nY2FsIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGlucHV0LmJ0bi13cmFwW3R5cGU9dGV4dF0gLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGlucHV0LmJ0bi13cmFwW3R5cGU9dGV4dF0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgcC5idG4td3JhcCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IHAuYnRuLXdyYXAgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBhZGRyZXNzLmJ0bi13cmFwIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYWRkcmVzcy5idG4td3JhcCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWljYWwgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1nY2FsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWV2ZW50cyAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBpbnB1dC5idG4td3JhcFt0eXBlPXRleHRdIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkLWxhYmVsIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICAgICAgcGFkZGluZzogLjZyZW0gMS4zcmVtIC44cmVtOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IHAuYnRuLXdyYXAgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYWRkcmVzcy5idG4td3JhcCAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCAuYnV0dG9uLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCAuYnV0dG9uLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSAuYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzIC5idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgLmJ1dHRvbiwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQgLmJ1dHRvbiwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgcC5idG4td3JhcCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBwLmJ0bi13cmFwIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBhZGRyZXNzLmJ0bi13cmFwIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGFkZHJlc3MuYnRuLXdyYXAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1nY2FsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1nY2FsIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGlucHV0LmJ0bi13cmFwW3R5cGU9dGV4dF0gLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGlucHV0LmJ0bi13cmFwW3R5cGU9dGV4dF0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgcC5idG4td3JhcCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IHAuYnRuLXdyYXAgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBhZGRyZXNzLmJ0bi13cmFwIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYWRkcmVzcy5idG4td3JhcCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWljYWwgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1nY2FsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWV2ZW50cyAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBpbnB1dC5idG4td3JhcFt0eXBlPXRleHRdIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkLWxhYmVsIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAuN3JlbTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IHAuYnRuLXdyYXAgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYWRkcmVzcy5idG4td3JhcCAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCAuYnV0dG9uLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCAuYnV0dG9uLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSAuYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSAuYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzIC5idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgLmJ1dHRvbiwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQgLmJ1dHRvbiwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQgLmJ1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgcC5idG4td3JhcCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBwLmJ0bi13cmFwIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBhZGRyZXNzLmJ0bi13cmFwIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGFkZHJlc3MuYnRuLXdyYXAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1nY2FsIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1nY2FsIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGlucHV0LmJ0bi13cmFwW3R5cGU9dGV4dF0gLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWJhci1mb3JtIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGlucHV0LmJ0bi13cmFwW3R5cGU9dGV4dF0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWxvb3AgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy12ZW51ZS1kZXRhaWxzIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgLmJoLXNsLWZvcm0tY29udGFpbmVyIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCAuYmgtc2wtZm9ybS1jb250YWluZXIgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLmJoLXNsLWZvcm0tY29udGFpbmVyIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZCAuYmgtc2wtZm9ybS1jb250YWluZXIgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIC5iaC1zbC1mb3JtLWNvbnRhaW5lciBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgcC5idG4td3JhcCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IHAuYnRuLXdyYXAgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBhZGRyZXNzLmJ0bi13cmFwIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYWRkcmVzcy5idG4td3JhcCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50ICN0cmliZS1ldmVudHMgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWljYWwgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAjdHJpYmUtZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC50cmliZS1ldmVudHMtaWNhbCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1pY2FsIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgI3RyaWJlLWV2ZW50cyAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAjdHJpYmUtZXZlbnRzIC5idG4td3JhcC50cmliZS1ldmVudHMtZ2NhbCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sICN0cmliZS1ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnRyaWJlLWV2ZW50cy1nY2FsIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgI3RyaWJlLWV2ZW50cyAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLWdjYWwgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyAjdHJpYmUtYmFyLWZvcm0gaW5wdXQuYnRuLXdyYXBbdHlwZT10ZXh0XSBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzICN0cmliZS1iYXItZm9ybSAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBpbnB1dC5idG4td3JhcFt0eXBlPXRleHRdIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1sb29wIC5idG4td3JhcC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtbG9vcCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAudHJpYmUtZXZlbnRzLXZlbnVlLWRldGFpbHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkLWxhYmVsIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAudHJhdmVsLWl0ZW0gLmZsaXAtY29udGVudCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQtbGFiZWwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZC1sYWJlbCBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiwgYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS10cmliZV9ldmVudHMgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuYnRuLXdyYXAuc2VhcmNoLWtleXdvcmQgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uLCBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC50cmF2ZWwtaXRlbSAuZmxpcC1jb250ZW50IC5idG4td3JhcC5zZWFyY2gta2V5d29yZCBib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyBidXR0b24udHJpYmUtZXZlbnRzLWMtc2VhcmNoX19idXR0b24sIGJvZHkucG9zdC10eXBlLWFyY2hpdmUtdHJpYmVfZXZlbnRzIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnRyYXZlbC1pdGVtIC5mbGlwLWNvbnRlbnQgLmJ0bi13cmFwLnNlYXJjaC1rZXl3b3JkIGJ1dHRvbi50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAuNnJlbTsgfSB9XG5cbmJvZHkuc2luZ2xlLXBvaSAucG9pLW1ldGEge1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwIDAgNTBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5LnNpbmdsZS1wb2kgLnBvaS1tZXRhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuXG5ib2R5LnNpbmdsZS1wb2kgLmFkZHJlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICBib2R5LnNpbmdsZS1wb2kgLmFkZHJlc3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDdweDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1tYXAtcGluLXNoYWRvdy5zdmcpIG5vLXJlcGVhdDsgfVxuXG5ib2R5LnNpbmdsZS1wb2kgLnBob25lIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbmJvZHkuc2luZ2xlLXBvaSAucGhvbmUtc2Vjb25kIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keS5zaW5nbGUtcG9pIC53ZWJzaXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICBib2R5LnNpbmdsZS1wb2kgLndlYnNpdGUgYSB7XG4gICAgY29sb3I6ICNmNzA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgIGJvZHkuc2luZ2xlLXBvaSAud2Vic2l0ZSBhIC5pY29uLXdyYXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiA0cHg7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDsgfVxuICAgICAgYm9keS5zaW5nbGUtcG9pIC53ZWJzaXRlIGEgLmljb24td3JhcCBwYXRoIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgIC5uby1pb3MgYm9keS5zaW5nbGUtcG9pIC53ZWJzaXRlIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZjg4MjI7IH1cbiAgICAgIC5uby1pb3MgYm9keS5zaW5nbGUtcG9pIC53ZWJzaXRlIGE6aG92ZXIgcGF0aCB7XG4gICAgICAgIGZpbGw6ICNmZjg4MjI7IH1cblxuYm9keS5zaW5nbGUtcG9pIC5wb2ktY29udGVudCB7XG4gIG1hcmdpbjogMCAwIDQwcHggMDsgfVxuXG5ib2R5LnNpbmdsZS1wb2kgLnBob3RvLW1ldGEge1xuICBtYXJnaW46IDZweCAwO1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgYm9keS5zaW5nbGUtcG9pIC5waG90by1tZXRhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDsgfSB9XG5cbmJvZHkuc2luZ2xlLXBvaSAuY3JlZGl0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5ib2R5LnNpbmdsZS1wb2kgLnNvY2lhbC1saW5rcyBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDAgOHB4IDhweCAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gIC5uby1pb3MgYm9keS5zaW5nbGUtcG9pIC5zb2NpYWwtbGlua3MgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogLjg1OyB9XG5cbmJvZHkuc2luZ2xlLXBvaSAuaG91cnMtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMzBweDtcbiAgYm9yZGVyOiAyMHB4IHNvbGlkICNmMmVlZTc7XG4gIGJhY2tncm91bmQ6ICNmMmVlZTc7IH1cbiAgYm9keS5zaW5nbGUtcG9pIC5ob3Vycy13cmFwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMmJlYjk7IH1cbiAgYm9keS5zaW5nbGUtcG9pIC5ob3Vycy13cmFwIC5oZHIge1xuICAgIG1hcmdpbjogMCAwIDAgLTJweDtcbiAgICBmb250LWZhbWlseTogXCJVbmljYSBPbmVcIiwgc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBib2R5LnNpbmdsZS1wb2kgLmhvdXJzLXdyYXAgLmhvdXJzIHtcbiAgICBtYXJnaW46IDA7IH1cblxuYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMge1xuICAvKlxuICAucmVsYXRlZC1hdHRyYWN0aW9uLXRleHQge1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgei1pbmRleDogMTtcbiAgICAvL2xlZnQ6IDc1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDc1cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIC8vIG1hcmdpbi1sZWZ0OiAxMDVweDtcbiAgICAgIC8vbWFyZ2luLWxlZnQ6IDc1cHg7XG4gICAgfVxuXG4gIH1cbiAgKi8gfVxuICBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS10b3BpYyAuZW50cnktY29udGVudCB7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNjY2OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5lbnRyeS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuICBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS10b3BpYyAuc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDsgfVxuICBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS10b3BpYyAuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiAtNDBweDsgfVxuICBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS10b3BpYyAuc2xpZGUtY2FwdGlvbiB7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IDAuNjY2NjdyZW07IH1cbiAgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLnJlbGF0ZWQtYXR0cmFjdGlvbnMge1xuICAgIG1hcmdpbjogNTBweCAwIDAgMDsgfVxuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5yZWxhdGVkLWF0dHJhY3Rpb25zIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5yZWxhdGVkLWF0dHJhY3Rpb24taGRyIHtcbiAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5tYXAtbGluayAuaWNvbi13cmFwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIG1hcmdpbjogMCA1cHggMCAwOyB9XG4gIGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIC5yZWxhdGVkLWF0dHJhY3Rpb24tcGhvdG8ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBtYXJnaW46IDVweCAyMHB4IDE1cHggMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLnJlbGF0ZWQtYXR0cmFjdGlvbi1waG90bzpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdG9waWMgLnJlbGF0ZWQtYXR0cmFjdGlvbi1pY29uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDU3cHg7XG4gICAgbWFyZ2luOiAwIDEwcHggNXB4IDA7IH1cblxuYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCB7XG4gIG1hcmdpbjogMCAwIDUwcHggMDtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZDogI2VlZTsgfVxuICBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZC1sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgIGNvbG9yOiAjMmY0ODU4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gta2V5d29yZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDhweCAwO1xuICAgIHBhZGRpbmc6IDIwcHggMTJweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gtYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiA1cHggYXV0byAwIGF1dG87XG4gICAgb3BhY2l0eTogLjc7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWJ0biB7XG4gICAgICAgIHdpZHRoOiAyOXB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDsgfSB9XG4gICAgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWJ0biBjaXJjbGUsIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1idG4gcGF0aCB7XG4gICAgICBzdHJva2U6ICMzMzM7IH1cbiAgICBib2R5LnNlYXJjaCAuc2VhcmNoLXBhbmVsIC5zZWFyY2gtYnRuOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5uby1pb3MgYm9keS5zZWFyY2ggLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWJ0biB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgICAubm8taW9zIGJvZHkuc2VhcmNoIC5zZWFyY2gtcGFuZWwgLnNlYXJjaC1idG46aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cblxuYm9keS5zZWFyY2ggLnNlYXJjaC1yZXN1bHQge1xuICBtYXJnaW46IDUwcHggMDtcbiAgcGFkZGluZzogMCAwIDQwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjYmJiOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgYm9keS5zZWFyY2ggLnNlYXJjaC1yZXN1bHQge1xuICAgICAgbWFyZ2luOiA2MHB4IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgNTBweCAwOyB9IH1cbiAgYm9keS5zZWFyY2ggLnNlYXJjaC1yZXN1bHQuZmlyc3QtcmVzdWx0IHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIGJvZHkuc2VhcmNoIC5zZWFyY2gtcmVzdWx0Lmxhc3QtcmVzdWx0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIGJvZHkuc2VhcmNoIC5zZWFyY2gtcmVzdWx0IC5tZXRhIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAgIGJvZHkuc2VhcmNoIC5zZWFyY2gtcmVzdWx0IC5tZXRhIC5tZXRhLWlubmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG4gIGJvZHkuc2VhcmNoIC5zZWFyY2gtcmVzdWx0IC50cmliZS1jb3VudHJ5LW5hbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgYm9keS5zZWFyY2ggLnNlYXJjaC1yZXN1bHQgLmV4Y2VycHQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuYm9keS5zZWFyY2ggLmZlYXR1cmVkLXBob3RvIHtcbiAgbWFyZ2luOiAwIDAgLjVyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGJvZHkuc2VhcmNoIC5mZWF0dXJlZC1waG90byB7XG4gICAgICBtYXJnaW46IDVweCAwIDAgMDsgfSB9XG5cbmJvZHkuc2VhcmNoIC5lbnRyeS1jb250ZW50IC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjExMTExcmVtO1xuICBtYXJnaW4tbGVmdDogLTEuMTExMTFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5LnNlYXJjaCAuZW50cnktY29udGVudCAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuODMzMzNyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuODMzMzNyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGJvZHkuc2VhcmNoIC5lbnRyeS1jb250ZW50IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC44MzMzM3JlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC44MzMzM3JlbTsgfSB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb25QcmVzcyBzZXR0aW5ncy5cbi8vICBCYXNlZCBvbiBGb3VuZGF0aW9uIGZvciBTaXRlcyB2Ni40LjNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuQGltcG9ydCAnZ2xvYmFsL2NvbG9ycyc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbi8vJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLWZvbnQtc2l6ZTogMThweDtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuLy8kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICAvL3ByaW1hcnk6ICMxNzc5YmEsXG4gIHByaW1hcnk6ICRibHVlLWRhcmssXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuLy8kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWNvbG9yOiAkYmx1ZS1kYXJrO1xuLy8kYm9keS1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1mb250LWZhbWlseTogJGJvZHktZm9udDtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiA0MHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyRoZWFkZXItZm9udC1mYW1pbHk6ICRoZHItZm9udDtcbi8vJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXdlaWdodDogODAwO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6ICRibHVlLWRhcms7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMTtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMiksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyOCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNTApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzYpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzApLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTcpLFxuICApLFxuICBsYXJnZTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNjApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDIpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzIpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjEpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTgpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbi8vJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICMzMzM7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRvcmFuZ2U7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAyMCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRkYXJrLW5hdi1jb2xvcjtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IHRydWU7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiB0cnVlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbi8vJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4vLyR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4vLyR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcblxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuLy8kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAwO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMDtcbiR0b3BiYXItYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIlxuLy8gc2V0IGZvbnRzXG4kYm9keS1mb250OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4kaGRyLWZvbnQ6ICdVbmljYSBPbmUnLCBzZXJpZjsgLy8gaDJcbiRzcGVjaWFsLWZvbnQ6ICdBYnJpbCBGYXRmYWNlJywgc2VyaWY7IC8vIGgxXG4iLCJcbi8vIC0tIG5ldyBzaXRlIC0tXG4vLyBjb29sc1xuJGJsdWUtZGFyazogIzJmNDg1ODtcbiRibHVlLWxpZ2h0OiAjMzM2NThhO1xuJGJsdWUtbGlnaHRlcjogIzY1OGNhNTtcblxuJGJsdWUtZ3JheS1saWdodDogI2RlZTVlNTtcblxuXG5cbiRuYXZ5OiAjMWMzNzRjO1xuXG4kdGFuOiAjZjJlZWU3O1xuJHRhbi1kYXJrOiAjYzJiZWI5O1xuXG4vLyB3YXJtc1xuJG9yYW5nZTogI2Y3MDtcbiRvcmFuZ2UtaG92ZXI6IHNjYWxlLWNvbG9yKCRvcmFuZ2UsICRsaWdodG5lc3M6IDIwJSk7XG5cbiRvcmFuZ2UtZGFyazogI2VlNjYwMDtcbiRvcmFuZ2UtbGlnaHQ6ICNmZjg4MjI7XG5cblxuXG4vLyAtLSBvbGQgc2l0ZSAtLVxuJGRhcmstbmF2LWNvbG9yOiAjMkMzODQwO1xuXG4vLyB3YXJtc1xuJGRhcmstb3JhbmdlOiAjQkM2NjMxO1xuJG9jaHJlOiAjYzU5OTNhO1xuJHJlZDogI2MzMDtcblxuLy8gYmx1ZXNcbiR0ZWFsOiAjNmE5O1xuJHNreS1ibHVlOiAjOGRkMGQ1O1xuXG4vLyBncmVlbnNcbiRkYXJrLW9saXZlLWdyZWVuOiAjMjMxO1xuJG9saXZlLWdyZWVuOiAjNGM1NDFjO1xuXG4kZGFyay1tb3NzOiAjNzE3ZjM1O1xuJG1vc3M6ICM5YWIxNDA7XG4kbGlnaHQtbW9zczogI2JiY2M4ODtcblxuJGFwcGxlLWdyZWVuOiAjNzZhYTQyO1xuXG4vLyB0YW5zXG4kZGFyay1iZWlnZTogI2JjYjRhNztcbiRtZWRpdW0tYmVpZ2U6ICNkYWQxYzI7XG4kYmVpZ2U6ICNlY2U4ZTA7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKCRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLW9mZigkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSwgJy4jeyRjb2x1bW59Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0uI3skcm93fSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjZW50ZXJ9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0sXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0wLFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tMCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcbiAgICB9XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLiN7JGNvbHVtbn0tI3skYmxvY2t9IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICBAaWYgJGNvbHVtbiA9PSAnY29sdW1uJyBhbmQgaGFzLXZhbHVlKCRncmlkLWNvbHVtbi1hbGlhcykge1xuICAgIC4jeyRncmlkLWNvbHVtbi1hbGlhc30ge1xuICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuICAgIFxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1lbGVtZW50LW5lc3RpbmcsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cbkBpbXBvcnQgXCJnbG9iYWwvY29sb3JzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2ZvbnRzXCI7XG5cbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3Nlcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLypcbiAgTXkgY3VzdG9tIHN0eWxlczpcbiAgQWRkIHlvdXIgc2NzcyBmaWxlcyBiZWxvdyB0byBzdHJ1Y3R1cmUgeW91ciBwcm9qZWN0IHN0eWxlc1xuKi9cblxuLy8gUGx1Z2luc1xuXG5cblxuLy8gR2xvYmFsXG5AaW1wb3J0IFwiZ2xvYmFsL3Jvb3RcIjtcbkBpbXBvcnQgXCJnbG9iYWwvYWNjZXNzaWJpbGl0eVwiO1xuQGltcG9ydCBcImdsb2JhbC93cC1hZG1pblwiO1xuQGltcG9ydCBcImdsb2JhbC93cC1vdmVycmlkZXNcIjtcblxuLy8gVmVuZG9yXG5AaW1wb3J0IFwidmVuZG9yL3NsaWNrXCI7XG5AaW1wb3J0IFwidmVuZG9yL3NsaWNrLXRoZW1lXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Rlc3RpbmF0aW9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZmFxXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mZWF0dXJlZC1pbWFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGlua3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Nwcml0ZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3V0aWxpdGllc1wiO1xuXG4vLyBNb2R1bGVzXG4vL0BpbXBvcnQgXCJtb2R1bGVzL25hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvb3RlclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvaGVhZGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9lZGl0b3Itc3R5bGVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NhcmRpbmFsLWxvY2F0b3JcIjtcblxuLy8gVGVtcGxhdGVzXG5AaW1wb3J0IFwidGVtcGxhdGVzL2Jhc2VcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvaG9tZVwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9wYWdlc1wiO1xuIiwiaDEsIC5oMSB7XG4gIGZvbnQtZmFtaWx5OiAkc3BlY2lhbC1mb250O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuaDEuaGRyc21hbGwsIC5oMS5oZHJzbWFsbCB7XG4gIGNvbG9yOiAkYmx1ZS1saWdodDtcbiAgLy9mb250LXNpemU6IDQ4cHg7XG4gIC8vbGluZS1oZWlnaHQ6IDEuMTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAvLyAgZm9udC1zaXplOiA2MnB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgLy8gIGZvbnQtc2l6ZTogODJweDtcbiAgfVxuXG59XG5oMiwgLmgyIHtcbiAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5oMywgLmgzIHtcbiAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5wIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC8vZm9udC1zaXplOiByZW0tY2FsYygxN3B4KTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZ2xvYmFsLWZvbnQtc2l6ZSk7IC8vIDE4XG4gIH1cblxufVxucC5iaWcge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOXB4KTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcbiAgfVxufVxudWwsIG9sIHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7IC8vMThcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7IC8vMjBcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZ2xvYmFsLWZvbnQtc2l6ZSk7IC8vIDIwOyB3YXMgMjJcbiAgfVxufVxuYSB7XG5cbiAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG59XG5hLm1vcmUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJG9yYW5nZTtcblxuICBAYXQtcm9vdCAubm8taW9zICY6aG92ZXIge1xuICAgIGNvbG9yOiAkb3JhbmdlLWhvdmVyO1xuICB9XG5cbn1cblxuYWRkcmVzcyB7XG4gIEBleHRlbmQgcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cblxuXG5cbi8vLyBzaGFyZSB0aGlzXG4uc2hhcmUtdGhpcyB7XG4gIG1hcmdpbjogNDBweCAwIDIwcHggMDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLmhkciB7XG4gICAgQGV4dGVuZCBoNTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLnN0QnV0dG9uIC5zdExhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zdEJ1dHRvbiB7XG4gICAgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDtcbiAgICBtYXJnaW46IDAgMTBweCAxMHB4IDA7XG5cbiAgICBAYXQtcm9vdCAubm8taW9zICYge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cblxuLnN0X2ZhY2Vib29rX2xhcmdlIHtcbiAgLnN0QnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tc29jaWFsLWZhY2Vib29rLnN2Zykgbm8tcmVwZWF0O1xuICB9XG59XG4uc3RfdHdpdHRlcl9sYXJnZSB7XG4gIC5zdEJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLXNvY2lhbC10d2l0dGVyLnN2Zykgbm8tcmVwZWF0O1xuICB9XG59XG4uc3RfaW5zdGFncmFtX2xhcmdlIHtcbiAgLnN0QnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tc29jaWFsLWluc3RhZ3JhbS5zdmcpIG5vLXJlcGVhdDtcbiAgfVxufVxuXG5cbi8vLyBwb3N0XG4uYmFjay1saW5rIHtcbiAgbWFyZ2luOiAwIDAgLjVyZW0gMDtcbiAgZm9udC1zaXplOiA5MCU7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG5cbiAgICBAYXQtcm9vdCAubm8taW9zICYge1xuICAgICAgLmljb24td3JhcCB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuaWNvbi13cmFwIHtcbiAgICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmljb24td3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDFweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7IGhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuXG59XG5cbnRpbWUge1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjOTk5O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNXB4KTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgfVxuXG59XG4iLCIvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiBBZGRyZXNzZXMgcGFydCBvZiB0aGVtZS1jaGVjayBpc3N1ZSAjODQwLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbn1cbiIsIi8vIEZpeCB0aGUgaXNzdWUgd2hlcmUgdGhlIFdQIGFkbWluLWJhciBvdmVybGFwcyB0aGUgbW9iaWxlIG1lbnVcbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBXUCBhZG1pbi1iYXIgZG9lcyBub3Qgb3ZlcmxhcCBGb3VuZGF0aW9uIGNvbXBvbmVudHNcbmJvZHkuYWRtaW4tYmFyIHtcbiAgLy8gT2Zmc2V0IHN0aWNreSB0b3AgYmFyXG4gICYuZi10b3BiYXItZml4ZWQge1xuICAgIC5zdGlja3kuZml4ZWQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAvLyBPZmZzZXQgbW9iaWxlIG9mZi1jYW52YXMgbWVudVxuICAmLm9mZmNhbnZhcyB7XG4gICAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDQ2KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzgzKSB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMzIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiXG4vLyBtYWtlIHRoZSB3aWR0aCBvZiBteSA8ZmlnY2FwdGlvbj4gbWF0Y2ggdGhlIHdpZHRoIG9mIHRoZSA8aW1nPiBpbnNpZGUgaXRzIDxmaWd1cmU+IHRhZyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy82NTM0NDczL2hvdy1jYW4taS1tYWtlLXRoZS13aWR0aC1vZi1teS1maWdjYXB0aW9uLW1hdGNoLXRoZS13aWR0aC1vZi10aGUtaW1nLWluc2lkZVxuZmlndXJlIHsgZGlzcGxheTogdGFibGU7ICAgbWFyZ2luOiAxMHB4IDAgMjVweCAhaW1wb3J0YW50OyB9XG5maWdjYXB0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2FwdGlvbjsgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5maWd1cmUgaW1nIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4ud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICAvL21heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbnAud3AtY2FwdGlvbi10ZXh0e1xuICBmb250LXNpemU6OTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzpyZW0tY2FsYygxMCkgMDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbjogMDsgbWFyZ2luLWJvdHRvbTogLjVyZW07XG5cbiAgZmlnY2FwdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG5cbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBtYXJnaW46IDA7IG1hcmdpbi1ib3R0b206IC41cmVtO1xuXG4gIGZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICB9XG5cbn1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuXG4vLyBTbGljayBpY29uIGVudGl0eSBjb2RlcyBvdXRwdXRzIHRoZSBmb2xsb3dpbmdcbi8vIFwiXFwyMTkwXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpBcIlxuLy8gXCJcXDIxOTJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGklwiXG4vLyBcIlxcMjAyMlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oCiXCJcblxuJHNsaWNrLWZvbnQtcGF0aDogXCIuLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4uL2ltYWdlcy9cIiAhZGVmYXVsdDtcbi8vJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogYmxhY2s7XG4vLyRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogI2NjYztcbi8vJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJG9yYW5nZTtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuLy8kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogMTRweDtcbi8vJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDE7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbi8vJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDE7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG4uYnV0dG9uLFxuLmJ1dHRvbjpmb2N1cyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogLjc1cmVtIDJyZW0gLjhyZW07XG4gIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAvL2JvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAycHggc29saWQgJGJsdWUtZGFyaztcbiAgY29sb3I6ICRibHVlLWRhcms7XG4gIC8vYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLy9mb250LXNpemU6IDE5cHg7XG4gICAgLy9wYWRkaW5nLXRvcDogLjVyZW07XG4gICAgcGFkZGluZy10b3A6IC43cmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nLXRvcDogLjU1cmVtO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuXG4gIEBhdC1yb290IC5pb3MgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1vbmx5KSB7XG4gICAgICBwYWRkaW5nLXRvcDogLjdyZW07XG4gICAgfVxuICB9XG5cbiAgQGF0LXJvb3QgLm5vLWlvcyAuYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZS1kYXJrO1xuICB9XG5cbiAgLmljb24td3JhcC1hcncge1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDNweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDE2cHg7IGhlaWdodDogMThweDtcbiAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIC8vdG9wOiAzcHg7XG4gICAgICAvL3dpZHRoOiAxNnB4OyBoZWlnaHQ6IDE4cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgd2lkdGg6IDE5cHg7IGhlaWdodDogMjFweDtcbiAgICB9XG5cbiAgICBwYXRoIHsgZmlsbDogJGJsdWUtZGFyazsgfVxuXG4gIH1cbiAgQGF0LXJvb3QgLm5vLWlvcyAuYnV0dG9uOmhvdmVyIHtcbiAgICAuaWNvbi13cmFwLWFydyB7XG4gICAgICBwYXRoIHsgZmlsbDogI2ZmZjsgfVxuICAgIH1cbiAgfVxuXG59XG5cblxuXG4uc2l0ZXMtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJveC1zaGFkb3c6IDAgLTJweCAwIHJnYmEoMCwwLDAsMC4yKSBpbnNldDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IG5vbmU7XG59XG5cblxuLmJ0bi1wZGYge1xuICBtYXJnaW46IDAgNXB4IDEwcHg7XG4gIC8vcGFkZGluZzogLjVyZW0gMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6ICRkYXJrLW9yYW5nZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGRhcmstb3JhbmdlO1xuICB9XG5cbiAgLmljb24td3JhcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDQycHg7XG4gICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICB9XG5cbn1cbiIsIi8vIGRlc3RpbmF0aW9uc1xuXG4uZGVzdGluYXRpb24tcm93IHtcbiAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1NTU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAvL3BhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTI5MHB4KSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0uNXJlbTsgbWFyZ2luLXJpZ2h0OiAtLjVyZW07XG4gIH1cblxufVxuXG4uZGVzdGluYXRpb24ge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIG1pbi1oZWlnaHQ6IDE4MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMjQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC41cmVtOyBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICB9XG5cbn0vL2Rlc3RpbmF0aW9uXG5cbi5kZXN0aW5hdGlvbi1tYXAge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWluLWhlaWdodDogMDtcbiAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAzMzBweDtcbiAgICBtYXJnaW46IDAgLjVyZW0gMXJlbSAuNXJlbTtcbiAgICBwYWRkaW5nOiAuN3JlbSAuNXJlbSAwIC41cmVtO1xuICAgIHBhZGRpbmctdG9wOiA4LjVyZW07XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGRhcmstb3JhbmdlO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxN3B4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgIH1cblxuICB9XG4gIC5pY29uLXdyYXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNzBweDsgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbjogN3B4IDE1cHggMCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTYwcHg7IGhlaWdodDogMTM0cHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cblxuICB9XG4gIC50ZXh0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAzcHg7XG4gICAgfVxuICB9XG5cbn0vLy5kZXN0aW5hdGlvbi1tYXBcblxuLmRlc3RpbmF0aW9uLW1hcGNhdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogMjAwcHg7XG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3RjYy1jYXRlZ29yeS1kZWZhdWx0LmpwZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAvL2JvcmRlcjogMTBweCBzb2xpZCAjZmZmO1xuICBib3gtc2hhZG93OiAzcHggM3B4IDVweCAwIHJnYmEoIzAwMCwuNCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAzMzBweDtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgfVxuXG4gICYuZGVzdGluYXRpb24tYWN0aXZpdHkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvdGNjLWFjdGl2aXR5LWRlZmF1bHQuanBnKTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMHB4OyByaWdodDogMTBweDsgbGVmdDogMTBweDsgYm90dG9tOiAxMHB4OyB6LWluZGV4OiAyO1xuICAgIC8vd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bzsgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkZWU1ZTU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAmLmZsaXBwZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAvL2JvcmRlcjogMTBweCBzb2xpZCAjZmZmO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuaGRyIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtIDAgMCAwO1xuICAgICAgY29sb3I6ICRibHVlLWRhcms7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIycHgpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoMTlweCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjRweCk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuZmxpcC10b2dnbGUge1xuXG4gICAgICAubGluZS1ob3JpeiB7XG4gICAgICAgIHN0cm9rZTogJGJsdWUtZGFyaztcbiAgICAgIH1cbiAgICAgIC5saW5lLXZlcnQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgLmNpcmNsZSB7XG4gICAgICAgIGZpbGw6ICNkZGQ7XG4gICAgICB9XG4gICAgICBAYXQtcm9vdCAubm8taW9zICYge1xuICAgICAgICBzdmc6aG92ZXIge1xuICAgICAgICAgIC5jaXJjbGUge1xuICAgICAgICAgICAgZmlsbDogI2NjYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5mbGlwLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gIH0vLy5mbGlwcGVkXG4gIC5mbGlwLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA1MCU7IGJvdHRvbTogMzBweDsgei1pbmRleDogNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4O1xuICAgIH1cblxuICAgIC8qIGllMTEgZml4IC0gc3RvcCBtb3ZlbWVudCBvbiBjbGljayAqL1xuICAgIHN2ZyB7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOiAwOyBsZWZ0OiAwO1xuICAgIH1cblxuICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG5cbiAgICAgIHN2Zzpob3ZlciB7XG4gICAgICAgIC5jaXJjbGUge1xuICAgICAgICAgIGZpbGw6ICRvcmFuZ2UtZGFyaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzdmcgLmxpbmUtdmVydCxcbiAgICAgIHN2ZyAubGluZS1ob3JpeixcbiAgICAgIHN2ZyAuY2lyY2xlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgfS8vLmZsaXAtdG9nZ2xlXG5cbiAgLmhkciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoMTlweCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG4gICAgfVxuXG4gIH1cbiAgLmZsaXAtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIHAge1xuICAgICAgY29sb3I6ICRibHVlLWRhcms7XG4gICAgfVxuICB9Ly8uZmxpcC1jb250ZW50XG4gIC5kZXNjLFxuICAuZGVzYyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gIH1cbiAgLmRlc3QtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogLjVyZW0gMDsgcGFkZGluZzogLjVyZW0gMXJlbSAuNnJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZS1kYXJrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCAubm8taW9zICYge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWUtbGlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuICAgIH1cblxuICAgIC5pY29uLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IC0xcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTJweDsgaGVpZ2h0OiA3cHg7XG4gICAgICBtYXJnaW46IDAgMCAwIC4xcmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMThweDsgaGVpZ2h0OiAxM3B4O1xuICAgICAgfVxuXG4gICAgfVxuICAgICYubWFwLWxpbmsge1xuXG4gICAgICAuaWNvbi13cmFwIHtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICBtYXJnaW46IDAgLjFyZW0gMCAwO1xuICAgICAgICB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7IGhlaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfS8vJi5tYXAtbGlua1xuXG4gIH0vLy5kZXN0LWxpbmtcblxuXG59Ly8uZGVzdGluYXRpb24tbWFwY2F0XG5cblxuLy8gZ2V0IGEgdmlzaXRvciBndWlkZVxuLmRlc3RpbmF0aW9ucy1hY3Rpb25zIHtcbiAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRibHVlLWRhcms7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgLy9mb250LXNpemU6IDE4cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCAubm8taW9zICYge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZS1saWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAuaWNvbi13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogLTRweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzhweDsgaGVpZ2h0OiAzM3B4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA0M3B4OyBoZWlnaHQ6IDM4cHg7XG4gICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA0N3B4OyBoZWlnaHQ6IDQxcHg7XG4gICAgfVxuXG4gIH1cbn1cbiIsIi5oZHItc2x1ZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIC42cmVtIC41cmVtIDA7IHBhZGRpbmc6IC4zcmVtIC43NXJlbSAuMjVyZW07XG4gIGJhY2tncm91bmQ6ICRibHVlLWxpZ2h0O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMnB4KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmhkci1zZWN0aW9uLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlLWRhcms7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAyMHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDc1JTsgaGVpZ2h0OiAycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYmFja2dyb3VuZDogJGJsdWUtZGFyaztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gIH1cblxuXG5cblxuICAmLmhkci1kZXN0aW5hdGlvbi13cmFwIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzU1NTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gIC5oZHItc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICB9XG5cbn1cbi5oZHItc2VjdGlvbiB7XG4gIG1hcmdpbjogMCBhdXRvIDFyZW0gYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG5cbn1cblxuXG4uaGRyLXNlY29uZGFyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IC02cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjAlOyBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6ICM5OTk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG4gIH1cblxufVxuIiwiLmJveC1mYXEge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICRibHVlLWRhcms7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggNXB4IDAgcmdiYSgjMDAwLC40KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC8vcGFkZGluZzogMnJlbSAycmVtO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDIwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC8vcGFkZGluZzogMnJlbSA0cmVtO1xuICB9XG5cbiAgLmlubmVyIHtcbiAgICBwYWRkaW5nOiAxLjNyZW0gMTBweCAxMHB4IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWUtZ3JheS1saWdodDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiAycmVtIDJyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gNHJlbTtcbiAgICB9XG5cbiAgfS8vaW5uZXJcblxuICAuaGRyIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAvL21hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gIH1cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMzMzO1xuICB9XG4gIGxpIHtcbiAgICBtYXJnaW46IDFyZW0gMDsgcGFkZGluZzogMCAwIDFyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsdWUtZ3JheS1saWdodDtcblxuICAgIEBhdC1yb290IC5uby1pb3MuanMgJiB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGFkZGVkIGJ5IGpzXG4gICAgJi5vcGVuIHtcblxuICAgICAgLnF1ZXN0aW9uIHtcbiAgICAgICAgLmljb24td3JhcCB7XG4gICAgICAgICAgLy90b3A6IDZweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG4gIC5xdWVzdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDAgMzBweDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICAgIC8vZm9udC1zaXplOiAxNXB4O1xuICAgIH1cblxuICAgIC5pY29uLXdyYXAge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xcHg7IGxlZnQ6IC0zMHB4OyB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDE3cHg7IGhlaWdodDogMTdweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRvcDogLTNweDsgbGVmdDogLTM1cHg7XG4gICAgICAgIHdpZHRoOiAxOXB4OyBoZWlnaHQ6IDE5cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAyMXB4OyBoZWlnaHQ6IDIxcHg7XG4gICAgICB9XG5cbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiAkb3JhbmdlO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbiAgLmFuc3dlciB7XG4gICAgbWFyZ2luOiAuNXJlbSAwIDAgMzBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW46IC41cmVtIDAgMCAzcmVtO1xuICAgICAgLy9mb250LXNpemU6IDE1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAvL2ZvbnQtc2l6ZTogMTVweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgLy9mb250LXNpemU6IDE1cHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIH1cbiAgfVxuXG59Ly9ib3gtZmFxXG4iLCIuZmVhdHVyZWQtaGVybyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygyMDApO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwMCk7XG4gIH1cbn1cbiIsIi8vIEFwcGx5IG91dGxpbmUgc3R5bGVzIG9ubHkgd2hlbiBpbnB1dCBtZXRob2QgaXMga2V5Ym9hcmRcbi8vIHJlbW92ZSA6Zm9jdXMgc3R5bGUgdmlhIFdoYXQgSW5wdXQgdXNpbmcgcHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnRcbi8vIHNvIDpmb2N1cyBpc24ndCBsZWZ0IGJyb2tlbiBpZiBKYXZhU2NyaXB0IGZhaWxzXG5cbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1c1xuW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmJ1dHRvbiB7XG4gIC8vcGFkZGluZzogLjVyZW0gMS4yNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcblxuICBAYXQtcm9vdCAubm8taW9zICYge1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbn1cblxuXG5hLmVtcGhhc2lzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGFwcGxlLWdyZWVuO1xuICAgIH1cbiAgfVxuXG59XG5cbiIsIi8vIFBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW46IDA7IHBhZGRpbmc6IDQwcHggMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcblxuICBsaSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgYSxcbiAgICAuY3VycmVudCB7XG4gICAgICBtYXJnaW46IDVweCAxMHB4OyBwYWRkaW5nOiAwIDVweCA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICRibHVlLWxpZ2h0ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgfVxuXG4gICAgICBhdC1yb290IC5uby1pb3MgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgIH1cbiAgICBhIHtcbiAgICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBjb2xvcjogJGJsdWUtbGlnaHQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jdXJyZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogJGJsdWUtbGlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgJGJsdWUtbGlnaHQ7XG4gICAgfVxuXG4gICAgLyogcHJldiwgbmV4dCAqL1xuICAgIC5wcmV2LFxuICAgIC5uZXh0IHtcbiAgICAgIG1hcmdpbjogMDsgcGFkZGluZzogMDtcbiAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgIEBhdC1yb290IC5uby1pb3MgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogM3B4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1hcnctYmlnLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgfVxuICAgIC5wcmV2IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLm5leHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gIH0vL2xpXG5cbn1cbiIsIi8vIGRlY29yYXRpdmUgYm9keSBlbGVtZW50c1xuLnNwcml0ZXMge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIHNwcml0ZVxuICAuc3ByaXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cblxuICAvLyBob3Jpem9udGFsIHBvc2l0aW9uXG4gIC5ob3Jpei0xIHtcbiAgICAmLnNwcml0ZS1sZWZ0IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgICYuc3ByaXRlLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICAuaG9yaXotMiB7XG4gICAgJi5zcHJpdGUtbGVmdCB7XG4gICAgICBsZWZ0OiAtMSU7XG4gICAgfVxuICAgICYuc3ByaXRlLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAtMSU7XG4gICAgfVxuICB9XG4gIC5ob3Jpei0zIHtcbiAgICAmLnNwcml0ZS1sZWZ0IHtcbiAgICAgIGxlZnQ6IDIlO1xuICAgIH1cbiAgICAmLnNwcml0ZS1yaWdodCB7XG4gICAgICByaWdodDogMiU7XG4gICAgfVxuICB9XG5cbiAgLy8gdmVydGljYWwgcG9zaXRpb25cbiAgLnZlcnQtMSB7XG4gICAgJi5zcHJpdGUtbGVmdCB7XG4gICAgICB0b3A6IDEwJTtcbiAgICB9XG4gICAgJi5zcHJpdGUtcmlnaHQge1xuICAgICAgYm90dG9tOiAxMCU7XG4gICAgfVxuICB9XG4gIC52ZXJ0LTIge1xuICAgICYuc3ByaXRlLWxlZnQge1xuICAgICAgdG9wOiAyMCU7XG4gICAgfVxuICAgICYuc3ByaXRlLXJpZ2h0IHtcbiAgICAgIGJvdHRvbTogMjAlO1xuICAgIH1cbiAgfVxuICAudmVydC0zIHtcbiAgICAmLnNwcml0ZS1sZWZ0IHtcbiAgICAgIHRvcDogMzAlO1xuICAgIH1cbiAgICAmLnNwcml0ZS1yaWdodCB7XG4gICAgICBib3R0b206IDMwJTtcbiAgICB9XG4gIH1cblxuICAvLyBsZWZ0IHNpZGUgc3ByaXRlc1xuICAuc3ByaXRlLWxlZnQge1xuICAgIGxlZnQ6IC01MHB4OyB0b3A6IDEwJTtcbiAgICBAZXh0ZW5kIC5hbmltLTY7XG4gIH1cbiAgLnNwcml0ZS0xIHtcbiAgICB3aWR0aDogMjIwcHg7IGhlaWdodDogMzA2cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zcHJpdGUtYmFsbG9vbi5zdmcpO1xuXG4gICAgJi5zaXplLTEge1xuICAgICAgd2lkdGg6IDE1MHB4OyBoZWlnaHQ6IDI5MHB4O1xuICAgIH1cbiAgICAmLnNpemUtMiB7XG4gICAgICB3aWR0aDogMjIwcHg7IGhlaWdodDogMzA2cHg7XG4gICAgfVxuICAgICYuc2l6ZS0zIHtcbiAgICAgIHdpZHRoOiAzMjBweDsgaGVpZ2h0OiA0NDVweDtcbiAgICB9XG5cbiAgfVxuICAuc3ByaXRlLTIge1xuICAgIHdpZHRoOiAyMjNweDsgaGVpZ2h0OiAxNzZweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZS1zZWFndWxsLnN2Zyk7XG5cbiAgICAmLnNpemUtMSB7XG4gICAgICB3aWR0aDogMjIzcHg7IGhlaWdodDogMTc2cHg7XG4gICAgfVxuICAgICYuc2l6ZS0yIHtcbiAgICAgIHdpZHRoOiAzMjNweDsgaGVpZ2h0OiAyNTVweDtcbiAgICB9XG4gICAgJi5zaXplLTMge1xuICAgICAgd2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDMxNnB4O1xuICAgIH1cblxuICB9XG4gIC5zcHJpdGUtMyB7XG4gICAgLy93aWR0aDogMjIwcHg7IGhlaWdodDogMzA2cHg7XG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZS1iYWxsb29uLnN2Zyk7XG5cbiAgICAmLnNpemUtMSB7XG4gICAgICAvL3dpZHRoOiAxNTBweDsgaGVpZ2h0OiAyOTBweDtcbiAgICB9XG4gICAgJi5zaXplLTIge1xuICAgICAgLy93aWR0aDogMjIwcHg7IGhlaWdodDogMzA2cHg7XG4gICAgfVxuICAgICYuc2l6ZS0zIHtcbiAgICAgIC8vd2lkdGg6IDMyMHB4OyBoZWlnaHQ6IDQ0NXB4O1xuICAgIH1cblxuICB9XG5cbiAgLy8gcmlnaHQgc2lkZSBzcHJpdGVzXG4gIC5zcHJpdGUtcmlnaHQge1xuICAgIHJpZ2h0OiAtNTBweDsgYm90dG9tOiAxMCU7XG4gICAgQGV4dGVuZCAuYW5pbS03O1xuICB9XG4gIC5zcHJpdGUtMTAge1xuICAgIHdpZHRoOiAyNzFweDsgaGVpZ2h0OiAxNzRweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Nwcml0ZS1jbG91ZC1sYWRsZS5zdmcpO1xuXG4gICAgJi5zaXplLTEge1xuICAgICAgd2lkdGg6IDI3MXB4OyBoZWlnaHQ6IDE3NHB4O1xuICAgIH1cbiAgICAmLnNpemUtMiB7XG4gICAgICB3aWR0aDogMzcxcHg7IGhlaWdodDogMjM5cHg7XG4gICAgfVxuICAgICYuc2l6ZS0zIHtcbiAgICAgIHdpZHRoOiA0MjBweDsgaGVpZ2h0OiAyNzFweDtcbiAgICB9XG5cbiAgfVxuICAuc3ByaXRlLTExIHtcbiAgICB3aWR0aDogMzcycHg7IGhlaWdodDogMjIxcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zcHJpdGUtY2xvdWQtc2lsdmVyd2FyZS5zdmcpO1xuXG4gICAgJi5zaXplLTEge1xuICAgICAgd2lkdGg6IDM3MnB4OyBoZWlnaHQ6IDIyMXB4O1xuICAgIH1cbiAgICAmLnNpemUtMiB7XG4gICAgICB3aWR0aDogNDcycHg7IGhlaWdodDogMjgwcHg7XG4gICAgfVxuICAgICYuc2l6ZS0zIHtcbiAgICAgIHdpZHRoOiA0MDBweDsgaGVpZ2h0OiAyMzdweDtcbiAgICB9XG5cbiAgfVxuICAuc3ByaXRlLTEyIHtcbiAgICAvL3dpZHRoOiAzNzFweDsgaGVpZ2h0OiAyMzlweDtcbiAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3ByaXRlLWNsb3VkLWxhZGxlLnN2Zyk7XG5cbiAgICAmLnNpemUtMSB7XG4gICAgICAvL3dpZHRoOiAyNzFweDsgaGVpZ2h0OiAxNzRweDtcbiAgICB9XG4gICAgJi5zaXplLTIge1xuICAgICAgLy93aWR0aDogMzcxcHg7IGhlaWdodDogMjM5cHg7XG4gICAgfVxuICAgICYuc2l6ZS0zIHtcbiAgICAgIC8vd2lkdGg6IDQ3MXB4OyBoZWlnaHQ6IDMwM3B4O1xuICAgIH1cblxuICB9XG5cbn1cblxuXG4vLyBhbmltYXRpb25zXG4uYW5pbS0xIHtcbiAgYW5pbWF0aW9uOiBmbG9hdC0xIDIwcyBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG5Aa2V5ZnJhbWVzIGZsb2F0LTEge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI1cHgsLTEwMHB4KSByb3RhdGUoMTBkZWcpO1xuICB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjVweCwxMDBweCkgcm90YXRlKC0xMGRlZyk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MHB4LC0xMDBweCkgcm90YXRlKDEwZGVnKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1cHgsMTAwcHgpIHJvdGF0ZSgtMTBkZWcpO1xuICB9XG59XG5cbi5hbmltLTIge1xuICBhbmltYXRpb246IGZsb2F0LTIgMTVzIGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbkBrZXlmcmFtZXMgZmxvYXQtMiB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MHB4LDE1MHB4KSByb3RhdGUoNWRlZyk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTBweCwtMjAwcHgpIHJvdGF0ZSgtNWRlZyk7XG4gIH1cbn1cblxuLmFuaW0tMyB7XG4gIGFuaW1hdGlvbjogZmxvYXQtMyAxNXMgaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQGtleWZyYW1lcyBmbG9hdC0zIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDc1cHgsNTBweCkgcm90YXRlKDEwZGVnKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03NXB4LC0xMDBweCkgcm90YXRlKC0xMGRlZyk7XG4gIH1cbn1cblxuLmFuaW0tNCB7XG4gIGFuaW1hdGlvbjogZmxvYXQtNCAxNXMgaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQGtleWZyYW1lcyBmbG9hdC00IHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwwcHgpIHJvdGF0ZSg1ZGVnKSBzY2FsZSguNyk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTBweCw1MHB4KSByb3RhdGUoLTVkZWcpIHNjYWxlKDEuMik7XG4gIH1cbn1cblxuXG4uYW5pbS01IHtcbiAgYW5pbWF0aW9uOiBmbG9hdC01IDE1cyBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG5Aa2V5ZnJhbWVzIGZsb2F0LTUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LDBweCkgcm90YXRlKDVkZWcpIHNjYWxlKC44KTtcbiAgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MHB4LC0xMDBweCkgcm90YXRlKC01ZGVnKSBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwcHgsMjAwcHgpIHJvdGF0ZSg1ZGVnKSBzY2FsZSguOCk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTBweCwtNTBweCkgcm90YXRlKC01ZGVnKSBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsMHB4KSByb3RhdGUoNWRlZykgc2NhbGUoLjgpO1xuICB9XG59XG5cblxuLmFuaW0tNiB7XG4gIGFuaW1hdGlvbjogZmxvYXQtNiAxNjBzIGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbkBrZXlmcmFtZXMgZmxvYXQtNiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsMHB4KSBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCw3MDBweCkgc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LDBweCkgc2NhbGUoMSk7XG4gIH1cbn1cblxuLmFuaW0tNyB7XG4gIGFuaW1hdGlvbjogZmxvYXQtNyAxNjBzIGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbkBrZXlmcmFtZXMgZmxvYXQtNyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsMHB4KSBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwtNzAwcHgpIHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwwcHgpIHNjYWxlKDEpO1xuICB9XG59XG4iLCIvLyBicmVha3BvaW50IGluZGljYXRvclxuLmJyZWFrcG9pbnRzIHtcblx0cG9zaXRpb246IGZpeGVkOyBib3R0b206IDVweDsgbGVmdDogNXB4OyB6LWluZGV4OiA1MDAwO1xuXHRwYWRkaW5nOiAuMjVlbSAuNWVtO1xuXHRjb2xvcjogI2ZmZjtcblx0YmFja2dyb3VuZDogIzY2Njtcblx0Zm9udC1zaXplOiAxMHB4O1xuXHRsZXR0ZXItc3BhY2luZzogLjFlbTtcbn1cbiIsIi5mb290ZXIge1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGNvbG9yOiAjZmZmO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cblxufVxuXG4uZnRyLXNvY2lhbCB7XG4gIG1hcmdpbjogMCAwIDUwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzhweDsgaGVpZ2h0OiAzOHB4O1xuICAgIG1hcmdpbjogNXB4O1xuICAgIG9wYWNpdHk6IC44O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiA0MnB4OyBoZWlnaHQ6IDQycHg7XG4gICAgfVxuXG4gICAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cblxuLyogdHJhdmVsIG5vdGljZSAqL1xuLmZvb3RlciB7XG5cbiAgYnV0dG9uLndhcm5pbmcge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtIC42cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbn1cbi5tb2RhbC10cmF2ZWwge1xuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgY29sb3I6ICRvcmFuZ2UtZGFyaztcbiAgICAvL2ZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuXG4uZnRyLW5hdiB7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIC5oZHIge1xuICAgIG1hcmdpbjogMCAwIC41cmVtIDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxN3B4KTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIi8vXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgICB9XG5cbiAgfS8vaGRyXG5cbiAgLmZ0ci1tZW51IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3cHgpO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIC4ycmVtIDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfS8vZnRyLW1lbnVcblxufS8vZnRyLW5hdlxuXG5cbi5mdHItY29udGFjdCB7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IC41cmVtIDAgMCAwO1xuICBib3JkZXItdG9wOiAjY2NjIHNvbGlkIDJweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgMCAxLjc1cmVtO1xuICB9XG5cbn1cbi5mdHItY29udGFjdCxcbi5mdHItY29udGFjdCBwIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxN3B4KTtcbiAgfVxufVxuLmZ0ci1hZGRyZXNzIHtcbiAgbWFyZ2luOiAwIDAgLjVyZW0gMDtcbiAgY29sb3I6ICRvcmFuZ2U7XG59Ly9mdHItYWRkcmVzc1xuXG4uZnRyLWVtYWlsIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG5cbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn0vL2Z0ci1lbWFpbFxuXG5cbi5mdHItbG9nb3Mge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMjEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiAyOTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLmZ0ci1sZWdhbCB7XG4gIG1hcmdpbjogMnJlbSAwIDFyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2NjYztcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMnB4KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTNweCk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTNweCk7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG59Ly9mdHItbGVnYWxcbiIsIi5zaXRlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTI7XG4gIGhlaWdodDogNjhweDtcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAvL3BhZGRpbmc6IDE4cHggMCAyMHB4O1xuICAvL3BhZGRpbmc6IDAgMCAyMHB4O1xuICAvL2JhY2tncm91bmQ6ICRvcmFuZ2U7XG4gIGJhY2tncm91bmQ6ICNkMTVkMGY7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBoZWlnaHQ6IDgycHg7XG4gICAgLy9wYWRkaW5nOiAxNXB4IDAgMTdweDtcbiAgICAvL3BhZGRpbmc6IDAgMCAxN3B4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAvL3BhZGRpbmc6IDE1cHggMCAxN3B4O1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogLTIwcHg7IHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIHJnYmEoIzAwMCwuMyksIHJnYmEoIzAwMCwwKSA2MCUgKTtcbiAgfVxuXG5cbiAgLm1lbnUtdG9nZ2xlLXdyYXAge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gICAgfVxuXG4gIH1cbiAgLm1lbnUtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDI4cHg7IGhlaWdodDogMzdweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAvL21hcmdpbi10b3A6IDhweDtcbiAgICAgIC8vbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi10b3A6IDIycHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAzM3B4OyBoZWlnaHQ6IDQzcHg7XG4gICAgICAvL21hcmdpbi10b3A6IDIwcHg7XG4gICAgICAvL21hcmdpbi10b3A6IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qXG4gIC5sb2dvLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAqL1xuICAubG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDUwJTsgei1pbmRleDogMjA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA5M3B4OyBoZWlnaHQ6IDgxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC00NnB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbG9nby1lbWJsZW0uc3ZnKSBuby1yZXBlYXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgIGltZyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNDUwcHg7IGhlaWdodDogOTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjI1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXG4gICAgICBpbWcge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA0ODlweDsgaGVpZ2h0OiAxMDRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjQ0cHg7XG4gICAgfVxuXG4gICAgLypcbiAgICBAYXQtcm9vdCAubm8taW9zICYge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICB9XG4gICAgfVxuICAgICovXG5cbiAgfS8vbG9nb1xuXG4gIC5zZWFyY2gtdG9nZ2xlLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICB9XG5cbiAgfVxuICAuc2VhcmNoLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMXB4OyBoZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luOiA1cHggMCAwIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDI1cHg7IGhlaWdodDogMzFweDtcbiAgICAgIC8vbWFyZ2luLXRvcDogMjhweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn0vL3NpdGUtaGVhZGVyXG5cbi8vIG1lbnUgcGFuZWxcbi5oZHItbWVudSB7XG4gIHBhZGRpbmc6IC43NXJlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBib3JkZXI6IG5vbmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgdG9wOiA2OXB4ICFpbXBvcnRhbnQ7IGxlZnQ6IDAgIWltcG9ydGFudDsgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHRvcDogODJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjc1cmVtO1xuXG4gICAgLyogbm9ydGggZW1ibGVtICovXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI0cHg7IGhlaWdodDogMjVweDtcbiAgICAgIG1hcmdpbjogMzBweCAwIDMwcHggNHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLW5vcnRoLnN2Zykgbm8tcmVwZWF0O1xuICAgIH1cblxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB0b3A6IDgycHggIWltcG9ydGFudDtcbiAgfVxuXG4gIEBhdC1yb290IC5hZG1pbi1iYXIgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IHRvcDogMTE1cHggIWltcG9ydGFudDsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHRvcDogMTI4cHggIWltcG9ydGFudDsgfSAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHRvcDogMTE0cHggIWltcG9ydGFudDsgfVxuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGxpIHtcbiAgICAvL21hcmdpbjogMTJweCAwO1xuICAgIC8vcGFkZGluZzogMTJweCAwO1xuICB9XG4gIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCA0cHg7XG4gICAgcGFkZGluZzogMTJweCA0cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMXB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMnB4KTtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCAubm8taW9zICYge1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTRweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIHJnYmEoJGJsdWUtZGFyaywwKSwgcmdiYSgkYmx1ZS1kYXJrLDApIDQ1JSwgcmdiYSgkYmx1ZS1kYXJrLDEpIDQ1JSxyZ2JhKCRibHVlLWRhcmssMSkgKTtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cblxufVxuXG4vLyBzZWFyY2ggcGFuZWxcbi5oZHItc2VhcmNoLWZvcm0ge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBib3JkZXI6IG5vbmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgdG9wOiA2OXB4ICFpbXBvcnRhbnQ7IGxlZnQ6IDAgIWltcG9ydGFudDsgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHRvcDogODJweCAhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB0b3A6IDgycHggIWltcG9ydGFudDtcbiAgfVxuXG4gIEBhdC1yb290IC5hZG1pbi1iYXIgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IHRvcDogMTE1cHggIWltcG9ydGFudDsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHRvcDogMTI4cHggIWltcG9ydGFudDsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgdG9wOiAxMTRweCAhaW1wb3J0YW50OyB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICB9XG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHBhZGRpbmc6IDAgLjVlbTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYmFja2dyb3VuZDogIzk5OTtcblxuICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2FhYTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG59Ly9oZHItc2VhcmNoLWZvcm1cblxuXG4udGVzdC1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLy9kaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xufVxuIiwiYm9keSN0aW55bWNle1xuICBoZWlnaHQ6IGF1dG87IC8vIEZpeCBlZGl0b3Igc3R5bGUgYnVnXG4gIG1heC13aWR0aDogJGdyaWQtcm93LXdpZHRoOyAvLyBHaXZlIHRoZSBlZGl0b3IgYSBtYXgtd2lkdGhcbiAgcGFkZGluZzogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG59IiwiJHdoaXRlOiAjZmZmO1xyXG4kZ3JheTogI2NjYztcclxuJGRhcmtncmF5OiAjOGU4ZThlO1xyXG4kdGl0bGVncmF5OiAjNzk3ODc0O1xyXG4kc2hhZG93OiAjNjU2NTY1O1xyXG4kdGV4dGdyYXk6ICM1NTU7XHJcbiRkYXJrZXJncmF5OiAjMmMyYzJjO1xyXG4kYmxhY2s6ICMwMDA7XHJcbiRibHVlOiAjMDA1MjkzO1xyXG4kcmVkOiAjYWUyMTE4O1xyXG4vLyRhcmlhbEZvbnQ6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcbiRhcmlhbEZvbnQ6ICRib2R5LWZvbnQ7XHJcblxyXG4vLy8gYmFzZSBzdHlsZXNcclxuLmdtLXN0eWxlIHtcclxuXHRkaXYsIHNwYW4sIGxhYmVsLCBhIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkYXJpYWxGb250O1xyXG5cdH1cclxufVxyXG5cclxuLmdtLXN0eWxlLWl3LmdtLXN0eWxlLWl3LWMge1xyXG5cdG1heC13aWR0aDogMjQwcHggIWltcG9ydGFudDtcclxuXHRtYXgtaGVpZ2h0OiAyNTBweCAhaW1wb3J0YW50O1xyXG5cdHBhZGRpbmc6IDM1cHggMjBweCAyNXB4ICFpbXBvcnRhbnQ7XHJcblxyXG5cdGJ1dHRvbiB7XHJcblx0XHR0b3A6IDBweCAhaW1wb3J0YW50OyByaWdodDogOHB4ICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0d2lkdGg6IDI0cHggIWltcG9ydGFudDsgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0LmdtLXN0eWxlLWl3LWQge1xyXG5cdFx0bWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5nbS1pbmZvIHtcclxuXHQvKlxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xyXG5cdH1cclxuXHQqL1xyXG5cclxuXHQubG9jLW5hbWUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cdFx0Ly9mb250LXdlaWdodDogODAwO1xyXG5cdFx0Ly9mb250LXNpemU6IHJlbS1jYWxjKDE5cHgpO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0fVxyXG5cdC5sb2MtY29udGFjdCB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcclxuXHR9XHJcblx0LmxvYy1wYWdlIHtcclxuXHRcdG1hcmdpbi10b3A6IDZweDtcclxuXHRcdGEge1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5iaC1zbC1lcnJvciB7XHJcblx0cGFkZGluZzogMTBweCAwO1xyXG5cdGNvbG9yOiAkcmVkO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uYmgtc2wtY29udGFpbmVyIHtcclxuXHJcblx0LmJoLXNsLWxvYWRpbmcge1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltZy9hamF4LWxvYWRlci5naWYpIG5vLXJlcGVhdDtcclxuXHRcdG1hcmdpbjogNHB4IDAgMCAxMHB4O1xyXG5cdFx0aGVpZ2h0OiAxNnB4O1xyXG5cdFx0d2lkdGg6IDE2cHg7XHJcblx0fVxyXG5cclxufVxyXG5cclxuLyogQXZvaWQgaW1hZ2UgaXNzdWVzIHdpdGggR29vZ2xlIE1hcHMgYW5kIENTUyByZXNldHMgKi9cclxuLmJoLXNsLW1hcC1jb250YWluZXIgaW1nIHtcclxuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG5cdG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuXHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcblxyXG4vLy8gbGF5b3V0IGZvciBtYXAgYW5kIGxpc3RcclxuLmJoLXNsLW1hcC1jb250YWluZXIge1xyXG5cdEBpbmNsdWRlIGdyaWQtcm93O1xyXG59XHJcbi5iaC1zbC1tYXAge1xyXG5cdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyLDApO1xyXG5cdGhlaWdodDogNDMwcHg7XHJcblx0Ly93aWR0aDogMTAwJTtcclxuXHQvL21hcmdpbi1ib3R0b206IDFyZW07XHJcblx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHJcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig3LDApO1xyXG5cdFx0Ly9AaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbig1KTtcclxuXHRcdGhlaWdodDogNTMwcHg7XHJcblx0XHRtYXJnaW46IDA7XHJcblxyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblxyXG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCwwKTtcclxuXHRcdC8vQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oNCk7XHJcblxyXG5cdH1cclxuXHJcblxyXG59XHJcbi5iaC1zbC1sb2MtbGlzdCB7XHJcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblx0aGVpZ2h0OiA0MzBweDtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHJcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig0LjYsMCk7XHJcblx0XHQvL0BpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKC03LjQpO1xyXG5cdFx0aGVpZ2h0OiA1MzBweDtcclxuXHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHJcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigzLjgsMCk7XHJcblx0XHQvL0BpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKC04LjIpO1xyXG5cclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8vLyBsYXlvdXQgZm9yIGZvcm0vc2VhcmNoL2ZpbHRlcnNcclxuLmJoLXNsLWZvcm0tY29udGFpbmVyIGZvcm0ge1xyXG5cdCBAaW5jbHVkZSBncmlkLXJvdztcclxufVxyXG4uYmgtc2wtZm9ybS1pbnB1dCB7XHJcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIsMCk7XHJcblxyXG5cdC5iaC1zbC1mb3JtLWlucHV0LWdyb3VwOmZpcnN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cclxuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDksMCk7XHJcblxyXG5cdFx0LmJoLXNsLWZvcm0taW5wdXQtZ3JvdXAge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0d2lkdGg6IDQ1JTtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyLjUlO1xyXG5cdFx0fVxyXG5cdFx0LmJoLXNsLWZvcm0taW5wdXQtZ3JvdXA6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgxMzc1KSB7XHJcblxyXG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oNiwwKTtcclxuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKDQpO1xyXG5cclxuXHRcdC5iaC1zbC1mb3JtLWlucHV0LWdyb3VwIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyLjUlO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMi41JTtcclxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHR9XHJcbn1cclxuLmJoLXNsLWZvcm0tc3VibWl0IHtcclxuXHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMiwwKTtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHJcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigzLDApO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KDEzNzUpIHtcclxuXHJcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigyLDApO1xyXG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oNCk7XHJcblxyXG5cdH1cclxufVxyXG4uYmgtc2wtZmlsdGVycy1jb250YWluZXIge1xyXG5cdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyLDApO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cclxuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyLDApO1xyXG5cclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgxMzc1KSB7XHJcblxyXG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMywwKTtcclxuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKC05KTtcclxuXHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLy8gc3R5bGVzIGZvciBmb3JtL3NlYXJjaC9maWx0ZXJzXHJcbi5iaC1zbC1mb3JtLWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbjogMCAwIDFyZW0gMDsgcGFkZGluZzogMXJlbTtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdGJveC1zaGFkb3c6IDNweCAzcHggNXB4IDAgcmdiYSgjMDAwLC40KTtcclxuXHRib3JkZXI6IDEwcHggc29saWQgI2ZmZjtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHR9XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyByaWdodDogMDsgei1pbmRleDogMTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsdWUtZ3JheS1saWdodDtcclxuXHR9XHJcblxyXG5cdGZvcm0ge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyO1xyXG5cdH1cclxuXHJcblx0aW5wdXQsXHJcblx0c2VsZWN0IHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdC8vZm9udC1zaXplOiByZW0tY2FsYygxNXB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0Ly9mb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0aW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG5cclxuXHRcdCY6OnBsYWNlaG9sZGVyIHtcclxuXHRcdFx0Y29sb3I6ICM5OTk7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHRzZWxlY3Qge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuXHJcblx0XHQmOjpwbGFjZWhvbGRlciB7XHJcblx0XHRcdGNvbG9yOiAjOTk5O1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0bGFiZWwge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogLjI1cmVtO1xyXG5cdFx0Y29sb3I6ICRibHVlLWRhcms7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0ICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XHJcblx0ICB9XHJcblx0ICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0ICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGdsb2JhbC1mb250LXNpemUpOyAvLyAxOFxyXG5cdCAgfVxyXG5cclxuXHR9XHJcblxyXG59XHJcblxyXG4uYmgtc2wtZm9ybS1jb250YWluZXIge1xyXG5cclxuXHRidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcclxuXHRidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XHJcblx0XHRAZXh0ZW5kIC5idXR0b247XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMjNweDtcclxuXHRcdHBhZGRpbmc6IC40NXJlbSAxLjI1cmVtIC40NXJlbTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdGJhY2tncm91bmQ6ICMzMzY1OGE7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcHggIWltcG9ydGFudDtcclxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE5cHgpO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0ICAgIC8vZm9udC1zaXplOiByZW0tY2FsYygxN3B4KTtcclxuXHRcdFx0dG9wOiAzMXB4O1xyXG5cdCAgfVxyXG5cdCAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdCAgICAvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XHJcblx0ICB9XHJcblxyXG5cdH1cclxuXHJcblx0aW5wdXRbdHlwZT1cInRleHRcIl0sXHJcblx0c2VsZWN0IHtcclxuXHRcdGhlaWdodDogMnJlbTtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuLmJoLXNsLWZpbHRlcnMtY29udGFpbmVyIHtcclxuXHJcblx0LmJoLXNsLWZpbHRlci10aXRsZSB7XHJcblx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogLjI1cmVtO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGNvbG9yOiAkYmx1ZS1kYXJrO1xyXG5cclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHQgICAgZm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcclxuXHQgIH1cclxuXHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHQgICAgZm9udC1zaXplOiByZW0tY2FsYygkZ2xvYmFsLWZvbnQtc2l6ZSk7IC8vIDE4XHJcblx0ICB9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxMzc1KSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0LmJoLXNsLWZpbHRlcnMge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vLy8gc3R5bGVzIGZvciBtYXAvbGlzdFxyXG4uYmgtc2wtbWFwLWNvbnRhaW5lciB7XHJcblxyXG5cdGEge1xyXG5cdFx0Ly9jb2xvcjogJGJsdWU7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cdFx0JjphY3RpdmUsXHJcblx0XHQmOmZvY3VzLFxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4vLy8gbGlzdCBpdGVtIGxheW91dFxyXG4uYmgtc2wtbG9jLWxpc3Qge1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym94LXNoYWRvdzogM3B4IDNweCA1cHggMCByZ2JhKCMwMDAsLjQpO1xyXG5cclxuXHRsaSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KDg0NSkge1xyXG5cdFx0XHRAaW5jbHVkZSBncmlkLXJvdztcclxuXHJcblx0ICB9XHJcblx0fVxyXG5cdC5saXN0LWxhYmVsLXdyYXAge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg4NDUpIHtcclxuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMywwKTtcclxuXHQgIH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoMTI2MCkge1xyXG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigyLDApO1xyXG5cdCAgfVxyXG5cdH1cclxuXHQubGlzdC1kZXRhaWxzIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoODQ1KSB7XHJcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDksMCk7XHJcblx0ICB9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KDEyNjApIHtcclxuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTAsMCk7XHJcblx0ICB9XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcbi8vLyBsaXN0IHN0eWxpbmdcclxuLmJoLXNsLWxvYy1saXN0IHtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcblx0Ly9vdmVyZmxvdy14OiBhdXRvO1xyXG5cdG92ZXJmbG93LXk6IHNjcm9sbDsgLyogaGFzIHRvIGJlIHNjcm9sbCwgbm90IGF1dG8gKi9cclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC8qIGlvcyBzbW9vdGggc2Nyb2xsICovXHJcblxyXG5cdHVsIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRwYWRkaW5nOiAwIDFyZW0gMCAxLjI1cmVtO1xyXG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdHBhZGRpbmc6IDAgLjc1cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHdoaXRlOyAvKiBBZGRpbmcgdGhpcyB0byBwcmV2ZW50IG1vdmluZyBsaSBlbGVtZW50cyB3aGVuIGFkZGluZyB0aGUgbGlzdC1mb2N1cyBjbGFzcyovXHJcblx0XHRcdC8vYm9yZGVyLXRvcDogMXB4IGRvdHRlZCAkYmx1ZS1ncmF5LWxpZ2h0O1xyXG5cdFx0XHRib3JkZXItdG9wOiAxcHggZG90dGVkICNiNmMwYzA7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMDsgcGFkZGluZzogMS4yNXJlbSAwO1xyXG5cclxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICR3aGl0ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbi8qXHJcblx0Lmxpc3QtbGFiZWwge1xyXG5cdFx0QGV4dGVuZCBwO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWluLXdpZHRoOiAxM3B4O1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRtYXJnaW46IDAgMCAxcmVtIDA7IHBhZGRpbmc6IC41cmVtIC42NnJlbSAuNHJlbTtcclxuXHRcdGJhY2tncm91bmQ6ICRkYXJrLW9yYW5nZTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDgwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAzcHg7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuKi9cclxuXHQubGlzdC1tYXJrZXIge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogM3B4OyBsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDI0cHg7IGhlaWdodDogMzVweDtcclxuXHRcdG1hcmdpbjogMCAwIDFyZW0gMDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1tYXAtcGluLXNoYWRvdy5zdmcpIG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHR3aWR0aDogMjhweDsgaGVpZ2h0OiA0MXB4O1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0Lmxpc3QtZm9jdXMge1xyXG5cclxuXHRcdC5saXN0LW1hcmtlciB7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1tYXAtcGluLXNoYWRvdy1mb2N1cy5zdmcpO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblx0Lmxpc3QtbGFiZWwge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cclxuXHQubG9jLW5hbWUge1xyXG5cdFx0bWFyZ2luOiAwIDAgMTBweCAwO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRmb250LXNpemU6IDE5cHg7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHRwLmxvYy1jb250YWN0IHtcclxuXHRcdGNvbG9yOiAkYmx1ZS1kYXJrO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cdC5sb2MtcGFnZSB7XHJcblx0XHRhLmJ1dHRvbiB7XHJcblx0XHRcdG1hcmdpbjogMDsgcGFkZGluZzogLjVyZW0gMXJlbSAuNXJlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAuMzhyZW07XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogLjM1cmVtO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMnB4O1xyXG5cdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdCAgICB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNnB4O1xyXG5cdFx0ICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tYXJ3LWJpZy5zdmcpIG5vLXJlcGVhdDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdCAgICAgIC8vdG9wOiAzcHg7XHJcblx0XHQgICAgICAvL3dpZHRoOiAxNnB4OyBoZWlnaHQ6IDE4cHg7XHJcblx0XHQgICAgfVxyXG5cdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdCAgICAgLy8gdG9wOiA0cHg7XHJcblx0XHQgICAgIC8vIHdpZHRoOiAxOXB4OyBoZWlnaHQ6IDIxcHg7XHJcblx0XHRcdFx0IHRvcDogM3B4O1xyXG5cdFx0XHRcdCB3aWR0aDogMTZweDsgaGVpZ2h0OiAxOHB4O1xyXG5cdFx0ICAgIH1cclxuXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBhdC1yb290IC5uby1pb3MgJiB7XHJcblxyXG5cdFx0ICAgICY6aG92ZXIge1xyXG5cclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb24tYXJ3LWJpZy13aGl0ZS5zdmcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdCAgICB9XHJcblxyXG5cdFx0ICB9XHJcblxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cclxuXHQuYmgtc2wtY2xvc2UtZGlyZWN0aW9ucy1jb250YWluZXIge1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdC5iaC1zbC1jbG9zZS1pY29uIHtcclxuXHRcdFx0cmlnaHQ6IDZweDtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJoLXNsLWRpcmVjdGlvbnMtcGFuZWwge1xyXG5cdFx0bWFyZ2luOiAwIDIlO1xyXG5cclxuXHRcdC8qIEF2b2lkIGlzc3VlcyB3aXRoIHRhYmxlLWxheW91dCAqL1xyXG5cdFx0dGFibGUge1xyXG5cdFx0XHR0YWJsZS1sYXlvdXQ6IGF1dG87XHJcblx0XHR9XHJcblxyXG5cdFx0dGFibGUsIHRkIHtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0Ym9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxuXHRcdH1cclxuXHJcblx0XHR0ZCB7XHJcblx0XHRcdHBhZGRpbmc6IDFweDtcclxuXHRcdH1cclxuXHJcblx0XHQuYWRwLXBsYWNlbWFyayB7XHJcblx0XHRcdG1hcmdpbjogMTBweCAwO1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5hZHAtbWFya2VyIHtcclxuXHRcdFx0cGFkZGluZzogM3B4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJoLXNsLW5vcmVzdWx0cy10aXRsZSB7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGNvbG9yOiAkcmVkO1xyXG5cdFx0bWFyZ2luOiAxNXB4IDE1cHggNXB4IDE1cHg7XHJcblx0fVxyXG5cclxuXHQuYmgtc2wtbm9yZXN1bHRzLWRlc2Mge1xyXG5cdFx0bWFyZ2luOiAwIDE1cHg7XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi5iaC1zbC1tYXAge1xyXG5cdGJvcmRlcjogMTBweCBzb2xpZCAjZmZmO1xyXG5cdGJveC1zaGFkb3c6IDNweCAzcHggNXB4IDAgcmdiYSgjMDAwLC40KTtcclxufVxyXG5cclxuLmJoLXNsLXBhZ2luYXRpb24tY29udGFpbmVyIHtcclxuXHJcblx0b2wge1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMTBweCAwO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0Y29sb3I6ICRibHVlO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0Zm9udDogYm9sZCAxNHB4ICRhcmlhbEZvbnQ7XHJcblx0XHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmJoLXNsLWN1cnJlbnQge1xyXG5cdFx0XHRjdXJzb3I6IGF1dG87XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLmJoLXNsLXdpZGdldC1zaG9ydGNvZGUtc3R5bGVzIHtcclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJGJsdWU7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cdFx0JjphY3RpdmUsXHJcblx0XHQmOmZvY3VzLFxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmxvYy1uYW1lIHtcclxuXHRcdC8vZm9udC1zaXplOiAxNXB4O1xyXG5cdFx0Ly9mb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcbn1cclxuXHJcbi5iaC1zbC1tYXAtd2lkZ2V0IHtcclxuXHRAZXh0ZW5kIC5iaC1zbC13aWRnZXQtc2hvcnRjb2RlLXN0eWxlcztcclxuXHRtaW4taGVpZ2h0OiAyNTBweDtcclxufVxyXG5cclxuLmJoLXNsLW1hcC1zaG9ydGNvZGUge1xyXG5cdEBleHRlbmQgLmJoLXNsLXdpZGdldC1zaG9ydGNvZGUtc3R5bGVzO1xyXG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG59XHJcbiIsIlxuLy8vIENvbnRlbnQgd3JhcFxuLm1haW4tY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwO1xufVxuLy8vIENvbnRlbnQgY29sdW1uXG4ubWFpbi1jb250ZW50LWNvbHVtbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1heC13aWR0aDogOTAlO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTI4NSkge1xuICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgfVxufVxuXG4vLyBzY3JvbGwgZG93blxuLnNjcm9sbC1kb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiA1MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiAtMjhweDtcblxuICBjaXJjbGUge1xuICAgIGZpbGw6ICRibHVlLWxpZ2h0O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB3aWR0aDogNjBweDsgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbi10b3A6IC05MHB4O1xuICB9XG5cbiAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgfVxuXG4gIH1cbiAgQGF0LXJvb3QgLmlzLWllICYge1xuICAgIG1hcmdpbi10b3A6IC0yMXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yOHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMzJweDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi8vLyBpbnRyb1xuc2VjdGlvbi5pbnRybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2ljb24tdmlzdGEtdmlicmFudC5zdmcpIGxlZnQgYm90dG9tIHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIC0xODRkZWcsIHJnYmEoIzYwNEMzRSwwKSA3NSUsIHJnYmEoIzYwNEMzRSwuOCkgKSwgdXJsKC4uL2ltYWdlcy9pY29uLXZpc3RhLXZpYnJhbnQuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDIwMHB4O1xuXG4gIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDd2dyksIDAgMTAwJSk7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSBjYWxjKDEwMCUgLSA3dncpLCAwIDEwMCUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMSUgYXV0bztcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxNDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIHJnYmEoI2RiZDJjYSwuOSksIHJnYmEoI2RiZDJjYSwwKSApO1xuICB9XG5cbiAgLmlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7XG4gICAgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDUwcHggMjBweCAxMDBweDtcbiAgICAvL2JhY2tncm91bmQ6ICMzMzMgdXJsKC4uL2ltYWdlcy9iZy1uZXRhcnRzLXNwaXQuanBnKSBsZWZ0IHRvcCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZDogIzMzMyB1cmwoLi4vaW1hZ2VzL2JnLXN1bnNldC1tb3VudGFpbnMtdHJlZXMuanBnKSBsZWZ0IHRvcCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAtMTg0ZGVnLCByZ2JhKCMwMDAsMCkgMTAlLCByZ2JhKCMwMDAsLjgpICksIHVybCguLi9pbWFnZXMvYmctbmV0YXJ0cy1zcGl0LmpwZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAtMTg0ZGVnLCByZ2JhKCMwMDAsMCkgMTAlLCByZ2JhKCMwMDAsLjgpICksIHVybCguLi9pbWFnZXMvYmctc3Vuc2V0LW1vdW50YWlucy10cmVlcy5qcGcpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAtMTg0ZGVnLCByZ2JhKCMwMDAsMCkgMTAlLCByZ2JhKCMwMDAsMSkgKSwgdXJsKC4uL2ltYWdlcy9iZy1uZXRhcnRzLXNwaXQuanBnKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggLTE4NGRlZywgcmdiYSgjMDAwLC4xKSAxMCUsIHJnYmEoIzAwMCwuNikgKSwgdXJsKC4uL2ltYWdlcy9iZy1zdW5zZXQtbW91bnRhaW5zLXRyZWVzLmpwZyk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ3NXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDgwcHggMHB4IDE2MHB4IDEyMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gICAgfVxuXG4gICAgQGF0LXJvb3QgYm9keS5wYWdlLXRlbXBsYXRlLWZyb250LXBhZ2UgJiB7XG4gICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYmctc3VucmlzZS1vY2Vhbi1yb2NreS1jb2FzdC5qcGcpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9iYW5uZXItc3VucmlzZS1ncmFzcy1tb3VudGFpbi1kay5qcGcpO1xuICAgIH1cbiAgICBAYXQtcm9vdCBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS1hYm91dCAmIHtcbiAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAtMTg0ZGVnLCByZ2JhKCMwMDAsMCkgMTAlLCByZ2JhKCMwMDAsLjIpICksIHVybCguLi9pbWFnZXMvYmctbW91bnRhaW5zLWV2ZW5pbmcuanBnKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggLTE4NGRlZywgcmdiYSgjMDAwLDApIDEwJSwgcmdiYSgjMDAwLC4yKSApLCB1cmwoLi4vaW1hZ2VzL2JnLWZvcmVzdC1zdHJlYW0td29tYW4tcGV0LmpwZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIH1cbiAgICBAYXQtcm9vdCBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS1sb2RnaW5nICYge1xuICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2JnLW1haW5zdHJlZXQuanBnKTtcbiAgICB9XG4gICAgQGF0LXJvb3QgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtdHJhbnNwb3J0YXRpb24gJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2JnLW1haW5zdHJlZXQtdGlsbGFtb29rLmpwZyk7XG4gICAgfVxuICAgIEBhdC1yb290IGJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRyYWlsICYge1xuICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2JnLWNhcGVsb29rb3V0LWhpa2UuanBnKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYmctc3Vuc2V0LW1vdXRhaW4tdG9wLWhpa2UuanBnKTtcbiAgICB9XG4gICAgQGF0LXJvb3QgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtYWN0aXZpdGllcyAmIHtcbiAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9iZy1mb3Jlc3QtdHJhaWwuanBnKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYmctZm9yZXN0LWhpa2UtbWFuLmpwZyk7XG4gICAgfVxuXG4gIH0vL2lubmVyXG5cbiAgLmludHJvLWNvbnRlbnQge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTMwMHB4KSB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgIH1cblxuICB9XG5cbiAgLmhkcixcbiAgcCB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgcCB7XG4gICAgQGV4dGVuZCBwLmJpZztcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICB9XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG59Ly9pbnRyb1xuXG5cbi8vIHBhZ2Ugd3JhcHBlciAtIGFuZ2xlZCB0b3AsIHdhdnkgYmFja2dyb3VuZCwgbGFuZHNjYXBlIGJvdHRvbVxuLnBhZ2Utd3JhcHBlciB7XG4gIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxO1xuICBtYXJnaW46IC03dncgMCAwIDA7XG4gIHBhZGRpbmc6IDUwcHggMCAxMDBweDtcbiAgLy9iYWNrZ3JvdW5kOiAkYmx1ZS1ncmF5LWxpZ2h0IHVybCguLi9pbWFnZXMvYmctd292LnBuZyk7XG4gIGJhY2tncm91bmQ6ICNEQkQyQ0EgdXJsKC4uL2ltYWdlcy9iZy10cmVlLXJpbmdzLnBuZyk7XG5cblxuICAvLy13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgY2FsYygwJSArIDd2dyksIDEwMCUgMTAwJSwgMTAwJSAwLCAwIDEwMCUpO1xuICAvL2NsaXAtcGF0aDogcG9seWdvbigwIGNhbGMoMCUgKyA3dncpLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCAxMDAlKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMjAwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6IDE1MHB4IDAgMzAwcHg7XG4gIH1cblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIDM2MGRlZywgcmdiYSgjZmZmLDApLCByZ2JhKCNmZmYsMSkgODAlICk7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMDBweDtcbiAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1sYW5kc2NhcGUuc3ZnKSwgbGluZWFyLWdyYWRpZW50KCByZ2JhKCNmZmYsMCksIHJnYmEoI2ZmZiwxKSA4MCUgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb24tbGFuZHNjYXBlLXZpYnJhbnQuc3ZnKSwgbGluZWFyLWdyYWRpZW50KCByZ2JhKCNmZmYsMCksIHJnYmEoI2ZmZiwxKSA4MCUgKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjAwcHg7XG4gICAgLy9iYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDElIGF1dG87XG4gICAgfVxuXG4gIH1cblxufVxuXG4vLyBwYWdlIHdyYXBwZXIgLSBmbGF0IHRvcCwgd2F2eSBiYWNrZ3JvdW5kLCBsYW5kc2NhcGUgYm90dG9tXG4ucGFnZS13cmFwcGVyLWZsYXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDBweCAwIDE1MHB4O1xuICAvL2JhY2tncm91bmQ6ICRibHVlLWdyYXktbGlnaHQgdXJsKC4uL2ltYWdlcy9iZy13b3YucG5nKTtcbiAgYmFja2dyb3VuZDogI0RCRDJDQSB1cmwoLi4vaW1hZ2VzL2JnLXRyZWUtcmluZ3MucG5nKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDBweCAwIDIwMHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAwcHggMCAzMDBweDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb24tbGFuZHNjYXBlLXZpYnJhbnQuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjAwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1sYW5kc2NhcGUtdmlicmFudC5zdmcpLCBsaW5lYXItZ3JhZGllbnQoIHJnYmEoI2ZmZiwwKSwgcmdiYSgjZmZmLDEpIDgwJSApO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAxJSBhdXRvO1xuICAgIH1cblxuICB9XG5cbn1cblxuLnJvdy1tYWluIHtcbiAgcGFkZGluZzogMzBweCAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZzogNjBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogODBweDtcbiAgfVxuXG59XG4ucGFnZS13cmFwcGVyLWZsYXQgLnJvdy1tYWluIHtcbiAgcGFkZGluZzogMzBweCAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZzogNDBweCA2MHB4IDYwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6IDUwcHggODBweCA4MHB4O1xuICB9XG5cbn1cblxuXG4vLyBzZWN0aW9uXG5zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyO1xufVxuXG5cblxuLy8gc2VjdGlvbi5iYXNpY1xuc2VjdGlvbi5iYXNpYyB7XG4gIG1hcmdpbjogMnJlbSAyMHB4IDIuNXJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbjogMnJlbSAyMHB4IDNyZW07XG4gIH1cblxufVxuXG4vLyBzZWN0aW9uLmZhcVxuc2VjdGlvbi5mYXEge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG5cbi8vIGJveFxuLmJveCB7XG4gIG1hcmdpbjogMnJlbSAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDEwcHggc29saWQgI2ZmZjtcblxuICAuYm94LWlubmVyIHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWUtZ3JheS1saWdodDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgIH1cblxuICB9XG5cbn1cblxuXG4vLyBjYXRlZ29yeSB0ZXJtc1xuLmNhdHMge1xuICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cblxufVxuLmNhdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIC42cmVtIC41cmVtIDA7IHBhZGRpbmc6IC4zcmVtIC43NXJlbSAuMjVyZW07XG4gIGJhY2tncm91bmQ6ICRibHVlLWxpZ2h0O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMnB4KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG5cbi8qIG1vZGFsIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5yZXZlYWwge1xuICBwYWRkaW5nOiA1MHB4IDI1cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZzogNTBweDtcbiAgfVxufVxuXG4vKiBiYWNrIHRvIHRvcCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmFjay10by10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogNjBweDsgcmlnaHQ6IDMwcHg7IHotaW5kZXg6IDUwO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcblxuICBAYXQtcm9vdCAubm8taW9zICYge1xuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG9wYWNpdHk6IC43O1xuXHR9XG5cdCYuc2Nyb2xsaW5nIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cbiAgLmljb24td3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDtcbiAgICBtYXJnaW46IDE2cHggMTVweCAxNXB4O1xuICB9XG5cbn1cbiIsIi8vIEhvbWUgcGFnZVxuLmhvbWUge1xuXG4gIC8vLyBDb250ZW50IHdyYXBcbiAgLm1haW4tY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAvLy8gQ29udGVudCB3cmFwXG4gIC5tYWluLWNvbnRlbnQge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgfVxuXG4gIC8vLyBDb250ZW50IHdyYXBcbiAgLmNvbnRlbnQtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxO1xuXG4gICAgc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7XG4gICAgfVxuXG4gIH1cblxuICAvLy8gRmVhdHVyZWQgRnVuXG4gIC5mZWF0dXJlZCB7XG4gICAgbWFyZ2luOiAwIDAgNTBweCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWhkciB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4IDA7IHBhZGRpbmc6IDAgMCAyMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWUtZGFyaztcbiAgICB9XG4gICAgLmRlc3RpbmF0aW9uLXJvdyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLy8vIERlc3RpbmF0aW9uIGNhdGVnb3JpZXNcbiAgc2VjdGlvbi5kZXN0aW5hdGlvbnMge1xuICAgIG1hcmdpbjogLTd2dyAwIDAgMDtcbiAgICBwYWRkaW5nOiA3NXB4IDIwcHggODVweDtcbiAgICAvL2JhY2tncm91bmQ6ICRibHVlLWdyYXktbGlnaHQgdXJsKC4uL2ltYWdlcy9iZy13b3YucG5nKTtcbiAgICBiYWNrZ3JvdW5kOiAjREJEMkNBIHVybCguLi9pbWFnZXMvYmctdHJlZS1yaW5ncy5wbmcpO1xuXG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCBjYWxjKDAlICsgN3Z3KSwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDd2dyksIDAgMTAwJSk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgY2FsYygwJSArIDd2dyksIDEwMCUgMCwgMTAwJSBjYWxjKDEwMCUgLSA3dncpLCAwIDEwMCUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDExMHB4IDIwcHggMTIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDE5MHB4IDMwcHggMjAwcHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHotaW5kZXg6IDE7XG4gICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiA1MDBweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAzNjBkZWcsIHJnYmEoI2ZmZiwwKSwgcmdiYSgjZmZmLDEpIDgwJSApO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggcmdiYSgjZmZmLDApLCByZ2JhKCNmZmYsMSkgODAlICk7XG4gICAgfVxuXG4gICAgLmlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAvLyB0YWJzXG4gICAgLnRhYnMge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1NTU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cblxuICAgICAgLnRhYnMtdGl0bGUge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA3cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjRweCk7XG4gICAgICAgIGNvbG9yOiAkYmx1ZS1kYXJrO1xuICAgICAgICBvcGFjaXR5OiAuNDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzN3B4KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBAYXQtcm9vdCAubm8taW9zICYge1xuICAgICAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgfS8vYVxuXG4gICAgICAuaXMtYWN0aXZlIGEge1xuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGJsdWUtZGFyaztcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDhweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH0vL2lzLWFjdGl2ZVxuXG4gICAgfS8vdGFic1xuXG4gICAgLy8gdGFiIGNvbnRlbnRcbiAgICAudGFicy1jb250ZW50IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgLnRhYi1kZXNjIHtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luOiAwIDMwcHggMzBweCAzMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW46IDAgMCA0MHB4IDA7XG4gICAgICB9XG5cbiAgICB9XG5cblxuICB9Ly9zZWN0aW9uLmRlc3RpbmF0aW9uXG5cbiAgLy8gYmFubmVyLCBtaWQtcGFnZVxuICBzZWN0aW9uLmJhbm5lci1ob21lLW1pZGRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDMwMHB4O1xuICAgIG1hcmdpbjogLTd2dyAwIDAgMDtcbiAgICAvL2JhY2tncm91bmQ6ICNjY2MgdXJsKC4uL2ltYWdlcy9iYW5uZXItcGF0aC1ncmFzcy5qcGcpIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgLy9iYWNrZ3JvdW5kOiAjY2NjIHVybCguLi9pbWFnZXMvYmFubmVyLXN1bnJpc2UtZ3Jhc3MtbW91bnRhaW4uanBnKSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQ6ICNjY2MgdXJsKC4uL2ltYWdlcy9iZy1zdW5yaXNlLW9jZWFuLXJvY2t5LWNvYXN0LmpwZykgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAgY2FsYygwJSArIDd2dyksIDEwMCUgMCwgMTAwJSBjYWxjKDEwMCUgLSA3dncpLCAwIDEwMCUpO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIGNhbGMoMCUgKyA3dncpLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gN3Z3KSwgMCAxMDAlKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBoZWlnaHQ6IDU1MHB4O1xuICAgIH1cblxuICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIH1cbiAgICBAYXQtcm9vdCAubm8taWUgJiB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1koLTQuMGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG5cblxuICB9XG5cbiAgLy8gaG9tZSBib3R0b20gLSBjcmVhdGUgYmFja2dyb3VuZCBmb3IgYm90dG9tIHNlY3Rpb25zXG4gIC5ob21lLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogLTd2dyAwIDAgMDtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDEwMHB4O1xuICAgIC8vYmFja2dyb3VuZDogJGJsdWUtZ3JheS1saWdodDtcbiAgICBiYWNrZ3JvdW5kOiAjZGJkMmNhO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDE3NXB4IDAgMjAwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDI1MHB4IDAgMzAwcHg7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDsgbGVmdDogMDsgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDE1MDBweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1sYW5kc2NhcGUtdmlicmFudC5zdmcpLCBsaW5lYXItZ3JhZGllbnQoIHJnYmEoI2ZmZiwwKSwgcmdiYSgjZmZmLDEpIDgwJSApO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAxJSBhdXRvO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAvLy8gRXZlbnRzXG4gIHNlY3Rpb24ucmVjZW50LWV2ZW50cyB7XG5cbiAgICAvLyB3cmFwcGVyXG4gICAgLnJlY2VudC1ldmVudHNfX2lubmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgICBwYWRkaW5nOiAycmVtIDEuNXJlbSAyLjVyZW0gMS41cmVtO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAycHggMnB4IDAgcmdiYSgjMDAwLCAuMyk7XG4gICAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICMzMzY1OGE7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gM3JlbSAycmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNzVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJlY2VudC1ldmVudHNfX2lubmVyLWZlZWQtLWRpdmlkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiA1MCU7IGJvdHRvbTogMDsgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDJweDsgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzM2NThhO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBvc3QtZXZlbnQtLTEge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogM3JlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBvc3QtZXZlbnQtLTIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMzMzY1OGE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDNyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIHN1YmhlYWRcbiAgICAuaGRyLXNlY3Rpb24ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDMycHg7IGhlaWdodDogMzRweDtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tZXZlbnRzLnN2Zykgbm8tcmVwZWF0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgd2lkdGg6IDM5cHg7IGhlaWdodDogNDFweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIHdpZHRoOiA0NHB4OyBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuICAgIC5oZHItc2x1ZyB7XG4gICAgICBtYXJnaW46IDAgMCAyNXB4IDJweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTNweCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG4gICAgICB9XG5cbiAgICB9Ly8uaGRyLXNsdWdcblxuICAgIC50aXRsZSB7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGJsdWUtZGFyaztcbiAgICAgIH1cblxuICAgIH1cbiAgICAuYnRuLXdyYXAge1xuICAgICAgbWFyZ2luOiAxLjVyZW0gMCAuNzVyZW0gMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICB9Ly9zZWN0aW9uLnJlY2VudC1ldmVudHNcblxuICAvLy8gVmlkZW9cbiAgc2VjdGlvbi52aWRlbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDRyZW0gMjBweDtcbiAgICAgIGJhY2tncm91bmQ6ICMzMzMgdXJsKC4uL2ltYWdlcy9iZy1ob21lLXZpZGVvLmpwZykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDRyZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDlyZW0gNXJlbTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5oZHIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgfVxuXG4gICAgLmJ0bi13cmFwIHtcbiAgICAgIG1hcmdpbjogMnJlbSAwIDAgMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG5cbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgICAgICAgLmljb24td3JhcCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCA2cHggcmdiYSgjZmZmLC41KTtcbiAgICAgICAgICAgIC5pY29uLXdyYXAge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgLmljb24td3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgd2lkdGg6IDY1cHg7IGhlaWdodDogNjVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6IDgwcHg7IGhlaWdodDogODBweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgfS8vc2VjdGlvbi52aWRlb1xuXG5cbiAgLy8vIEFib3V0XG4gIHNlY3Rpb24uYWJvdXQge1xuICAgIHBhZGRpbmc6IDMuNXJlbSAwIDUuNXJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiA2cmVtIDAgMnJlbSAwO1xuICAgIH1cblxuICAgIC5hYm91dC1pY29uIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICB9XG5cbiAgICAgIC5pY29uLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC8vd2lkdGg6IDUwcHg7IGhlaWdodDogNTdweDtcbiAgICAgICAgd2lkdGg6IDY1cHg7IGhlaWdodDogNzVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIC8vd2lkdGg6IDY1cHg7IGhlaWdodDogNzVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6IDgwcHg7IGhlaWdodDogOTJweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuaGRyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICB9Ly9zZWN0aW9uLmFib3V0XG5cblxuICAvLy8gSW5zdGFncmFtXG4gIHNlY3Rpb24uaW5zdGFncmFtIHtcbmRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogNzVweCAwO1xuICAgIGJhY2tncm91bmQ6ICRiZWlnZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgfVxuXG4gICAgLmhkciB7XG5cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiA3MCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICBmb250LXNpemU6IDYwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiA2NSU7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmljb24taW5zdGFncmFtLXdyYXAge1xuICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5pY29uLWluc3RhZ3JhbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG5cbn0vL2hvbWVcbiIsIi8vIGRlZmF1bHQgcGFnZVxuLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCB7XG5cbiAgLmVudHJ5LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59XG5cbi5lbnRyeS1jb250ZW50IHtcblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG5cbn1cblxuXG4vLyB0ZW1wbGF0ZXNcbmJvZHkuYmxvZyxcbmJvZHkuYXJjaGl2ZSxcbmJvZHkuc2luZ2xlLXBvaSxcbmJvZHkuc2luZ2xlLXRjY19tZW1iZXIsXG5ib2R5LnNpbmdsZSxcbmJvZHkuc2luZ2xlLXRyaWJlX2V2ZW50cyxcbmJvZHkuc2VhcmNoLFxuYm9keS5lcnJvcjQwNCxcbmJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIHtcblxuICAuaGRyLXdyYXAge1xuICAgIG1hcmdpbjogMCAwIDQwcHggMDsgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gIH1cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5iYWNrLWxpbmsge1xuICAgIG1hcmdpbjogMCAwIDQwcHggMDtcblxuICAgIGEge1xuICAgICAgQGF0LXJvb3QgLm5vLWlvcyAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmljb24td3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogNXB4O1xuICAgIH1cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6ICRvcmFuZ2U7XG4gICAgfVxuXG4gIH1cblxuICAucG9zdC1jYXRzIHtcbiAgICBtYXJnaW46IDE1cHggMCAwIDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICAuY2F0LWl0ZW0ge1xuICAgIG1hcmdpbjogMDsgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAmLmN1cnJlbnQtY2F0IHtcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAzcHggMThweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWUtbGlnaHQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgIEBhdC1yb290IC5uby1pb3MgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfS8vY3VycmVudC1jYXRcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDI4cHggMThweCAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIGNvbG9yOiAkYmx1ZS1saWdodGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgQGF0LXJvb3QgLm5vLWlvcyAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibHVlLWxpZ2h0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICB9Ly9hXG5cbiAgfS8vY2F0LWl0ZW1cblxuICAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbTtcbiAgfVxuXG5cbn0vL2FyY2hpdmVcblxuXG5cblxuXG4vLy8gcG9zdC1hcmNoaXZlXG5ib2R5LmJsb2cge1xuXG4gIC5tYWluLWNvbnRlbnQtaW5uZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG59XG4ucG9zdC1hcmNoaXZlIHtcbiAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAvLyAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuXG4gIC5mZWF0dXJlZC1waG90byB7XG4gICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luOiA4cHggMCAwIDA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgfVxuXG4gIH1cblxufS8vIHBvc3QtYXJjaGl2ZVxuXG5cblxuLy8vIEFib3V0IHBhZ2Vcbi5wYWdlLXRlbXBsYXRlLXBhZ2UtYWJvdXQge1xuXG4gIC5oZHItc2VjdGlvbi13cmFwIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAucGFnZS13cmFwcGVyIHtcbiAgICBzZWN0aW9uLmJhc2ljIHtcblxuICAgICAgaW1nLmFsaWdubGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gTG9kZ2luZyBwYWdlXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWxvZGdpbmcge1xuXG4gIC5sb2RnaW5nLW1lbWJlcnMge1xuICAgIG1hcmdpbjogMnJlbSAwIDJyZW0gMDtcbiAgfVxuXG4gIC5sb2RnaW5nLW1lbWJlcnMtaW50cm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubG9kZ2luZy1tZW1iZXJzLXJlc3VsdHMge1xuICAgIG1hcmdpbjogMXJlbSAwIDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgfVxuXG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAubG9kZ2luZy1tZW1iZXIge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuaW5uZXIge1xuICAgICAgcGFkZGluZzogMzBweCAxNXB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2JnLXRleHR1cmUtcGFwZXIuanBnKSBjZW50ZXI7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAkYmVpZ2U7XG4gICAgfVxuICAgIC5jb250YWN0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDJyZW0gMCAwIDA7XG4gICAgICBwYWRkaW5nOiAuNHJlbSAxLjI1cmVtIC4zNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICB9XG5cbiAgLmxvZGdpbmctY3VzdG9tLXJlc3VsdHMge1xuICAgIG1hcmdpbjogMnJlbSAwO1xuXG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAubG9kZ2luZy1jdXN0b20tcmVzdWx0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgcGFkZGluZzogMzBweCAxNXB4O1xuICAgIGJvcmRlcjogNnB4IHNvbGlkICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICB9XG5cbiAgICAuaW5uZXIge1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuXG4gICAgICAuaWNvbi13cmFwIHtcbiAgICAgICAgLy9wb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogLTFweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTVweDsgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW46IDAgMnB4IDAgNHB4O1xuICAgICAgfVxuXG4gICAgICBAYXQtcm9vdCAubm8taW9zICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICNmZjkyMzM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9Ly8ubG9kZ2luZy1jdXN0b20tcmVzdWx0XG5cbn1cblxuLy8vIE1lbWJlciBhcmNoaXZlXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRjY19tZW1iZXIge1xuXG4gIC5wZ2hkciB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMzAwKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4cHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDQzOSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNnB4KTtcbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLy8vIE1lbWJlciBzaW5nbGUgcGFnZVxuYm9keS5zaW5nbGUtdGNjX21lbWJlciB7XG5cblxuICAuZmVhdHVyZWQtcGhvdG8ge1xuICAgIG1hcmdpbjogMCAwIDE1cHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW46IDhweCAwIDAgMDtcbiAgICB9XG5cbiAgfVxuXG4gIC5jYXRzIHtcbiAgICBtYXJnaW46IDAgMCAuNXJlbSAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG4gICAgfVxuICB9XG4gIC5tZXRhIHtcbiAgICBtYXJnaW46IDFyZW0gMCAxLjNyZW07IHBhZGRpbmc6IDFyZW0gMCAuMjVyZW07XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM5OTk7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM5OTk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgLmFkZHJlc3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgfVxuICAuY29udGFjdCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAud2Vic2l0ZSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgLmRlc2Mge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuICAuZGVzYy1tYXJnaW4ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW46IDAgMXJlbSAwIDA7XG4gICAgfVxuICB9XG4gIC5ob3Vycy13cmFwIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJG1vc3MsLjIpIHVybCguLi9pbWFnZXMvYmctdGV4dHVyZS1wYXBlci5qcGcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuXG4gICAgLmhkciB7XG4gICAgICBAZXh0ZW5kIC5oNDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gIH1cbiAgLnNvY2lhbC1saW5rcyB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1xuICAgICAgbWFyZ2luOiAwIDVweCA1cHggMDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDVweDtcbiAgICAgIH1cblxuICAgICAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAuOTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG4gIC5tZW1iZXItbWFwIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwIDA7XG4gIH1cblxuICAvKiBub3QgdXNpbmcgdGhpcyovXG4gIC5yZWxhdGVkLWFydGljbGUge1xuICAgIG1hcmdpbjogMXJlbSAwOyBwYWRkaW5nOiAxNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGJlaWdlLC41KSB1cmwoLi4vaW1hZ2VzL2JnLXRleHR1cmUtcGFwZXIuanBnKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcblxuICAgIC5pbm5lciB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICBib3JkZXI6IDRweCBzb2xpZCAjZmZmO1xuICAgIH1cbiAgICAucmVsYXRlZC1tZWRpYSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogNHB4IDEuMjVyZW0gLjc1cmVtIDA7XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICAvL21hcmdpbi1ib3R0b206IC4yNXJlbTtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDFyZW0gMCAwIDA7XG4gICAgICBwYWRkaW5nOiAuNnJlbSAxcmVtIC41cmVtO1xuICAgIH1cbiAgICAuZGVzYyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gIH1cblxufVxuXG4vLy8gYmxvZyBwb3N0IHNpbmdsZVxuYm9keS5zaW5nbGUtcG9zdCB7XG5cbiAgLmZlYXR1cmVkLXBob3RvIHtcbiAgICBtYXJnaW46IDAgLTIwcHggMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbjogMCAtNzVweCAycmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW46IDAgLTk1cHggMnJlbTtcbiAgICB9XG5cbiAgfVxuICBoMSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLy8vIHJlbGF0ZWQgcG9zdHNcbiAgLnJlbGF0ZWQtcG9zdHMge1xuICAgIC8vbWFyZ2luOiAycmVtIC0yMHB4IDA7XG4gICAgbWFyZ2luOiAycmVtIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgLy9tYXJnaW46IDJyZW0gLTU1cHggMDtcbiAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDEzNDBweCkge1xuICAgICAgLy9tYXJnaW46IDNyZW0gLTExNXB4IDA7XG4gICAgICBtYXJnaW46IDNyZW0gMDtcbiAgICB9XG5cblxuICAgIC5yZWxhdGVkLXBvc3Qge1xuICAgICAgbWFyZ2luOiAwIDAgLjVyZW0gMDtcbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtcGhvdG8ge1xuICAgICAgbWFyZ2luOiAwIC0yMHB4IC41cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMzQwcHgpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICB9XG4gICAgfVxuXG4gIH0vLy5yZWxhdGVkLXBvc3RzXG5cbn1cblxuXG4vLy8gZXZlbnRzXG5cblxuI3RyaWJlLWV2ZW50cyB7XG5cbiAgLnRyaWJlLWV2ZW50cy1pY2FsLFxuICAudHJpYmUtZXZlbnRzLWdjYWwge1xuICAgIEBleHRlbmQgcDtcbiAgICBtYXJnaW46IC41cmVtIC41cmVtIC41cmVtIDA7IHBhZGRpbmc6IC41cmVtIDEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkc2t5LWJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuXG4gICAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2t5LWJsdWU7XG4gICAgICAgIG9wYWNpdHk6IC45O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cblxuLnRyaWJlLWV2ZW50cyB7XG4gIGEge1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICB9XG59XG4udHJpYmUtY29tbW9uIHtcblxuICAgLnRyaWJlLWNvbW1vbi1iMSxcbiAgIC50cmliZS1jb21tb24tYjIsXG5cdCAudHJpYmUtY29tbW9uLWIzLFxuICAgLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsLFxuICAgLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtcmFkaW9fX2xhYmVsLFxuICAgLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtdGV4dF9faW5wdXQge1xuICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgIH1cbiAgIC50cmliZS1jb21tb24taDMge1xuICAgICBmb250LWZhbWlseTogJGhkci1mb250ICFpbXBvcnRhbnQ7XG4gICB9XG5cdCAudHJpYmUtY29tbW9uLWg1LFxuICAgLnRyaWJlLWNvbW1vbi1oNiB7XG4gICAgIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG4gICB9XG4gICBidXR0b246Zm9jdXMge1xuICAgICBvdXRsaW5lOiBub25lO1xuICAgfVxuICAgLnRyaWJlLWNvbW1vbi1jLWJ0biB7XG4gICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgfVxuXG5cdCAudHJpYmUtY29tbW9uLWZvcm0tY29udHJvbC10ZXh0X19pbnB1dCB7XG5cdFx0IHBhZGRpbmctbGVmdDogMTVweDtcblx0XHQgYm94LXNoYWRvdzogbm9uZTtcblxuXHRcdCAmOmZvY3VzLFxuXHRcdCAmOi1pbnRlcm5hbC1hdXRvZmlsbC1zZWxlY3RlZCB7XG5cdFx0XHQgYmFja2dyb3VuZC1jb2xvcjogI2VlZSAhaW1wb3J0YW50O1xuXHRcdCB9XG5cdCB9XG5cdCAudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19pbnB1dC1jb250cm9sLWljb24tc3ZnIHtcblx0XHQgcmlnaHQ6IDE1cHg7XG5cdCB9XG59XG4udHJpYmUtZXZlbnRzLWNvbnRlbnQge1xuIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuIGNvbG9yOiAjMzMzO1xufVxuLnRyaWJlLWZpbHRlci1iYXIgLnRyaWJlLWZpbHRlci1iYXItYy1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbn1cblxuLyogc2VwYXJhdG9yICovXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGgtbW9iaWxlLWV2ZW50c19fZGF5LW1hcmtlcixcbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1kYXlfX3RpbWUtc2VwYXJhdG9yLFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX21vbnRoLXNlcGFyYXRvciB7XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlLWdyYXktbGlnaHQ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxleDogYXV0bztcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdH1cbiAgJjphZnRlciB7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtZ3JheS1saWdodDtcbiAgfVxuXG5cdD4gdGltZSB7XG4gICAgZm9udC1mYW1pbHk6ICRoZHItZm9udCAhaW1wb3J0YW50O1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0Zm9udC1zaXplOiAyLjNyZW0gIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGJsdWUtZGFyaztcblx0fVxufVxuXG5cbi8qIGRhdGUgcGlja2VyICovXG4udHJpYmUtY29tbW9uIC50cmliZS1jb21tb24taDMudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1idXR0b24sXG4udHJpYmUtY29tbW9uLWgzLnRyaWJlLWNvbW1vbi1oLS1hbHQudHJpYmUtZXZlbnRzLWMtdG9wLWJhcl9fZGF0ZXBpY2tlci1idXR0b24sXG4udHJpYmUtY29tbW9uLS1icmVha3BvaW50LWZ1bGwudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy10b3AtYmFyX19kYXRlcGlja2VyLWRlc2t0b3Age1xuXG5cbiAgPiB0aW1lIHtcbiAgICBmb250LWZhbWlseTogJGhkci1mb250ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgfVxuXG5cdC50cmliZS1ldmVudHMtYy10b3AtYmFyX19kYXRlcGlja2VyLXNlcGFyYXRvciB7XG5cdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdH1cbn1cblxuLyogcG9wdXAgY2FsICovXG4udHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5kYXkuY3VycmVudCwgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAuZGF5LmN1cnJlbnQuZm9jdXNlZCwgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAuZGF5LmN1cnJlbnQ6Zm9jdXMsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLmRheS5jdXJyZW50OmhvdmVyLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5tb250aC5jdXJyZW50LCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5tb250aC5jdXJyZW50LmZvY3VzZWQsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLm1vbnRoLmN1cnJlbnQ6Zm9jdXMsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLm1vbnRoLmN1cnJlbnQ6aG92ZXIsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLnllYXIuY3VycmVudCwgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAueWVhci5jdXJyZW50LmZvY3VzZWQsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLnllYXIuY3VycmVudDpmb2N1cywgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAueWVhci5jdXJyZW50OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHRlcjtcbn1cbi50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLmRheS5hY3RpdmUsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLmRheS5hY3RpdmUuZm9jdXNlZCwgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAuZGF5LmFjdGl2ZTpmb2N1cywgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAuZGF5LmFjdGl2ZTpob3ZlciwgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAubW9udGguYWN0aXZlLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5tb250aC5hY3RpdmUuZm9jdXNlZCwgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAubW9udGguYWN0aXZlOmZvY3VzLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5tb250aC5hY3RpdmU6aG92ZXIsIC50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLnllYXIuYWN0aXZlLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC55ZWFyLmFjdGl2ZS5mb2N1c2VkLCAudHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC55ZWFyLmFjdGl2ZTpmb2N1cywgLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAueWVhci5hY3RpdmU6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1saWdodDtcbn1cbnRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRibHVlLWdyYXktbGlnaHQ7XG59XG5cbi8qIG5hdiAqL1xuYS50cmliZS1ldmVudHMtYy1uYXZfX3RvZGF5LFxuYS50cmliZS1ldmVudHMtYy1uYXZfX3ByZXYsXG5hLnRyaWJlLWV2ZW50cy1jLW5hdl9fbmV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuXHRjb2xvcjogJG9yYW5nZSAhaW1wb3J0YW50O1xuXHRmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuXHQvL2ZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuXHRzdmcge1xuXHRcdHBhdGgge1xuXHRcdFx0ZmlsbDogJG9yYW5nZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAuODtcblx0XHRzdmcge1xuXHRcdFx0cGF0aCB7XG5cdFx0XHRcdGZpbGw6ICRvcmFuZ2UgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbmJ1dHRvbi50cmliZS1ldmVudHMtYy1uYXZfX3RvZGF5LFxuYnV0dG9uLnRyaWJlLWV2ZW50cy1jLW5hdl9fcHJldixcbmJ1dHRvbi50cmliZS1ldmVudHMtYy1uYXZfX25leHQge1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xufVxuXG4vKiBjb250ZW50ICovXG4udHlwZS10cmliZV9ldmVudHMge1xuXG59XG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50LWZlYXR1cmVkLWltYWdlLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDI3NXB4O1xufVxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC12ZW51ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7XG5cbiAgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC12ZW51ZS10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRyaWJlLWV2ZW50cy1nbWFwIHtcbiAgICBjb2xvcjogJG9yYW5nZSAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UtaG92ZXIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuLnRyaWJlLWNvbW1vbi0tYnJlYWtwb2ludC1tZWRpdW0udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogMzJweCAhaW1wb3J0YW50O1xuICB9XG4gIGEge1xuICAgIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1kZXNjcmlwdGlvbiB7XG4gIGEubW9yZSB7XG4gICAgY29sb3I6ICRvcmFuZ2UgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICBAYXQtcm9vdCAubm8taW9zICYge1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UtaG92ZXIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1kYXRldGltZS13cmFwcGVyICsgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC12ZW51ZSB7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgfVxufVxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1kYXRldGltZSB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cblxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1yb3cge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCAjYmJiICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICB9XG5cbn1cbi50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fbW9udGgtc2VwYXJhdG9yICsgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1yb3cge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5cbi8qIHN1Ym1pdCBldmVudCAqL1xuLnN1Ym1pdC1ldmVudC13cmFwIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luOiA1MHB4IGF1dG8gMCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogLjVyZW0gMnJlbSAuNXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYmx1ZS1kYXJrICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG4gIH1cbn1cblxuXG5cbi8vLyBFdmVudCBzaW5nbGUgcGFnZVxuYm9keS5zaW5nbGUtdHJpYmVfZXZlbnRzIHtcblxuICAuZW50cnktY29udGVudCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC50cmliZS1ldmVudHMtcGctdGVtcGxhdGUge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmVhdHVyZWQtcGhvdG8ge1xuICAgIG1hcmdpbjogMCAwIDE1cHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW46IDhweCAwIDAgMDtcbiAgICB9XG5cbiAgfVxuXG4gIHRpbWUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIH1cbiAgdGltZS5wb3N0LWRhdGV0aW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMCAuNzVyZW0gMDtcbiAgfVxuXG4gIC5ldmVudHMtbWV0YSB7XG4gICAgbWFyZ2luOiA0MHB4IDA7IHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBkb3R0ZWQgIzY2NjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7XG4gICAgY29sb3I6ICM5OTk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMjhweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMzQwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSA4NHB4O1xuICAgIH1cblxuICAgIC5ldmVudC1tZXRhLWdyb3VwIHtcbiAgICAgIG1hcmdpbjogMTBweCAwcHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5oZHIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgY29sb3I6ICM1NTU7XG4gICAgfVxuICAgIC5ldmVudC1jb3N0IHtcbiAgICAgIG1hcmdpbi10b3A6IC40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB9XG4gICAgLmV2ZW50LXZlbnVlIHtcbiAgICAgIC50cmliZS1jb3VudHJ5LW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuZXZlbnQtb3JnYW5pemVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9Ly9ldmVudHMtbWV0YVxuICAudHJpYmUtZXZlbnRzLWNhbC1saW5rcyB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICB9XG5cbn1cblxuXG4vLy8gRXZlbnQgYXJjaGl2ZSBwYWdlXG5ib2R5LnBvc3QtdHlwZS1hcmNoaXZlLXRyaWJlX2V2ZW50cyB7XG5cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmV2ZW50LWJhciB7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgI3RyaWJlLWJhci1mb3JtIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggIWltcG9ydGFudDtcbiAgICAvL2JvcmRlci10b3A6IDFweCBkb3R0ZWQgIzY2NjtcbiAgICAvL2JvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzY2NjtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtIDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICB9XG5cbiAgICAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoKTtcbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6ICRibHVlLWRhcms7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblxuICAgIH1cbiAgICBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICAgIEBleHRlbmQgcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICB9XG4gICAgfVxuXG4gIH0vLyN0cmliZS1iYXItZm9ybVxuICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtaGVhZGVyX19ldmVudHMtYmFyIHtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MzRweCkge1xuICAgICAgLy9wYWRkaW5nOiAuNXJlbSAwO1xuICAgICAgYmFja2dyb3VuZDogI2VlZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH1cbiAgLnRyaWJlLWV2ZW50cy1jLWV2ZW50cy1iYXJfX3ZpZXdzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtdGV4dF9faW5wdXQsXG4gIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19jb250ZW50LFxuICAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyX19zZWFyY2gtY29udGFpbmVyIHtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MzRweCkge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAudHJpYmUtY29tbW9uLS1icmVha3BvaW50LW1lZGl1bS50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtdGV4dF9faW5wdXQsXG4gIC50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtdGV4dF9faW5wdXQge1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICArIHN2ZyB7XG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICRvcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYnV0dG9uLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDsgcGFkZGluZzogLjVyZW0gMS41cmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICRibHVlLWxpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtIDEuNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlLWxpZ2h0O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogJGhkci1mb250ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCAubm8taW9zICYge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlLWRhcms7XG4gICAgICB9XG4gICAgfVxuICAgIC8qXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gICAgfVxuICAgICovXG5cbiAgfVxuICAudHJpYmUtYmFyLWZpbHRlci13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAudHJpYmUtYmFyLXN1Ym1pdC13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH1cblxuICAvKiBmaWx0ZXJzICovXG4gIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyX190b2dnbGUge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBjb2xvcjogJGJsdWUtbGlnaHQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMGYwO1xuICB9XG4gIC50cmliZS1maWx0ZXItYmFyLWMtZmlsdGVyX19jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogI2Y5ZmFmYTtcbiAgfVxuXG5cbiAgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIudHJpYmUtZXZlbnRzLWZpbHRlcnMtaG9yaXpvbnRhbCxcbiAgI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIudHJpYmUtZXZlbnRzLWZpbHRlcnMtdmVydGljYWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC50cmliZS1ldmVudHMtZmlsdGVycy1jb250ZW50IHtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogJGJsdWUtZGFyayAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGxhYmVsLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAvL2ZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnRyaWJlLWV2ZW50cy1maWx0ZXJzLWdyb3VwLWhlYWRpbmcge1xuICAgICAgY29sb3I6ICRibHVlLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgfVxuICAudHJpYmVfZXZlbnRzX2ZpbHRlcnNfdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJG9yYW5nZTtcblxuICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UtaG92ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAudHJpYmUtcmVzZXQtaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IC0zcHg7XG4gIH1cbiAgLnRyaWJlX2V2ZW50c19maWx0ZXJzX3Jlc2V0LS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgfVxuXG5cbiAgLyogZm9vdGVyICovXG4gIC50cmliZS1ldmVudHMtZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgLy9ib3JkZXItdG9wOiAxcHggZG90dGVkICM2NjYgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLyogbmV4dC9wcmV2IGJ1dHRvbnMgKi9cbiAgLnRyaWJlLWV2ZW50cy1zdWItbmF2IGxpIGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkb3JhbmdlO1xuXG4gICAgQGF0LXJvb3QgLm5vLWlvcyAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlLWhvdmVyO1xuICAgIH1cblxuICB9XG5cbiAgLyogcmVzdWx0cyAqL1xuICAudHJpYmUtZXZlbnRzLWxpc3Qtc2VwYXJhdG9yLW1vbnRoIHtcbiAgICBAZXh0ZW5kIC5oMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgLTIwcHggMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZS1ncmF5LWxpZ2h0O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgcGFkZGluZzogMCAzJTtcbiAgICB9XG4gIH1cblxuLypcbiAgLnR5cGUtdHJpYmVfZXZlbnRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgcGFkZGluZzogMCAzcHggMzBweCAzcHg7XG4gICAgLy9wYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNiYmI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG4gIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50LXJvdzpsYXN0LWNoaWxkIC50eXBlLXRyaWJlX2V2ZW50cyB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuKi9cblxuXG4gIC50cmliZS1ldmVudHMtbGlzdC1zZXBhcmF0b3ItbW9udGgrLnR5cGUtdHJpYmVfZXZlbnRzLnRyaWJlLWV2ZW50cy1maXJzdCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgLnRyaWJlLWV2ZW50cy1saXN0IC50eXBlLXRyaWJlX2V2ZW50czpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLnRyaWJlLWV2ZW50cy1saXN0IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAudHJpYmUtZXZlbnRzLWljYWwge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnRyaWJlLWV2ZW50cy1sb29wIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAudGl0bGUge1xuICAgICAgQGV4dGVuZCAuaDM7XG4gICAgICAvL21hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuXG4gICAgICAgIEBhdC1yb290IC5uby1pb3MgJiB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9Ly9hXG5cbiAgICB9Ly90aXRsZVxuICAgIHRpbWUge1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB9XG4gICAgLnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhIHtcbiAgICAgIG1hcmdpbjogLjVyZW0gMCAuNzVyZW07IHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgfVxuICAgIC5lbnRyeS1zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuICAgIC50cmliZS1ldmVudHMtdmVudWUtZGV0YWlscyB7XG4gICAgICBAZXh0ZW5kIHA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgLnRyaWJlLWFkZHJlc3Mge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgIH0vLy50cmliZS1ldmVudHMtdmVudWUtZGV0YWlsc1xuXG4gICAgLmZlYXR1cmVkLXBob3RvIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogNHB4IDMwcHggMCAwO1xuICAgICAgfVxuXG4gICAgfVxuICAgIC50cmliZS1ldmVudHMtZXZlbnQtaW1hZ2Uge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICB9Ly8udHJpYmUtZXZlbnRzLWxvb3BcblxuICAudHJpYmUtY291bnRyeS1uYW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn1cblxuXG5cbi8vLyBUcmFpbCBtYXAvZGVzdGluYXRpb24gcGFnZVxuLnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFpbCB7XG5cbiAgLm1hcCB7XG4gICAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICB9XG4gIC5tYXAtYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMXJlbSAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLnJlZ2lvbi1tZW1iZXIge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG5cbiAgICAgICYucGhvbmUge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IC41cmVtIDAgMCAwO1xuICAgIH1cbiAgfVxuXG4gIC5jYXRlZ29yaWVzIHtcbiAgICBtYXJnaW46IDYwcHggMDtcbiAgfVxuICAuY2F0ZWdvcnktcmVzdWx0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcmVtO1xuICAgIH1cbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLW1lZGlhIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTtcbiAgICB9XG4gICAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMnB4O1xuICAgICAgICBtYXJnaW46IC45cmVtIDAgMHJlbSAwO1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgIzk5OTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM5OTk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgLmZlYXR1cmVkLWljb24ge1xuICAgIC8vd2lkdGg6IDUwcHg7IGhlaWdodDogNTZweDtcbiAgICB3aWR0aDogNTBweDsgaGVpZ2h0OiA0OHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgIC8vd2lkdGg6IDYycHg7IGhlaWdodDogNjlweDtcbiAgICAgIHdpZHRoOiA2MnB4OyBoZWlnaHQ6IDU5cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIC8vd2lkdGg6IDc4cHg7IGhlaWdodDogODdweDtcbiAgICAgIHdpZHRoOiA3OHB4OyBoZWlnaHQ6IDc0cHg7XG4gICAgfVxuXG4gIH1cblxufVxuXG5cbi8vLyBUcmFuc3BvcnRhdGlvbiAoQXJvdW5kIFRvd24pIHBhZ2Vcbi8qXG5ib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS10cmFuc3BvcnRhdGlvbiB7XG5cbn1cbiovXG4udHJhdmVsLXJvdyB7XG4gIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZS1kYXJrO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMjkwcHgpIHtcbiAgICBtYXJnaW4tbGVmdDogLS41cmVtOyBtYXJnaW4tcmlnaHQ6IC0uNXJlbTtcbiAgfVxuXG59XG4udHJhdmVsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vbWluLWhlaWdodDogMjgwcHg7XG4gIG1hcmdpbjogMXJlbSAwIDFyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbSAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtbGlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBib3JkZXI6IDEwcHggc29saWQgI2ZmZjtcbiAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggMCByZ2JhKCMwMDAsLjQpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMzYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC41cmVtOyBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgIHBhZGRpbmc6IDYwcHggMTVweCAzMHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtaW4taGVpZ2h0OiAzNDBweDtcbiAgICAvL3BhZGRpbmc6IDI4cHggMTVweDtcbiAgICBwYWRkaW5nOiA0MHB4IDE1cHggNDBweDtcbiAgfVxuXG5cbiAgLmZsaXAtdG9nZ2xlLXJldmVyc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0yOHB4OyByaWdodDogLTE1cHg7IHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0b3A6IC0zMnB4OyByaWdodDogLTEwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHRvcDogLTM4cHg7XG4gICAgfVxuXG4gIH1cblxuICAmLmZsaXBwZWQge1xuICAgIHBhZGRpbmc6IDMwcHggMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAwOyBsZWZ0OiAwOyBib3R0b206IDA7IHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZS1ncmF5LWxpZ2h0O1xuICAgIH1cblxuICAgIC5mbGlwLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuZmxpcC10b2dnbGUtcmV2ZXJzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGF0LXJvb3QgLm5vLWlvcyAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgfVxuICAgIC50cmF2ZWwtaWNvbi13cmFwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5mbGlwLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gIH0vLy5mbGlwcGVkXG5cbiAgLnRyYXZlbC1pY29uLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgd2lkdGg6IDEyOXB4OyBoZWlnaHQ6IDEwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAxNjhweDsgaGVpZ2h0OiAxMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgLy93aWR0aDogMjQ1cHg7IGhlaWdodDogMTkwcHg7XG4gICAgICB3aWR0aDogMjEwcHg7IGhlaWdodDogMTYzcHg7XG4gICAgfVxuXG4gIH1cblxuICAuZmxpcC10b2dnbGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDsgcGFkZGluZzogLjVyZW0gMS41cmVtO1xuICAgIGJhY2tncm91bmQ6ICRuYXZ5O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlLWRhcms7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuZmxpcC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5uYW1lIHtcbiAgICAgIEBleHRlbmQgaDQ7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICBjb2xvcjogJGJsdWUtZGFyaztcblxuICAgICAgJi5waG9uZSB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgICAgJi5idG4td3JhcCB7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAuNnJlbSAxLjNyZW0gLjhyZW07XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAuN3JlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IC42cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9Ly8uZmxpcC1jb250ZW50XG5cbn0vL3RyYXZlbC1pdGVtXG5cblxuXG4vLyBQT0kgc2luZ2xlIHBhZ2VzXG5ib2R5LnNpbmdsZS1wb2kge1xuXG4gIC5wb2ktbWV0YSB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDsgcGFkZGluZzogMCAwIDUwcHggMDtcbiAgICAvL2JvcmRlci10b3A6IDFweCBkb3R0ZWQgIzY2NjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgfVxuICAuYWRkcmVzcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogN3B4OyBsZWZ0OiAwOyB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAzNXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLW1hcC1waW4tc2hhZG93LnN2Zykgbm8tcmVwZWF0O1xuICAgIH1cblxuICB9XG4gIC5waG9uZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG4gIC5waG9uZS1zZWNvbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC53ZWJzaXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICAgLmljb24td3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDRweDtcbiAgICAgICAgd2lkdGg6IDIycHg7IGhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGF0LXJvb3QgLm5vLWlvcyAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UtbGlnaHQ7XG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICRvcmFuZ2UtbGlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH0vL2FcblxuICB9Ly93ZWJzaXRlXG5cbiAgLnBvaS1jb250ZW50IHtcbiAgICBtYXJnaW46IDAgMCA0MHB4IDA7XG4gIH1cblxuICAucGhvdG8tbWV0YSB7XG4gICAgbWFyZ2luOiA2cHggMDtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LXNpemU6IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cblxuICB9XG4gIC5jYXB0aW9uIHtcblxuICB9XG4gIC5jcmVkaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC5zb2NpYWwtbGlua3Mge1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMzJweDsgaGVpZ2h0OiAzMnB4O1xuICAgICAgbWFyZ2luOiAwIDhweCA4cHggMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgIEBhdC1yb290IC5uby1pb3MgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC44NTtcbiAgICAgIH1cblxuICAgIH1cblxuICB9Ly9zb2NpYWwtbGlua3NcblxuICAuaG91cnMtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgYm9yZGVyOiAyMHB4IHNvbGlkICR0YW47XG4gICAgYmFja2dyb3VuZDogJHRhbjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyByaWdodDogMDsgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YW4tZGFyaztcbiAgICB9XG5cbiAgICAuaGRyIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgLTJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGRyLWZvbnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAuaG91cnMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICB9Ly9ob3Vycy13cmFwXG5cblxufVxuXG5cbi8vIEFjdGl2aXR5IHBhZ2VcbmJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLWFjdGl2aXRpZXMge1xuXG5cbn1cblxuLy8gVG9waWMgcGFnZXNcbmJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljIHtcblxuICAuZW50cnktY29udGVudCB7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwOyBwYWRkaW5nOiAwIDAgMjBweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzY2NjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cblxuICAuc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgfVxuICAuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiAtNDBweDtcbiAgfVxuICAuc2xpZGUtY2FwdGlvbiB7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEycHgpO1xuICB9XG5cblxuICAucmVsYXRlZC1hdHRyYWN0aW9ucyB7XG4gICAgbWFyZ2luOiA1MHB4IDAgMCAwO1xuXG4gICAgdWwge1xuICAgIC8vICBtYXJnaW46IDA7XG4gICAgLy8gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vbWluLWhlaWdodDogNTdweDtcbiAgICAgIC8vbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgfVxuXG4gIH1cbiAgLnJlbGF0ZWQtYXR0cmFjdGlvbi1oZHIge1xuICAgIEBleHRlbmQgaDQ7XG4gICAgLy9wb3NpdGlvbjogcmVsYXRpdmU7IC8vdG9wOiAxNXB4O1xuICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLy8gIHRvcDogMTVweDtcbiAgICB9XG5cbiAgfVxuICAubWFwLWxpbmsge1xuXG4gICAgLmljb24td3JhcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTRweDsgaGVpZ2h0OiAxM3B4O1xuICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgfVxuXG4gIH1cbiAgLnJlbGF0ZWQtYXR0cmFjdGlvbi1waG90byB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbjogNXB4IDIwcHggMTVweCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB9XG5cbiAgfVxuICAucmVsYXRlZC1hdHRyYWN0aW9uLXRleHQsXG4gIC5yZWxhdGVkLWF0dHJhY3Rpb24taWNvbiB7XG4gICAgLy92ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC8qXG4gIC5yZWxhdGVkLWF0dHJhY3Rpb24tdGV4dCB7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyB6LWluZGV4OiAxO1xuICAgIC8vbGVmdDogNzVweDtcbiAgICBtYXJnaW4tbGVmdDogNzVweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgLy8gbWFyZ2luLWxlZnQ6IDEwNXB4O1xuICAgICAgLy9tYXJnaW4tbGVmdDogNzVweDtcbiAgICB9XG5cbiAgfVxuICAqL1xuICAucmVsYXRlZC1hdHRyYWN0aW9uLWljb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vd2lkdGg6IDc4cHg7IGhlaWdodDogNzRweDtcbiAgICAvL3dpZHRoOiA4NXB4OyBoZWlnaHQ6IDgxcHg7XG4gICAgd2lkdGg6IDYwcHg7IGhlaWdodDogNTdweDtcbiAgICAvL21hcmdpbjogNXB4IDEwcHggNXB4IDA7XG4gICAgbWFyZ2luOiAwIDEwcHggNXB4IDA7XG4gIH1cblxuXG5cbn0vL2JvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLXRvcGljXG5cblxuLy8vIHNlYXJjaCByZXN1bHRzXG5ib2R5LnNlYXJjaCB7XG5cbiAgLnNlYXJjaC1wYW5lbCB7XG4gICAgbWFyZ2luOiAwIDAgNTBweCAwOyBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG5cbiAgICAucm93IHtcbiAgICAgIC8vQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgpO1xuICAgIH1cblxuICAgIC5zZWFyY2gta2V5d29yZC1sYWJlbCB7XG4gICAgICBAZXh0ZW5kIHA7XG4gICAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgICBjb2xvcjogJGJsdWUtZGFyaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAuc2VhcmNoLWtleXdvcmQge1xuICAgICAgQGV4dGVuZCBwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7IHBhZGRpbmc6IDIwcHggMTJweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIC8vYmFja2dyb3VuZDogcmdiYSgjZWVlLC43KTtcbiAgICAgIC8vY29sb3I6ICRibHVlLWxpZ2h0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgLnNlYXJjaC1idG4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAzMHB4O1xuICAgICAgbWFyZ2luOiA1cHggYXV0byAwIGF1dG87XG4gICAgICBvcGFjaXR5OiAuNztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDI5cHg7IGhlaWdodDogMzZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgfVxuXG4gICAgICBjaXJjbGUscGF0aCB7IHN0cm9rZTogIzMzMzsgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgQGF0LXJvb3QgLm5vLWlvcyAmIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9Ly9zZWFyY2gtcGFuZWxcblxuICAuc2VhcmNoLXJlc3VsdCB7XG4gICAgbWFyZ2luOiA1MHB4IDA7XG4gICAgcGFkZGluZzogMCAwIDQwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNiYmI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luOiA2MHB4IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgNTBweCAwO1xuICAgIH1cblxuICAgICYuZmlyc3QtcmVzdWx0IHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuXG4gICAgJi5sYXN0LXJlc3VsdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5tZXRhIHtcbiAgICAgIGNvbG9yOiAjOTk5O1xuXG4gICAgICAubWV0YS1pbm5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnRyaWJlLWNvdW50cnktbmFtZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuZXhjZXJwdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICB9XG5cbiAgLmZlYXR1cmVkLXBob3RvIHtcbiAgICBtYXJnaW46IDAgMCAuNXJlbSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbjogNXB4IDAgMCAwO1xuICAgIH1cblxuICB9XG5cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ== */
