@charset "UTF-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

meta.foundation-version {
  font-family: "/5.5.3/"; }

meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0; }

meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 40em)/";
  width: 0; }

meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:40.0625em)/";
  width: 40.0625em; }

meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:40.0625em) and (max-width:64em)/";
  width: 40.0625em; }

meta.foundation-mq-large {
  font-family: "/only screen and (min-width:64.0625em)/";
  width: 64.0625em; }

meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:64.0625em) and (max-width:90em)/";
  width: 64.0625em; }

meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:90.0625em)/";
  width: 90.0625em; }

meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/";
  width: 90.0625em; }

meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:120.0625em)/";
  width: 120.0625em; }

meta.foundation-data-attribute-namespace {
  font-family: false; }

html, body {
  height: 100%; }

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

html,
body {
  font-size: 100%; }

body {
  background: #fff;
  color: #222;
  cursor: auto;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  position: relative; }

a:hover {
  cursor: pointer; }

img {
  max-width: 100%;
  height: auto; }

img {
  -ms-interpolation-mode: bicubic; }

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

.left {
  float: left !important; }

.right {
  float: right !important; }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.hide {
  display: none; }

.invisible {
  visibility: hidden; }

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px; }

select {
  width: 100%; }

.row {
  margin: 0 auto;
  max-width: 62.5rem;
  width: 100%; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }
  .row.collapse > .column,
  .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row .row {
    margin: 0 -0.9375rem;
    max-width: none;
    width: auto; }
    .row .row:before, .row .row:after {
      content: " ";
      display: table; }
    .row .row:after {
      clear: both; }
    .row .row.collapse {
      margin: 0;
      max-width: none;
      width: auto; }
      .row .row.collapse:before, .row .row.collapse:after {
        content: " ";
        display: table; }
      .row .row.collapse:after {
        clear: both; }

.column,
.columns {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  width: 100%;
  float: left; }

.column + .column:last-child,
.columns + .column:last-child, .column +
.columns:last-child,
.columns +
.columns:last-child {
  float: right; }

.column + .column.end,
.columns + .column.end, .column +
.columns.end,
.columns +
.columns.end {
  float: left; }

@media only screen {
  .small-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .small-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .small-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .small-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .small-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .small-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .small-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .small-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .small-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .small-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .small-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .small-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .small-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .small-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .small-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .small-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .small-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .small-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .small-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .small-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .small-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .small-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .small-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .small-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .small-1 {
    width: 8.33333%; }
  .small-2 {
    width: 16.66667%; }
  .small-3 {
    width: 25%; }
  .small-4 {
    width: 33.33333%; }
  .small-5 {
    width: 41.66667%; }
  .small-6 {
    width: 50%; }
  .small-7 {
    width: 58.33333%; }
  .small-8 {
    width: 66.66667%; }
  .small-9 {
    width: 75%; }
  .small-10 {
    width: 83.33333%; }
  .small-11 {
    width: 91.66667%; }
  .small-12 {
    width: 100%; }
  .small-offset-0 {
    margin-left: 0 !important; }
  .small-offset-1 {
    margin-left: 8.33333% !important; }
  .small-offset-2 {
    margin-left: 16.66667% !important; }
  .small-offset-3 {
    margin-left: 25% !important; }
  .small-offset-4 {
    margin-left: 33.33333% !important; }
  .small-offset-5 {
    margin-left: 41.66667% !important; }
  .small-offset-6 {
    margin-left: 50% !important; }
  .small-offset-7 {
    margin-left: 58.33333% !important; }
  .small-offset-8 {
    margin-left: 66.66667% !important; }
  .small-offset-9 {
    margin-left: 75% !important; }
  .small-offset-10 {
    margin-left: 83.33333% !important; }
  .small-offset-11 {
    margin-left: 91.66667% !important; }
  .small-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.small-centered,
  .columns.small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.small-uncentered,
  .columns.small-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.small-centered:last-child,
  .columns.small-centered:last-child {
    float: none; }
  .column.small-uncentered:last-child,
  .columns.small-uncentered:last-child {
    float: left; }
  .column.small-uncentered.opposite,
  .columns.small-uncentered.opposite {
    float: right; }
  .row.small-collapse > .column,
  .row.small-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.small-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.small-uncollapse > .column,
  .row.small-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; } }

@media only screen and (min-width: 40.0625em) {
  .medium-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .medium-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .medium-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .medium-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .medium-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .medium-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .medium-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .medium-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .medium-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .medium-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .medium-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .medium-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .medium-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .medium-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .medium-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .medium-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .medium-1 {
    width: 8.33333%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-3 {
    width: 25%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-6 {
    width: 50%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-9 {
    width: 75%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-0 {
    margin-left: 0 !important; }
  .medium-offset-1 {
    margin-left: 8.33333% !important; }
  .medium-offset-2 {
    margin-left: 16.66667% !important; }
  .medium-offset-3 {
    margin-left: 25% !important; }
  .medium-offset-4 {
    margin-left: 33.33333% !important; }
  .medium-offset-5 {
    margin-left: 41.66667% !important; }
  .medium-offset-6 {
    margin-left: 50% !important; }
  .medium-offset-7 {
    margin-left: 58.33333% !important; }
  .medium-offset-8 {
    margin-left: 66.66667% !important; }
  .medium-offset-9 {
    margin-left: 75% !important; }
  .medium-offset-10 {
    margin-left: 83.33333% !important; }
  .medium-offset-11 {
    margin-left: 91.66667% !important; }
  .medium-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.medium-centered,
  .columns.medium-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.medium-uncentered,
  .columns.medium-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.medium-centered:last-child,
  .columns.medium-centered:last-child {
    float: none; }
  .column.medium-uncentered:last-child,
  .columns.medium-uncentered:last-child {
    float: left; }
  .column.medium-uncentered.opposite,
  .columns.medium-uncentered.opposite {
    float: right; }
  .row.medium-collapse > .column,
  .row.medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.medium-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.medium-uncollapse > .column,
  .row.medium-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; } }

@media only screen and (min-width: 64.0625em) {
  .large-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .large-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .large-push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .large-pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .large-push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .large-pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .large-push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .large-pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .large-push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .large-pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .large-push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .large-pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .large-push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .large-pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .large-push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .large-pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .large-push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .large-pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .large-push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .large-pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .large-push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .large-pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .large-push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .large-pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .large-1 {
    width: 8.33333%; }
  .large-2 {
    width: 16.66667%; }
  .large-3 {
    width: 25%; }
  .large-4 {
    width: 33.33333%; }
  .large-5 {
    width: 41.66667%; }
  .large-6 {
    width: 50%; }
  .large-7 {
    width: 58.33333%; }
  .large-8 {
    width: 66.66667%; }
  .large-9 {
    width: 75%; }
  .large-10 {
    width: 83.33333%; }
  .large-11 {
    width: 91.66667%; }
  .large-12 {
    width: 100%; }
  .large-offset-0 {
    margin-left: 0 !important; }
  .large-offset-1 {
    margin-left: 8.33333% !important; }
  .large-offset-2 {
    margin-left: 16.66667% !important; }
  .large-offset-3 {
    margin-left: 25% !important; }
  .large-offset-4 {
    margin-left: 33.33333% !important; }
  .large-offset-5 {
    margin-left: 41.66667% !important; }
  .large-offset-6 {
    margin-left: 50% !important; }
  .large-offset-7 {
    margin-left: 58.33333% !important; }
  .large-offset-8 {
    margin-left: 66.66667% !important; }
  .large-offset-9 {
    margin-left: 75% !important; }
  .large-offset-10 {
    margin-left: 83.33333% !important; }
  .large-offset-11 {
    margin-left: 91.66667% !important; }
  .large-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  .column.large-centered,
  .columns.large-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  .column.large-uncentered,
  .columns.large-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  .column.large-centered:last-child,
  .columns.large-centered:last-child {
    float: none; }
  .column.large-uncentered:last-child,
  .columns.large-uncentered:last-child {
    float: left; }
  .column.large-uncentered.opposite,
  .columns.large-uncentered.opposite {
    float: right; }
  .row.large-collapse > .column,
  .row.large-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.large-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row.large-uncollapse > .column,
  .row.large-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  .push-0 {
    position: relative;
    left: 0;
    right: auto; }
  .pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  .push-1 {
    position: relative;
    left: 8.33333%;
    right: auto; }
  .pull-1 {
    position: relative;
    right: 8.33333%;
    left: auto; }
  .push-2 {
    position: relative;
    left: 16.66667%;
    right: auto; }
  .pull-2 {
    position: relative;
    right: 16.66667%;
    left: auto; }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto; }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto; }
  .push-4 {
    position: relative;
    left: 33.33333%;
    right: auto; }
  .pull-4 {
    position: relative;
    right: 33.33333%;
    left: auto; }
  .push-5 {
    position: relative;
    left: 41.66667%;
    right: auto; }
  .pull-5 {
    position: relative;
    right: 41.66667%;
    left: auto; }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto; }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto; }
  .push-7 {
    position: relative;
    left: 58.33333%;
    right: auto; }
  .pull-7 {
    position: relative;
    right: 58.33333%;
    left: auto; }
  .push-8 {
    position: relative;
    left: 66.66667%;
    right: auto; }
  .pull-8 {
    position: relative;
    right: 66.66667%;
    left: auto; }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto; }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto; }
  .push-10 {
    position: relative;
    left: 83.33333%;
    right: auto; }
  .pull-10 {
    position: relative;
    right: 83.33333%;
    left: auto; }
  .push-11 {
    position: relative;
    left: 91.66667%;
    right: auto; }
  .pull-11 {
    position: relative;
    right: 91.66667%;
    left: auto; } }

.alert-box {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.8125rem;
  font-weight: normal;
  margin-bottom: 1.25rem;
  padding: 0.875rem 1.5rem 0.875rem 0.875rem;
  position: relative;
  transition: opacity 300ms ease-out;
  background-color: #008CBA;
  border-color: #0078a0;
  color: #FFFFFF; }
  .alert-box .close {
    right: 0.25rem;
    background: inherit;
    color: #333333;
    font-size: 1.375rem;
    line-height: .9;
    margin-top: -0.6875rem;
    opacity: 0.3;
    padding: 0 6px 4px;
    position: absolute;
    top: 50%; }
    .alert-box .close:hover, .alert-box .close:focus {
      opacity: 0.5; }
  .alert-box.radius {
    border-radius: 3px; }
  .alert-box.round {
    border-radius: 1000px; }
  .alert-box.success {
    background-color: #43AC6A;
    border-color: #3a945b;
    color: #FFFFFF; }
  .alert-box.alert {
    background-color: #f04124;
    border-color: #de2d0f;
    color: #FFFFFF; }
  .alert-box.secondary {
    background-color: #e7e7e7;
    border-color: #c7c7c7;
    color: #4f4f4f; }
  .alert-box.warning {
    background-color: #f08a24;
    border-color: #de770f;
    color: #FFFFFF; }
  .alert-box.info {
    background-color: #a0d3e8;
    border-color: #74bfdd;
    color: #4f4f4f; }
  .alert-box.alert-close {
    opacity: 0; }

[class*="block-grid-"] {
  display: block;
  padding: 0;
  margin: 0 -0.625rem; }
  [class*="block-grid-"]:before, [class*="block-grid-"]:after {
    content: " ";
    display: table; }
  [class*="block-grid-"]:after {
    clear: both; }
  [class*="block-grid-"] > li {
    display: block;
    float: left;
    height: auto;
    padding: 0 0.625rem 1.25rem; }

@media only screen {
  .small-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .small-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .small-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .small-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .small-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .small-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .small-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .small-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .small-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .small-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .small-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .small-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .small-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .small-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .small-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .small-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .small-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .small-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .small-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .small-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .small-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .small-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .small-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .small-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .small-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

@media only screen and (min-width: 40.0625em) {
  .medium-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .medium-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .medium-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .medium-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .medium-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .medium-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .medium-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .medium-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .medium-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .medium-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .medium-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .medium-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .medium-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .medium-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .medium-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .medium-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .medium-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .medium-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .medium-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .medium-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .medium-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .medium-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .medium-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .medium-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .medium-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

@media only screen and (min-width: 64.0625em) {
  .large-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    .large-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  .large-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    .large-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  .large-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    .large-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  .large-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    .large-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  .large-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    .large-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  .large-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    .large-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  .large-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    .large-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  .large-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    .large-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  .large-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    .large-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  .large-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    .large-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  .large-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    .large-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  .large-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    .large-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    .large-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

/* Foundation Dropdowns */
.f-dropdown {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 2px;
  max-width: 200px; }
  .f-dropdown.open {
    display: block; }
  .f-dropdown > *:first-child {
    margin-top: 0; }
  .f-dropdown > *:last-child {
    margin-bottom: 0; }
  .f-dropdown:before {
    border: inset 6px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #FFFFFF transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -12px;
    left: 10px;
    z-index: 89; }
  .f-dropdown:after {
    border: inset 7px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #cccccc transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -14px;
    left: 9px;
    z-index: 88; }
  .f-dropdown.right:before {
    left: auto;
    right: 10px; }
  .f-dropdown.right:after {
    left: auto;
    right: 9px; }
  .f-dropdown.drop-right {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-top: 0;
    margin-left: 2px;
    max-width: 200px; }
    .f-dropdown.drop-right.open {
      display: block; }
    .f-dropdown.drop-right > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-right > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-right:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent #FFFFFF transparent transparent;
      border-right-style: solid;
      position: absolute;
      top: 10px;
      left: -12px;
      z-index: 89; }
    .f-dropdown.drop-right:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent #cccccc transparent transparent;
      border-right-style: solid;
      position: absolute;
      top: 9px;
      left: -14px;
      z-index: 88; }
  .f-dropdown.drop-left {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-top: 0;
    margin-left: -2px;
    max-width: 200px; }
    .f-dropdown.drop-left.open {
      display: block; }
    .f-dropdown.drop-left > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-left > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-left:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent #FFFFFF;
      border-left-style: solid;
      position: absolute;
      top: 10px;
      right: -12px;
      left: auto;
      z-index: 89; }
    .f-dropdown.drop-left:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent #cccccc;
      border-left-style: solid;
      position: absolute;
      top: 9px;
      right: -14px;
      left: auto;
      z-index: 88; }
  .f-dropdown.drop-top {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-left: 0;
    margin-top: -2px;
    max-width: 200px; }
    .f-dropdown.drop-top.open {
      display: block; }
    .f-dropdown.drop-top > *:first-child {
      margin-top: 0; }
    .f-dropdown.drop-top > *:last-child {
      margin-bottom: 0; }
    .f-dropdown.drop-top:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: #FFFFFF transparent transparent transparent;
      border-top-style: solid;
      bottom: -12px;
      position: absolute;
      top: auto;
      left: 10px;
      right: auto;
      z-index: 89; }
    .f-dropdown.drop-top:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: #cccccc transparent transparent transparent;
      border-top-style: solid;
      bottom: -14px;
      position: absolute;
      top: auto;
      left: 9px;
      right: auto;
      z-index: 88; }
  .f-dropdown li {
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.125rem;
    margin: 0; }
    .f-dropdown li:hover, .f-dropdown li:focus {
      background: #EEEEEE; }
    .f-dropdown li a {
      display: block;
      padding: 0.5rem;
      color: #555555; }
  .f-dropdown.content {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    padding: 1.25rem;
    width: 100%;
    z-index: 89;
    max-width: 200px; }
    .f-dropdown.content.open {
      display: block; }
    .f-dropdown.content > *:first-child {
      margin-top: 0; }
    .f-dropdown.content > *:last-child {
      margin-bottom: 0; }
  .f-dropdown.radius {
    border-radius: 3px; }
  .f-dropdown.tiny {
    max-width: 200px; }
  .f-dropdown.small {
    max-width: 300px; }
  .f-dropdown.medium {
    max-width: 500px; }
  .f-dropdown.large {
    max-width: 800px; }
  .f-dropdown.mega {
    width: 100% !important;
    max-width: 100% !important; }
    .f-dropdown.mega.open {
      left: 0 !important; }

button, .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  background-color: #008CBA;
  border-color: #007095;
  color: #FFFFFF;
  transition: background-color 300ms ease-out; }
  button:hover, button:focus, .button:hover, .button:focus {
    background-color: #007095; }
  button:hover, button:focus, .button:hover, .button:focus {
    color: #FFFFFF; }
  button.secondary, .button.secondary {
    background-color: #e7e7e7;
    border-color: #b9b9b9;
    color: #333333; }
    button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
      background-color: #b9b9b9; }
    button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
      color: #333333; }
  button.success, .button.success {
    background-color: #43AC6A;
    border-color: #368a55;
    color: #FFFFFF; }
    button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
      background-color: #368a55; }
    button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
      color: #FFFFFF; }
  button.alert, .button.alert {
    background-color: #f04124;
    border-color: #cf2a0e;
    color: #FFFFFF; }
    button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
      background-color: #cf2a0e; }
    button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
      color: #FFFFFF; }
  button.warning, .button.warning {
    background-color: #f08a24;
    border-color: #cf6e0e;
    color: #FFFFFF; }
    button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
      background-color: #cf6e0e; }
    button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
      color: #FFFFFF; }
  button.info, .button.info {
    background-color: #a0d3e8;
    border-color: #61b6d9;
    color: #333333; }
    button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
      background-color: #61b6d9; }
    button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
      color: #FFFFFF; }
  button.large, .button.large {
    padding: 1.125rem 2.25rem 1.1875rem 2.25rem;
    font-size: 1.25rem; }
  button.small, .button.small {
    padding: 0.875rem 1.75rem 0.9375rem 1.75rem;
    font-size: 0.8125rem; }
  button.tiny, .button.tiny {
    padding: 0.625rem 1.25rem 0.6875rem 1.25rem;
    font-size: 0.6875rem; }
  button.expand, .button.expand {
    padding: 1rem 2rem 1.0625rem 2rem;
    font-size: 1rem;
    padding-bottom: 1.0625rem;
    padding-top: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%; }
  button.left-align, .button.left-align {
    text-align: left;
    text-indent: 0.75rem; }
  button.right-align, .button.right-align {
    text-align: right;
    padding-right: 0.75rem; }
  button.radius, .button.radius {
    border-radius: 3px; }
  button.round, .button.round {
    border-radius: 1000px; }
  button.disabled, button[disabled], .button.disabled, .button[disabled] {
    background-color: #008CBA;
    border-color: #007095;
    color: #FFFFFF;
    box-shadow: none;
    cursor: default;
    opacity: 0.7; }
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #007095; }
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      color: #FFFFFF; }
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #008CBA; }
    button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
      background-color: #e7e7e7;
      border-color: #b9b9b9;
      color: #333333;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #b9b9b9; }
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        color: #333333; }
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #e7e7e7; }
    button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
      background-color: #43AC6A;
      border-color: #368a55;
      color: #FFFFFF;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #368a55; }
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        color: #FFFFFF; }
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #43AC6A; }
    button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
      background-color: #f04124;
      border-color: #cf2a0e;
      color: #FFFFFF;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cf2a0e; }
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        color: #FFFFFF; }
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #f04124; }
    button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
      background-color: #f08a24;
      border-color: #cf6e0e;
      color: #FFFFFF;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #cf6e0e; }
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        color: #FFFFFF; }
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #f08a24; }
    button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
      background-color: #a0d3e8;
      border-color: #61b6d9;
      color: #333333;
      box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        background-color: #61b6d9; }
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        color: #FFFFFF; }
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        background-color: #a0d3e8; }

button::-moz-focus-inner {
  border: 0;
  padding: 0; }

@media only screen and (min-width: 40.0625em) {
  button, .button {
    display: inline-block; } }

/* Standard Forms */
form {
  margin: 0 0 1rem; }

/* Using forms within rows, we need to set some defaults */
form .row .row {
  margin: 0 -0.5rem; }
  form .row .row .column,
  form .row .row .columns {
    padding: 0 0.5rem; }
  form .row .row.collapse {
    margin: 0; }
    form .row .row.collapse .column,
    form .row .row.collapse .columns {
      padding: 0; }
    form .row .row.collapse input {
      -webkit-border-bottom-right-radius: 0;
      -webkit-border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-top-right-radius: 0; }

form .row input.column,
form .row input.columns,
form .row textarea.column,
form .row textarea.columns {
  padding-left: 0.5rem; }

/* Label Styles */
label {
  color: #4d4d4d;
  cursor: pointer;
  display: block;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 0;
  /* Styles for required inputs */ }
  label.right {
    float: none !important;
    text-align: right; }
  label.inline {
    margin: 0 0 1rem 0;
    padding: 0.5625rem 0; }
  label small {
    text-transform: capitalize;
    color: #676767; }

/* Attach elements to the beginning or end of an input */
.prefix,
.postfix {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.875rem;
  height: 2.3125rem;
  line-height: 2.3125rem;
  overflow: visible;
  padding-bottom: 0;
  padding-top: 0;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2; }

/* Adjust padding, alignment and radius if pre/post element is a button */
.postfix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center; }

.prefix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center; }

.prefix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

.postfix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

.prefix.button.round {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

.postfix.button.round {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
span.prefix, label.prefix {
  background: #f2f2f2;
  border-right: none;
  color: #333333;
  border-color: #cccccc; }

span.postfix, label.postfix {
  background: #f2f2f2;
  border-left: none;
  color: #333333;
  border-color: #cccccc; }

/* We use this to get basic styling on all basic form elements */
input:not([type]), input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  background-color: #FFFFFF;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  display: block;
  font-family: inherit;
  font-size: 0.875rem;
  height: 2.3125rem;
  margin: 0 0 1rem 0;
  padding: 0.5rem;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s linear, background 0.15s linear; }
  input:not([type]):focus, input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus {
    background: #fafafa;
    border-color: #999999;
    outline: none; }
  input:not([type]):disabled, input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  input:not([type])[disabled], input:not([type])[readonly],
  fieldset[disabled] input:not([type]), input[type="text"][disabled], input[type="text"][readonly],
  fieldset[disabled] input[type="text"], input[type="password"][disabled], input[type="password"][readonly],
  fieldset[disabled] input[type="password"], input[type="date"][disabled], input[type="date"][readonly],
  fieldset[disabled] input[type="date"], input[type="datetime"][disabled], input[type="datetime"][readonly],
  fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled], input[type="datetime-local"][readonly],
  fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled], input[type="month"][readonly],
  fieldset[disabled] input[type="month"], input[type="week"][disabled], input[type="week"][readonly],
  fieldset[disabled] input[type="week"], input[type="email"][disabled], input[type="email"][readonly],
  fieldset[disabled] input[type="email"], input[type="number"][disabled], input[type="number"][readonly],
  fieldset[disabled] input[type="number"], input[type="search"][disabled], input[type="search"][readonly],
  fieldset[disabled] input[type="search"], input[type="tel"][disabled], input[type="tel"][readonly],
  fieldset[disabled] input[type="tel"], input[type="time"][disabled], input[type="time"][readonly],
  fieldset[disabled] input[type="time"], input[type="url"][disabled], input[type="url"][readonly],
  fieldset[disabled] input[type="url"], input[type="color"][disabled], input[type="color"][readonly],
  fieldset[disabled] input[type="color"], textarea[disabled], textarea[readonly],
  fieldset[disabled] textarea {
    background-color: #DDDDDD;
    cursor: default; }
  input:not([type]).radius, input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius {
    border-radius: 3px; }

form .row .prefix-radius.row.collapse input,
form .row .prefix-radius.row.collapse textarea,
form .row .prefix-radius.row.collapse select,
form .row .prefix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

form .row .prefix-radius.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

form .row .postfix-radius.row.collapse input,
form .row .postfix-radius.row.collapse textarea,
form .row .postfix-radius.row.collapse select,
form .row .postfix-radius.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

form .row .postfix-radius.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

form .row .prefix-round.row.collapse input,
form .row .prefix-round.row.collapse textarea,
form .row .prefix-round.row.collapse select,
form .row .prefix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

form .row .prefix-round.row.collapse .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse input,
form .row .postfix-round.row.collapse textarea,
form .row .postfix-round.row.collapse select,
form .row .postfix-round.row.collapse button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

form .row .postfix-round.row.collapse .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0; }

/* Respect enforced amount of rows for textarea */
textarea[rows] {
  height: auto; }

/* Not allow resize out of parent */
textarea {
  max-width: 100%; }

::-webkit-input-placeholder {
  color: #666666; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #666666; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #666666; }

:-ms-input-placeholder {
  color: #666666; }

/* Add height value for select elements to match text input height */
select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #FAFAFA;
  border-radius: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");
  background-position: 100% center;
  background-repeat: no-repeat;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  color: rgba(0, 0, 0, 0.75);
  font-family: inherit;
  font-size: 0.875rem;
  line-height: normal;
  padding: 0.5rem;
  border-radius: 0;
  height: 2.3125rem; }
  select::-ms-expand {
    display: none; }
  select.radius {
    border-radius: 3px; }
  select:focus {
    background-color: #f3f3f3;
    border-color: #999999; }
  select:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  select[multiple] {
    height: auto; }

/* Adjust margin for form elements below */
input[type="file"],
input[type="checkbox"],
input[type="radio"],
select {
  margin: 0 0 1rem 0; }

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

/* Normalize file input width */
input[type="file"] {
  width: 100%; }

/* HTML5 Number spinners settings */
/* We add basic fieldset styling */
fieldset {
  border: 1px solid #DDDDDD;
  margin: 1.125rem 0;
  padding: 1.25rem; }
  fieldset legend {
    font-weight: bold;
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

/* Error Handling */
[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

[data-abide] span.error, [data-abide] small.error {
  display: none; }

span.error, small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

.error input,
.error textarea,
.error select {
  margin-bottom: 0; }

.error input[type="checkbox"],
.error input[type="radio"] {
  margin-bottom: 1rem; }

.error label,
.error label.error {
  color: #f04124; }

.error small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

.error > label > small {
  background: transparent;
  color: #676767;
  display: inline;
  font-size: 60%;
  font-style: normal;
  margin: 0;
  padding: 0;
  text-transform: capitalize; }

.error span.error-message {
  display: block; }

input.error,
textarea.error,
select.error {
  margin-bottom: 0; }

label.error {
  color: #f04124; }

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

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

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

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

@media only screen and (max-width: 40em) {
  .small-only-text-left {
    text-align: left !important; }
  .small-only-text-right {
    text-align: right !important; }
  .small-only-text-center {
    text-align: center !important; }
  .small-only-text-justify {
    text-align: justify !important; } }

@media only screen {
  .small-text-left {
    text-align: left !important; }
  .small-text-right {
    text-align: right !important; }
  .small-text-center {
    text-align: center !important; }
  .small-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 40.0625em) and (max-width: 64em) {
  .medium-only-text-left {
    text-align: left !important; }
  .medium-only-text-right {
    text-align: right !important; }
  .medium-only-text-center {
    text-align: center !important; }
  .medium-only-text-justify {
    text-align: justify !important; } }

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

@media only screen and (min-width: 64.0625em) and (max-width: 90em) {
  .large-only-text-left {
    text-align: left !important; }
  .large-only-text-right {
    text-align: right !important; }
  .large-only-text-center {
    text-align: center !important; }
  .large-only-text-justify {
    text-align: justify !important; } }

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

@media only screen and (min-width: 90.0625em) and (max-width: 120em) {
  .xlarge-only-text-left {
    text-align: left !important; }
  .xlarge-only-text-right {
    text-align: right !important; }
  .xlarge-only-text-center {
    text-align: center !important; }
  .xlarge-only-text-justify {
    text-align: justify !important; } }

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

@media only screen and (min-width: 120.0625em) and (max-width: 6249999.9375em) {
  .xxlarge-only-text-left {
    text-align: left !important; }
  .xxlarge-only-text-right {
    text-align: right !important; }
  .xxlarge-only-text-center {
    text-align: center !important; }
  .xxlarge-only-text-justify {
    text-align: justify !important; } }

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

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

/* Default Link Styles */
a {
  color: #008CBA;
  line-height: inherit;
  text-decoration: none; }
  a:hover, a:focus {
    color: #0078a0; }
  a img {
    border: none; }

/* Default paragraph styles */
p {
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  text-rendering: optimizeLegibility; }
  p.lead {
    font-size: 1.21875rem;
    line-height: 1.6; }
  p aside {
    font-size: 0.875rem;
    font-style: italic;
    line-height: 1.35; }

/* Default header styles */
h1, h2, h3, h4, h5, h6 {
  color: #222222;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  margin-top: 0.2rem;
  text-rendering: optimizeLegibility; }
  h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    color: #6f6f6f;
    font-size: 60%;
    line-height: 0; }

h1 {
  font-size: 2.125rem; }

h2 {
  font-size: 1.6875rem; }

h3 {
  font-size: 1.375rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.125rem; }

h6 {
  font-size: 1rem; }

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

hr {
  border: solid #DDDDDD;
  border-width: 1px 0 0;
  clear: both;
  height: 0;
  margin: 1.25rem 0 1.1875rem; }

/* Helpful Typography Defaults */
em,
i {
  font-style: italic;
  line-height: inherit; }

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

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

code {
  background-color: #f8f8f8;
  border-color: #dfdfdf;
  border-style: solid;
  border-width: 1px;
  color: #333333;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  padding: 0.125rem 0.3125rem 0.0625rem; }

/* Lists */
ul,
ol,
dl {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
  list-style-position: outside;
  margin-bottom: 1.25rem; }

ul {
  margin-left: 1.1rem; }

/* Unordered Lists */
ul li ul,
ul li ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

ul.square li ul, ul.circle li ul, ul.disc li ul {
  list-style: inherit; }

ul.square {
  list-style-type: square;
  margin-left: 1.1rem; }

ul.circle {
  list-style-type: circle;
  margin-left: 1.1rem; }

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

/* Ordered Lists */
ol {
  margin-left: 1.4rem; }
  ol li ul,
  ol li ol {
    margin-left: 1.25rem;
    margin-bottom: 0; }

.no-bullet {
  list-style-type: none;
  margin-left: 0; }
  .no-bullet li ul,
  .no-bullet li ol {
    margin-left: 1.25rem;
    margin-bottom: 0;
    list-style: none; }

/* Definition Lists */
dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold; }

dl dd {
  margin-bottom: 0.75rem; }

/* Abbreviations */
abbr,
acronym {
  text-transform: uppercase;
  font-size: 90%;
  color: #222;
  cursor: help; }

abbr {
  text-transform: none; }
  abbr[title] {
    border-bottom: 1px dotted #DDDDDD; }

/* Blockquotes */
blockquote {
  margin: 0 0 1.25rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #DDDDDD; }
  blockquote cite {
    display: block;
    font-size: 0.8125rem;
    color: #555555; }
    blockquote cite:before {
      content: "\2014 \0020"; }
    blockquote cite a,
    blockquote cite a:visited {
      color: #555555; }

blockquote,
blockquote p {
  line-height: 1.6;
  color: #6f6f6f; }

/* Microformats */
.vcard {
  display: inline-block;
  margin: 0 0 1.25rem 0;
  border: 1px solid #DDDDDD;
  padding: 0.625rem 0.75rem; }
  .vcard li {
    margin: 0;
    display: block; }
  .vcard .fn {
    font-weight: bold;
    font-size: 0.9375rem; }

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

.vevent abbr {
  cursor: default;
  text-decoration: none;
  font-weight: bold;
  border: none;
  padding: 0 0.0625rem; }

@media only screen and (min-width: 40.0625em) {
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4; }
  h1 {
    font-size: 2.75rem; }
  h2 {
    font-size: 2.3125rem; }
  h3 {
    font-size: 1.6875rem; }
  h4 {
    font-size: 1.4375rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 1rem; } }

/*
       * Print styles.
       *
       * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
       * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
      */
@media print {
  * {
    background: transparent !important;
    color: #000000 !important;
    /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group;
    /* h5bp.com/t */ }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.34in; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

/* small displays */
@media only screen {
  .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* medium displays */
@media only screen and (min-width: 40.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* large displays */
@media only screen and (min-width: 64.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* xlarge displays */
@media only screen and (min-width: 90.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* xxlarge displays */
@media only screen and (min-width: 120.0625em) {
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* Orientation targeting */
.show-for-landscape,
.hide-for-portrait {
  display: inherit !important; }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }

/* Specific visibility for tables */
table.hide-for-landscape, table.show-for-portrait {
  display: table !important; }

thead.hide-for-landscape, thead.show-for-portrait {
  display: table-header-group !important; }

tbody.hide-for-landscape, tbody.show-for-portrait {
  display: table-row-group !important; }

tr.hide-for-landscape, tr.show-for-portrait {
  display: table-row !important; }

td.hide-for-landscape, td.show-for-portrait,
th.hide-for-landscape,
th.show-for-portrait {
  display: table-cell !important; }

@media only screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: inherit !important; }
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important; }
  /* Specific visibility for tables */
  table.show-for-landscape, table.hide-for-portrait {
    display: table !important; }
  thead.show-for-landscape, thead.hide-for-portrait {
    display: table-header-group !important; }
  tbody.show-for-landscape, tbody.hide-for-portrait {
    display: table-row-group !important; }
  tr.show-for-landscape, tr.hide-for-portrait {
    display: table-row !important; }
  td.show-for-landscape, td.hide-for-portrait,
  th.show-for-landscape,
  th.hide-for-portrait {
    display: table-cell !important; } }

@media only screen and (orientation: portrait) {
  .show-for-portrait,
  .hide-for-landscape {
    display: inherit !important; }
  .hide-for-portrait,
  .show-for-landscape {
    display: none !important; }
  /* Specific visibility for tables */
  table.show-for-portrait, table.hide-for-landscape {
    display: table !important; }
  thead.show-for-portrait, thead.hide-for-landscape {
    display: table-header-group !important; }
  tbody.show-for-portrait, tbody.hide-for-landscape {
    display: table-row-group !important; }
  tr.show-for-portrait, tr.hide-for-landscape {
    display: table-row !important; }
  td.show-for-portrait, td.hide-for-landscape,
  th.show-for-portrait,
  th.hide-for-landscape {
    display: table-cell !important; } }

/* Touch-enabled device targeting */
.show-for-touch {
  display: none !important; }

.hide-for-touch {
  display: inherit !important; }

.touch .show-for-touch {
  display: inherit !important; }

.touch .hide-for-touch {
  display: none !important; }

/* Specific visibility for tables */
table.hide-for-touch {
  display: table !important; }

.touch table.show-for-touch {
  display: table !important; }

thead.hide-for-touch {
  display: table-header-group !important; }

.touch thead.show-for-touch {
  display: table-header-group !important; }

tbody.hide-for-touch {
  display: table-row-group !important; }

.touch tbody.show-for-touch {
  display: table-row-group !important; }

tr.hide-for-touch {
  display: table-row !important; }

.touch tr.show-for-touch {
  display: table-row !important; }

td.hide-for-touch {
  display: table-cell !important; }

.touch td.show-for-touch {
  display: table-cell !important; }

th.hide-for-touch {
  display: table-cell !important; }

.touch th.show-for-touch {
  display: table-cell !important; }

/* Screen reader-specific classes */
.show-for-sr {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }

.show-on-focus {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }
  .show-on-focus:focus, .show-on-focus:active {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }

/* Print visibility */
.print-only,
.show-for-print {
  display: none !important; }

@media print {
  .print-only,
  .show-for-print {
    display: block !important; }
  .hide-on-print,
  .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; } }

/* 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);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .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("./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%;
  margin-top: -10px\9;
  /*lte IE 8*/
  -webkit-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: 0.25; }

.slick-prev:before, .slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -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-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -45px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 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: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*
	jQuery.mmenu CSS
*/
/*
	jQuery.mmenu oncanvas CSS
*/
.mm-hidden {
  display: none !important; }

.mm-wrapper {
  overflow-x: hidden;
  position: relative; }

.mm-menu,
.mm-panels,
.mm-panels > .mm-panel {
  margin: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0; }

.mm-menu {
  box-sizing: border-box;
  background: inherit;
  display: block;
  overflow: hidden;
  padding: 0; }

.mm-panel {
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0); }

.mm-panel.mm-opened {
  -webkit-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0); }

.mm-panel.mm-subopened {
  -webkit-transform: translate3d(-30%, 0, 0);
  transform: translate3d(-30%, 0, 0); }

.mm-panel.mm-highest {
  z-index: 1; }

.mm-panels,
.mm-panels > .mm-panel {
  background: inherit;
  border-color: inherit; }

.mm-panels > .mm-panel {
  background: inherit;
  border-color: inherit;
  -webkit-overflow-scrolling: touch;
  overflow: scroll;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  padding: 0 20px; }

.mm-panels > .mm-panel.mm-hasnavbar {
  padding-top: 40px; }

.mm-panels > .mm-panel:before, .mm-panels > .mm-panel:after {
  content: '';
  display: block;
  height: 20px; }

.mm-vertical .mm-panel {
  -webkit-transform: none !important;
  transform: none !important; }

.mm-vertical .mm-listview .mm-panel,
.mm-listview .mm-vertical .mm-panel {
  display: none;
  padding: 10px 0 10px 10px; }

.mm-vertical .mm-listview .mm-panel .mm-listview > li:last-child:after,
.mm-listview .mm-vertical .mm-panel .mm-listview > li:last-child:after {
  border-color: transparent; }

.mm-vertical li.mm-opened > .mm-panel,
li.mm-vertical.mm-opened > .mm-panel {
  display: block; }

.mm-vertical .mm-listview > li > .mm-next,
.mm-listview > li.mm-vertical > .mm-next {
  height: 40px;
  bottom: auto; }

.mm-vertical .mm-listview > li > .mm-next:after,
.mm-listview > li.mm-vertical > .mm-next:after {
  top: 16px;
  bottom: auto; }

.mm-vertical .mm-listview > li.mm-opened > .mm-next:after,
.mm-listview > li.mm-vertical.mm-opened > .mm-next:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

.mm-navbar {
  border-bottom: 1px solid;
  border-color: inherit;
  text-align: center;
  line-height: 20px;
  height: 40px;
  padding: 0 40px;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

.mm-navbar > * {
  display: block;
  padding: 10px 0; }

.mm-navbar a,
.mm-navbar a:hover {
  text-decoration: none; }

.mm-navbar .mm-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; }

.mm-navbar .mm-btn {
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  z-index: 1; }

.mm-navbar .mm-btn:first-child {
  padding-left: 20px;
  left: 0; }

.mm-navbar .mm-btn:last-child {
  text-align: right;
  padding-right: 20px;
  right: 0; }

.mm-panel .mm-navbar {
  display: none; }

.mm-panel.mm-hasnavbar .mm-navbar {
  display: block; }

.mm-listview,
.mm-listview > li {
  list-style: none;
  display: block;
  padding: 0;
  margin: 0; }

.mm-listview {
  font: inherit;
  font-size: 14px;
  line-height: 20px; }

.mm-listview a,
.mm-listview a:hover {
  text-decoration: none; }

.mm-listview > li {
  position: relative; }

.mm-listview > li, .mm-listview > li:after,
.mm-listview > li .mm-next,
.mm-listview > li .mm-next:before {
  border-color: inherit; }

.mm-listview > li > a,
.mm-listview > li > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  color: inherit;
  display: block;
  padding: 10px 10px 10px 20px;
  margin: 0; }

.mm-listview > li > a.mm-arrow,
.mm-listview > li > span.mm-arrow {
  padding-right: 50px; }

.mm-listview > li:not(.mm-divider):after {
  content: '';
  border-bottom-width: 1px;
  border-bottom-style: solid;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0; }

.mm-listview > li:not(.mm-divider):after {
  left: 20px; }

.mm-listview .mm-next {
  background: rgba(3, 2, 1, 0);
  width: 50px;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2; }

.mm-listview .mm-next:before {
  content: '';
  border-left-width: 1px;
  border-left-style: solid;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0; }

.mm-listview .mm-next + a,
.mm-listview .mm-next + span {
  margin-right: 50px; }

.mm-listview .mm-next.mm-fullsubopen {
  width: 100%; }

.mm-listview .mm-next.mm-fullsubopen:before {
  border-left: none; }

.mm-listview .mm-next.mm-fullsubopen + a,
.mm-listview .mm-next.mm-fullsubopen + span {
  padding-right: 50px;
  margin-right: 0; }

.mm-panels > .mm-panel > .mm-listview {
  margin: 20px -20px; }

.mm-panels > .mm-panel > .mm-listview:first-child,
.mm-panels > .mm-panel > .mm-navbar + .mm-listview {
  margin-top: -20px; }

.mm-listview .mm-inset {
  list-style: inside disc;
  padding: 0 10px 15px 40px;
  margin: 0; }

.mm-listview .mm-inset > li {
  padding: 5px 0; }

.mm-listview .mm-divider {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  font-size: 10px;
  text-transform: uppercase;
  text-indent: 20px;
  line-height: 25px; }

.mm-listview .mm-spacer {
  padding-top: 40px; }

.mm-listview .mm-spacer > .mm-next {
  top: 40px; }

.mm-listview .mm-spacer.mm-divider {
  padding-top: 25px; }

.mm-prev:before,
.mm-next:after,
.mm-arrow:after {
  content: '';
  border: 2px solid transparent;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.mm-prev:before {
  border-right: none;
  border-bottom: none;
  left: 23px; }

.mm-next:after,
.mm-arrow:after {
  border-top: none;
  border-left: none;
  right: 23px; }

.mm-menu {
  background: #f3f3f3;
  border-color: rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.7); }

.mm-menu .mm-navbar > *,
.mm-menu .mm-navbar a {
  color: rgba(0, 0, 0, 0.3); }

.mm-menu .mm-navbar .mm-btn:before, .mm-menu .mm-navbar .mm-btn:after {
  border-color: rgba(0, 0, 0, 0.3); }

.mm-menu .mm-listview {
  border-color: rgba(0, 0, 0, 0.1); }

.mm-menu .mm-listview > li .mm-next:after,
.mm-menu .mm-listview > li .mm-arrow:after {
  border-color: rgba(0, 0, 0, 0.3); }

.mm-menu .mm-listview > li a:not(.mm-next) {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.5);
  tap-highlight-color: rgba(255, 255, 255, 0.5); }

.mm-menu .mm-listview > li.mm-selected > a:not(.mm-next),
.mm-menu .mm-listview > li.mm-selected > span {
  background: rgba(255, 255, 255, 0.5); }

.mm-menu.mm-vertical .mm-listview > li.mm-opened > a.mm-next,
.mm-menu.mm-vertical .mm-listview > li.mm-opened > .mm-panel,
.mm-menu .mm-listview > li.mm-opened.mm-vertical > a.mm-next,
.mm-menu .mm-listview > li.mm-opened.mm-vertical > .mm-panel {
  background: rgba(0, 0, 0, 0.05); }

.mm-menu .mm-divider {
  background: rgba(0, 0, 0, 0.05); }

/*
	jQuery.mmenu offcanvas addon CSS
*/
.mm-page {
  box-sizing: border-box;
  position: relative; }

.mm-slideout {
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease; }

html.mm-opened {
  overflow-x: hidden;
  position: relative; }

html.mm-blocking {
  overflow: hidden; }

html.mm-blocking body {
  overflow: hidden; }

html.mm-background .mm-page {
  background: inherit; }

#mm-blocker {
  background: rgba(3, 2, 1, 0);
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999; }

html.mm-blocking #mm-blocker {
  display: block; }

.mm-menu.mm-offcanvas {
  display: none;
  position: fixed; }

.mm-menu.mm-current {
  display: block; }

.mm-menu {
  width: 80%;
  min-width: 140px;
  max-width: 440px; }

html.mm-opening .mm-slideout {
  -webkit-transform: translate(80%, 0);
  transform: translate(80%, 0); }

@media all and (max-width: 175px) {
  html.mm-opening .mm-slideout {
    -webkit-transform: translate(140px, 0);
    transform: translate(140px, 0); } }

@media all and (min-width: 550px) {
  html.mm-opening .mm-slideout {
    -webkit-transform: translate(440px, 0);
    transform: translate(440px, 0); } }

/*
	jQuery.mmenu position extension CSS
*/
.mm-menu.mm-top,
.mm-menu.mm-bottom {
  width: 100%;
  min-width: 100%;
  max-width: 100%; }

.mm-menu.mm-right {
  left: auto;
  right: 0; }

.mm-menu.mm-bottom {
  top: auto;
  bottom: 0; }

html.mm-right.mm-opening .mm-slideout {
  -webkit-transform: translate(-80%, 0);
  transform: translate(-80%, 0); }

@media all and (max-width: 175px) {
  html.mm-right.mm-opening .mm-slideout {
    -webkit-transform: translate(-140px, 0);
    transform: translate(-140px, 0); } }

@media all and (min-width: 550px) {
  html.mm-right.mm-opening .mm-slideout {
    -webkit-transform: translate(-440px, 0);
    transform: translate(-440px, 0); } }

/*
	jQuery.mmenu z-position extension CSS
*/
html.mm-front .mm-slideout {
  -webkit-transform: none !important;
  transform: none !important;
  z-index: 0 !important; }

.mm-menu.mm-front {
  z-index: 1; }

.mm-menu.mm-front, .mm-menu.mm-next {
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0); }

.mm-menu.mm-front.mm-right, .mm-menu.mm-next.mm-right {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0); }

.mm-menu.mm-top {
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0); }

.mm-menu.mm-bottom {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0); }

html.mm-opening .mm-menu.mm-front, html.mm-opening .mm-menu.mm-next {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.mm-menu.mm-top, .mm-menu.mm-bottom {
  height: 80%;
  min-height: 140px;
  max-height: 880px; }

/* Preload images */
body:after {
  content: url(../images/close.png) url(../images/loading.gif) url(../images/prev.png) url(../images/next.png);
  display: none; }

body.lb-disable-scrolling {
  overflow: hidden; }

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none; }

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal; }

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  border-radius: 3px; }

.lightbox a img {
  border: none; }

.lb-outerContainer {
  position: relative;
  background-color: white;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px; }

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-container {
  padding: 4px; }

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0; }

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../images/loading.gif) no-repeat; }

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10; }

.lb-container > .nav {
  left: 0; }

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); }

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block; }

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(../images/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  transition: opacity 0.6s; }

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(../images/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  transition: opacity 0.6s; }

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px; }

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-data {
  padding: 0 4px;
  color: #ccc; }

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em; }

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em; }

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999; }

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../images/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  transition: opacity 0.2s; }

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

/* Variables */
/* General styles */
body {
  min-width: 320px; }

ol, ul, li {
  list-style: none; }

img {
  max-width: 100%; }

#slick_slider {
  overflow: hidden;
  clear: both; }

.slick-next:before, .slick-prev:before {
  color: #000; }

/* Font styles */
h1, h2, h3, h4, h5, h6, p, a, li {
  font-family: 'Montserrat', sans-serif; }

h1 {
  font-size: 1.6em;
  color: #4e1965; }

h2 {
  color: #200a35;
  font-size: 1.3em; }

h3 {
  font-size: 1em;
  color: #4e1965; }

h4 {
  font-size: 1.2em;
  color: #4e1965; }

p, table {
  font-family: 'Open Sans', sans-serif;
  font-weight: 100;
  font-size: .85em;
  color: #4e1965; }

a {
  color: #4e1965; }

table {
  margin-bottom: 1em;
  width: 100%; }

td {
  padding: 5px; }

/*  Lightbox Image Path */
body:after {
  content: url(/assets/images/close.png) url(/assets/images/loading.gif) url(/assets/images/prev.png) url(/assets/images/next.png);
  display: none; }

.lb-nav a.lb-prev {
  background: url(/assets/images/prev.png) left 48% no-repeat; }

.lb-nav a.lb-next {
  background: url(/assets/images/next.png) right 48% no-repeat; }

.lb-data .lb-close {
  background: url(/assets/images/close.png) top right no-repeat; }

/* Map Scrolling */
.map .scrolloff {
  pointer-events: none; }

/* Button Styles */
.purple-btn {
  background-color: #4e1965;
  padding: 7px 12px;
  border-radius: 5px;
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-weight: 100;
  text-transform: uppercase;
  letter-spacing: 3px;
  transition: background .5s ease;
  font-size: .9em; }

.purple-btn:hover {
  background-color: #200a35;
  transition: background .5s ease;
  color: #fff; }

.generic {
  padding: 2em 1em; }

.f-dropdown {
  text-align: left;
  margin-top: 1em;
  outline: none;
  padding: .5em 1em 1.5em;
  background-color: #4e1965; }
  .f-dropdown li {
    width: 100%; }
    .f-dropdown li a {
      color: #fff !important;
      font-size: 0.85em !important;
      border-bottom: 1px solid #816997; }
  .f-dropdown li:hover {
    background-color: #816997 !important; }

/* Header */
header {
  padding: .5em 0; }
  header .main_nav ul {
    margin: 0; }
    header .main_nav ul li {
      display: inline-block;
      margin-right: .5em; }
      header .main_nav ul li a {
        color: #4e1965;
        font-size: .8em; }
    header .main_nav ul li.last {
      margin: 0; }
  header .nav {
    text-align: right; }
  header .enquire {
    padding: 3.5em 0 1em; }
  header .logo {
    max-width: 280px; }

header #my-menu {
  display: none; }

header .mobile_menu {
  position: absolute;
  right: 1em;
  top: 1em; }
  header .mobile_menu img {
    max-width: 35px;
    max-height: 35px; }

.masthead {
  padding: 2em 0; }
  .masthead h2 {
    font-size: 2.6em;
    color: #fff; }
  .masthead h1 {
    font-size: .9em;
    color: #fff;
    margin-top: -1em;
    font-family: 'Open Sans', sans-serif;
    font-weight: 100; }

.p-back {
  background-color: #200a35;
  padding: .5em;
  transition: 0.5s ease all; }
  .p-back h3, .p-back a {
    color: #fff;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 100;
    letter-spacing: 3px;
    font-size: 1em; }

.p-back:hover {
  background-color: #4e1965;
  transition: 0.5s ease all;
  cursor: pointer; }

section {
  padding: .5em 0; }

#container {
  background: url(/assets/images/swirls.png) no-repeat;
  padding: 1em 0 2em; }

.block-caption {
  background-color: rgba(78, 25, 101, 0.7);
  position: relative;
  margin-top: -3.5em;
  padding: 15px 0 15px 10px;
  transition: 0.5s ease all; }
  .block-caption h3 {
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    letter-spacing: 3px;
    font-size: 1.1em; }

.block-caption:hover {
  background-color: rgba(78, 25, 101, 0.99);
  transition: 0.5s ease all; }

.grid-item {
  width: 48%;
  margin: 1%; }

/*Inner pages*/
.mast-banner {
  padding: 2em 0;
  max-width: 1600px;
  margin: 0 auto; }
  .mast-banner h1 {
    color: #fff; }

.middle-image {
  margin-bottom: 1em; }

.review, .grey-r {
  padding: 1em;
  margin-bottom: 1em; }
  .review p, .grey-r p {
    margin-bottom: 0; }

.bottom-image {
  margin-top: 2em; }

.grey-r {
  background-color: rgba(226, 226, 226, 0.5); }

.gallery {
  margin-bottom: 2em; }

.menu-end {
  text-align: center; }
  .menu-end p {
    font-weight: 700; }

/*Contact*/
.map iframe {
  max-height: 150px; }

.info-block {
  background-color: #4e1965;
  padding: 1em;
  border-radius: 3px; }
  .info-block p {
    color: #fff;
    font-size: .8em; }
  .info-block h4, .info-block a {
    color: #fff; }
  .info-block a {
    text-decoration: underline; }

form {
  padding: 1em 0; }

.honey_container {
  display: none; }

form input[type=text] {
  height: 40px; }

form input[type=text], form textarea {
  border: none;
  font-size: .85em;
  padding-left: 10px;
  background-color: rgba(242, 242, 242, 0.7);
  margin-bottom: .5em; }

form textarea {
  max-height: 150px; }

form ::-webkit-input-placeholder {
  color: #4e1965; }

form ::-moz-placeholder {
  color: #4e1965; }

form :-ms-input-placeholder {
  color: #4e1965; }

form ::placeholder {
  color: #4e1965; }

form input[type=submit] {
  background: #4e1965;
  border: none;
  color: #fff;
  padding: .5em 1em;
  transition: background .5s ease;
  text-transform: uppercase;
  width: 100%; }

form input[type=submit]:hover {
  background: #200a35;
  color: #fff;
  transition: background .5s ease; }

/* Footer */
footer {
  background: #200a35;
  padding: 2em 0;
  color: #fff;
  font-family: 'Open Sans', sans-serif;
  font-weight: 100;
  text-align: center;
  margin-top: 1em; }
  footer .twist {
    max-width: 130px;
    max-height: 23px; }
  footer li, footer a, footer h6, footer p {
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-weight: 100; }
  footer li {
    text-align: left; }
  footer .c-details {
    text-align: center;
    padding-bottom: 1em; }
    footer .c-details a:hover {
      color: #816997; }
  footer .social_media {
    padding: 1em 0; }
    footer .social_media img {
      max-width: 40px;
      max-height: 40px;
      margin: 0 .5em; }
  footer a img:hover {
    opacity: .8; }
  footer [class*="block-grid-"] a {
    color: #C3B7CE;
    font-size: .83em; }
  footer [class*="block-grid-"] a:hover {
    color: #fff; }
  footer .bottom-bar {
    background-color: #19072a;
    margin-top: 1em;
    padding: 1em 0; }
    footer .bottom-bar p {
      margin-bottom: 0;
      font-size: .8em;
      color: #C3B7CE; }
    footer .bottom-bar a {
      color: #C3B7CE; }
    footer .bottom-bar a:hover {
      color: #fff; }
  footer .purple {
    color: #816997; }
  footer .ta {
    margin-top: 10px; }

@media only screen and (max-width: 40em) {
  .booking {
    padding: 1em 0; }
  .td {
    font-size: 0.8em; }
  .twitter-feed {
    margin-top: 2em; } }

@media only screen and (min-width: 40.0625em) {
  h1 {
    font-size: 2em; }
  h2 {
    font-size: 1.6em; }
  h4 {
    font-size: 1.4em; }
  .p-back {
    margin-bottom: 1em; }
    .p-back h3, .p-back a {
      letter-spacing: 8px;
      font-size: 1.1em; }
  #container {
    padding: 1em 0.5em 2em; }
  .masthead {
    padding: 5em 0; }
    .masthead h2 {
      font-size: 4.2em; }
    .masthead h1 {
      font-size: 1.4em;
      margin-top: -1em;
      color: #fff; }
  .logo {
    max-width: 250px; }
  header .main_nav ul li {
    display: inline-block;
    margin-right: .45em; }
    header .main_nav ul li a {
      color: #4e1965;
      font-size: .85em; }
    header .main_nav ul li a:hover {
      color: #816997; }
  .grid-item {
    width: 32%;
    margin: .5%; }
  .intro {
    padding-right: 19px; }
  section {
    padding: 1em 0; }
  /*Inner*/
  .mast-banner {
    padding: 3em 0; }
  .review, .grey-r {
    padding: 1.5em; }
  /*Contact*/
  .map iframe {
    min-height: 260px; }
  .info-block {
    padding: 1.5em 2em;
    margin: 2em 0; }
    .info-block p {
      margin-bottom: 0; }
  footer {
    text-align: left; } }

@media only screen and (min-width: 64.0625em) {
  h1 {
    font-size: 2.4em; }
  .masthead {
    padding: 5em 0 6em; }
    .masthead h2 {
      font-size: 6em; }
    .masthead h1 {
      font-size: 2em; }
  header {
    padding: .5em 0; }
    header .main_nav ul {
      margin: 0; }
      header .main_nav ul li {
        display: inline-block;
        margin-right: 1em; }
        header .main_nav ul li a {
          color: #4e1965;
          font-size: 1em; }
    header .nav {
      text-align: right; }
    header .enquire {
      padding: 2em 0em; }
  /*Contact*/
  .map iframe {
    min-height: 350px; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFsbC5jc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL25vcm1hbGl6ZS5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2dsb2JhbC5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9fZnVuY3Rpb25zLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYWxlcnQtYm94ZXMuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19ibG9jay1ncmlkLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190eXBlLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vdmVuZG9yL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCIuLi92ZW5kb3Ivc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2NzcyIsIi4uL3ZlbmRvci9qUXVlcnkubW1lbnUvZGlzdC9jb3JlL2Nzcy9qcXVlcnkubW1lbnUuY3NzIiwiLi4vdmVuZG9yL2pRdWVyeS5tbWVudS9kaXN0L2V4dGVuc2lvbnMvY3NzL2pxdWVyeS5tbWVudS5wb3NpdGlvbmluZy5jc3MiLCIuLi92ZW5kb3IvbGlnaHRib3gyL2Rpc3QvY3NzL2xpZ2h0Ym94LmNzcyIsIl9jdXN0b20uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakIsNEVBQTRFO0FBRTVFOzs7O0dBSUc7QUFFSDtFQUNFLHdCQUF3QjtFQUFFLE9BQU87RUFDakMsMkJBQTJCO0VBQUUsT0FBTztFQUNwQywrQkFBK0I7RUFBRSxPQUFPLEVBQ3pDOztBQUVEOztHQUVHO0FBRUg7RUFDRSxVQUFVLEVBQ1g7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7OztHQUtHO0FBRUg7Ozs7Ozs7Ozs7Ozs7RUFhRSxlQUFlLEVBQ2hCOztBQUVEOzs7R0FHRztBQUVIOzs7O0VBSUUsc0JBQXNCO0VBQUUsT0FBTztFQUMvQix5QkFBeUI7RUFBRSxPQUFPLEVBQ25DOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsY0FBYztFQUNkLFVBQVUsRUFDWDs7QUFFRDs7O0dBR0c7QURMSDs7RUNTRSxjQUFjLEVBQ2Y7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSw4QkFBOEIsRUFDL0I7O0FBRUQ7OztHQUdHO0FBRUg7O0VBRUUsV0FBVyxFQUNaOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsMEJBQTBCLEVBQzNCOztBQUVEOztHQUVHO0FBRUg7O0VBRUUsa0JBQWtCLEVBQ25COztBQUVEOztHQUVHO0FBRUg7RUFDRSxtQkFBbUIsRUFDcEI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCLEVBQ2xCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxpQkFBaUI7RUFDakIsWUFBWSxFQUNiOztBQUVEOztHQUVHO0FBRUg7RUFDRSxlQUFlLEVBQ2hCOztBQUVEOztHQUVHO0FBRUg7O0VBRUUsZUFBZTtFQUNmLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIseUJBQXlCLEVBQzFCOztBQUVEO0VBQ0UsWUFBWSxFQUNiOztBQUVEO0VB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OFwiO1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbm1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiLzUuNS4zL1wiOyB9XG5cbm1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbCB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbi9cIjtcbiAgd2lkdGg6IDA7IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pL1wiO1xuICB3aWR0aDogMDsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwLjA2MjVlbSkvXCI7XG4gIHdpZHRoOiA0MC4wNjI1ZW07IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bS1vbmx5IHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwLjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6NjRlbSkvXCI7XG4gIHdpZHRoOiA0MC4wNjI1ZW07IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0LjA2MjVlbSkvXCI7XG4gIHdpZHRoOiA2NC4wNjI1ZW07IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDo5MGVtKS9cIjtcbiAgd2lkdGg6IDY0LjA2MjVlbTsgfVxuXG5tZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjkwLjA2MjVlbSkvXCI7XG4gIHdpZHRoOiA5MC4wNjI1ZW07IH1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZS1vbmx5IHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjkwLjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6MTIwZW0pL1wiO1xuICB3aWR0aDogOTAuMDYyNWVtOyB9XG5cbm1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMC4wNjI1ZW0pL1wiO1xuICB3aWR0aDogMTIwLjA2MjVlbTsgfVxuXG5tZXRhLmZvdW5kYXRpb24tZGF0YS1hdHRyaWJ1dGUtbmFtZXNwYWNlIHtcbiAgZm9udC1mYW1pbHk6IGZhbHNlOyB9XG5cbmh0bWwsIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzIyMjtcbiAgY3Vyc29yOiBhdXRvO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuYTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5pbWcge1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4ucmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uY2xlYXJmaXg6YmVmb3JlLCAuY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmFudGlhbGlhc2VkIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4OyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5yb3cge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICAucm93OmJlZm9yZSwgLnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnJvdzphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW46IDAgLTAuOTM3NXJlbTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAucm93IC5yb3c6YmVmb3JlLCAucm93IC5yb3c6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5yb3cgLnJvdzphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLnJvdyAucm93LmNvbGxhcHNlOmJlZm9yZSwgLnJvdyAucm93LmNvbGxhcHNlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAucm93IC5yb3cuY29sbGFwc2U6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuXG4uY29sdW1uLFxuLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbiArIC5jb2x1bW46bGFzdC1jaGlsZCxcbi5jb2x1bW5zICsgLmNvbHVtbjpsYXN0LWNoaWxkLCAuY29sdW1uICtcbi5jb2x1bW5zOmxhc3QtY2hpbGQsXG4uY29sdW1ucyArXG4uY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jb2x1bW4gKyAuY29sdW1uLmVuZCxcbi5jb2x1bW5zICsgLmNvbHVtbi5lbmQsIC5jb2x1bW4gK1xuLmNvbHVtbnMuZW5kLFxuLmNvbHVtbnMgK1xuLmNvbHVtbnMuZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNtYWxsLXB1c2gtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuc21hbGwtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc21hbGwtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbWFsbC1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclICFpbXBvcnRhbnQ7IH1cbiAgLnNtYWxsLXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuY29sdW1uLnNtYWxsLWNlbnRlcmVkLFxuICAuY29sdW1ucy5zbWFsbC1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4uc21hbGwtdW5jZW50ZXJlZCxcbiAgLmNvbHVtbnMuc21hbGwtdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb2x1bW4uc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy5zbWFsbC11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJvdy5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdy5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5tZWRpdW0tcHVzaC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4LjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogODMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcmVzZXQtb3JkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5jb2x1bW4ubWVkaXVtLWNlbnRlcmVkLFxuICAuY29sdW1ucy5tZWRpdW0tY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuY29sdW1uLm1lZGl1bS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy5tZWRpdW0tdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb2x1bW4ubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuY29sdW1uLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2x1bW4ubWVkaXVtLXVuY2VudGVyZWQub3Bwb3NpdGUsXG4gIC5jb2x1bW5zLm1lZGl1bS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJvdy5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93Lm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAucm93Lm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnJvdy5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMzMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMzMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbHVtbi5sYXJnZS1jZW50ZXJlZCxcbiAgLmNvbHVtbnMubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuY29sdW1uLmxhcmdlLXVuY2VudGVyZWQsXG4gIC5jb2x1bW5zLmxhcmdlLXVuY2VudGVyZWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY29sdW1uLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb2x1bW4ubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb2x1bW4ubGFyZ2UtdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMubGFyZ2UtdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5yb3cubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93LmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5yb3cubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5yb3cubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnB1c2gtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMTYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjclO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9IH1cblxuLmFsZXJ0LWJveCB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHBhZGRpbmc6IDAuODc1cmVtIDEuNXJlbSAwLjg3NXJlbSAwLjg3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2Utb3V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Q0JBO1xuICBib3JkZXItY29sb3I6ICMwMDc4YTA7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5hbGVydC1ib3ggLmNsb3NlIHtcbiAgICByaWdodDogMC4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IC45O1xuICAgIG1hcmdpbi10b3A6IC0wLjY4NzVyZW07XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBhZGRpbmc6IDAgNnB4IDRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7IH1cbiAgICAuYWxlcnQtYm94IC5jbG9zZTpob3ZlciwgLmFsZXJ0LWJveCAuY2xvc2U6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gIC5hbGVydC1ib3gucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLmFsZXJ0LWJveC5yb3VuZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4OyB9XG4gIC5hbGVydC1ib3guc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQzQUM2QTtcbiAgICBib3JkZXItY29sb3I6ICMzYTk0NWI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmFsZXJ0LWJveC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwNDEyNDtcbiAgICBib3JkZXItY29sb3I6ICNkZTJkMGY7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmFsZXJ0LWJveC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzdjN2M3O1xuICAgIGNvbG9yOiAjNGY0ZjRmOyB9XG4gIC5hbGVydC1ib3gud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbiAgICBib3JkZXItY29sb3I6ICNkZTc3MGY7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmFsZXJ0LWJveC5pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkM2U4O1xuICAgIGJvcmRlci1jb2xvcjogIzc0YmZkZDtcbiAgICBjb2xvcjogIzRmNGY0ZjsgfVxuICAuYWxlcnQtYm94LmFsZXJ0LWNsb3NlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbltjbGFzcyo9XCJibG9jay1ncmlkLVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgLTAuNjI1cmVtOyB9XG4gIFtjbGFzcyo9XCJibG9jay1ncmlkLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCJibG9jay1ncmlkLVwiXTphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMS4yNXJlbTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4ge1xuICAuc21hbGwtYmxvY2stZ3JpZC0xID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0xID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0zID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTMgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtNCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC00ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTUgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC02ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLWJsb2NrLWdyaWQtNyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC03ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTggPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC04ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTkgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTEuMTExMTElOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtOSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSg5bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0xMCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMCU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMTBuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC1ibG9jay1ncmlkLTExID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDkuMDkwOTElOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc21hbGwtYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDExbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtYmxvY2stZ3JpZC0xMiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtYWxsLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAubWVkaXVtLWJsb2NrLWdyaWQtMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0yID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0yID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMyA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTQgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTQgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC01ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC01ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtNiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS1ibG9jay1ncmlkLTcgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTcgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC04ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTggPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC05ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDExLjExMTExJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC05ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSg5bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMTAgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTAlOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMTBuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tYmxvY2stZ3JpZC0xMSA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA5LjA5MDkxJTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDExbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLWJsb2NrLWdyaWQtMTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtYmxvY2stZ3JpZC0xID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMSA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTIgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTIgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0zID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTMgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0zID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC00ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNCA+IGxpOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTUgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTUgPiBsaTpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC02ID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTYgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC02ID4gbGk6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLWJsb2NrLWdyaWQtNyA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC03ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtNyA+IGxpOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTggPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC04ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtOCA+IGxpOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTkgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogMTEuMTExMTElOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtOSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTkgPiBsaTpudGgtb2YtdHlwZSg5bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0xMCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxMCU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTEwID4gbGk6bnRoLW9mLXR5cGUoMTBuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS1ibG9jay1ncmlkLTExID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDkuMDkwOTElOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMTEgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtYmxvY2stZ3JpZC0xMSA+IGxpOm50aC1vZi10eXBlKDExbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtYmxvY2stZ3JpZC0xMiA+IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5sYXJnZS1ibG9jay1ncmlkLTEyID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLWJsb2NrLWdyaWQtMTIgPiBsaTpudGgtb2YtdHlwZSgxMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG4vKiBGb3VuZGF0aW9uIERyb3Bkb3ducyAqL1xuLmYtZHJvcGRvd24ge1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAtOTk5OXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA4OTtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gIC5mLWRyb3Bkb3duLm9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mLWRyb3Bkb3duID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZi1kcm9wZG93biA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZi1kcm9wZG93bjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0ZGRkZGRiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTJweDtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHotaW5kZXg6IDg5OyB9XG4gIC5mLWRyb3Bkb3duOmFmdGVyIHtcbiAgICBib3JkZXI6IGluc2V0IDdweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNjY2NjY2MgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE0cHg7XG4gICAgbGVmdDogOXB4O1xuICAgIHotaW5kZXg6IDg4OyB9XG4gIC5mLWRyb3Bkb3duLnJpZ2h0OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTBweDsgfVxuICAuZi1kcm9wZG93bi5yaWdodDphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogOXB4OyB9XG4gIC5mLWRyb3Bkb3duLmRyb3AtcmlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtcmlnaHQub3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtcmlnaHQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXJpZ2h0ID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXJpZ2h0OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IC0xMnB4O1xuICAgICAgei1pbmRleDogODk7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXJpZ2h0OmFmdGVyIHtcbiAgICAgIGJvcmRlcjogaW5zZXQgN3B4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNjY2NjY2MgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA5cHg7XG4gICAgICBsZWZ0OiAtMTRweDtcbiAgICAgIHotaW5kZXg6IDg4OyB9XG4gIC5mLWRyb3Bkb3duLmRyb3AtbGVmdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgbWF4LXdpZHRoOiAyMDBweDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtbGVmdC5vcGVuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1sZWZ0ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC1sZWZ0ID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLWxlZnQ6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNGRkZGRkY7XG4gICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICByaWdodDogLTEycHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgei1pbmRleDogODk7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLWxlZnQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiBpbnNldCA3cHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2NjY2NjYztcbiAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOXB4O1xuICAgICAgcmlnaHQ6IC0xNHB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4OyB9XG4gIC5mLWRyb3Bkb3duLmRyb3AtdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogODk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC10b3Aub3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtdG9wID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmYtZHJvcGRvd24uZHJvcC10b3AgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mLWRyb3Bkb3duLmRyb3AtdG9wOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICBib3R0b206IC0xMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogMTBweDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgei1pbmRleDogODk7IH1cbiAgICAuZi1kcm9wZG93bi5kcm9wLXRvcDphZnRlciB7XG4gICAgICBib3JkZXI6IGluc2V0IDdweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICBib3R0b206IC0xNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogOXB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiA4ODsgfVxuICAuZi1kcm9wZG93biBsaSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5mLWRyb3Bkb3duIGxpOmhvdmVyLCAuZi1kcm9wZG93biBsaTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRUVFRUVFOyB9XG4gICAgLmYtZHJvcGRvd24gbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gIC5mLWRyb3Bkb3duLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAuZi1kcm9wZG93bi5jb250ZW50Lm9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZi1kcm9wZG93bi5jb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmYtZHJvcGRvd24uY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mLWRyb3Bkb3duLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5mLWRyb3Bkb3duLnRpbnkge1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgLmYtZHJvcGRvd24uc21hbGwge1xuICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgLmYtZHJvcGRvd24ubWVkaXVtIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gIC5mLWRyb3Bkb3duLmxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gIC5mLWRyb3Bkb3duLm1lZ2Ege1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAuZi1kcm9wZG93bi5tZWdhLm9wZW4ge1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiwgLmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW0gMnJlbSAxLjA2MjVyZW0gMnJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Q0JBO1xuICBib3JkZXItY29sb3I6ICMwMDcwOTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zIGVhc2Utb3V0OyB9XG4gIGJ1dHRvbjpob3ZlciwgYnV0dG9uOmZvY3VzLCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MDk1OyB9XG4gIGJ1dHRvbjpob3ZlciwgYnV0dG9uOmZvY3VzLCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBidXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNztcbiAgICBib3JkZXItY29sb3I6ICNiOWI5Yjk7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICBidXR0b24uc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YjliOTsgfVxuICAgIGJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICBidXR0b24uc3VjY2VzcywgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNBQzZBO1xuICAgIGJvcmRlci1jb2xvcjogIzM2OGE1NTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIGJ1dHRvbi5zdWNjZXNzOmhvdmVyLCBidXR0b24uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM2OGE1NTsgfVxuICAgIGJ1dHRvbi5zdWNjZXNzOmhvdmVyLCBidXR0b24uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA0MTI0O1xuICAgIGJvcmRlci1jb2xvcjogI2NmMmEwZTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIGJ1dHRvbi5hbGVydDpob3ZlciwgYnV0dG9uLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZjJhMGU7IH1cbiAgICBidXR0b24uYWxlcnQ6aG92ZXIsIGJ1dHRvbi5hbGVydDpmb2N1cywgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBidXR0b24ud2FybmluZywgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA4YTI0O1xuICAgIGJvcmRlci1jb2xvcjogI2NmNmUwZTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIGJ1dHRvbi53YXJuaW5nOmhvdmVyLCBidXR0b24ud2FybmluZzpmb2N1cywgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NmNmUwZTsgfVxuICAgIGJ1dHRvbi53YXJuaW5nOmhvdmVyLCBidXR0b24ud2FybmluZzpmb2N1cywgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgYnV0dG9uLmluZm8sIC5idXR0b24uaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgICBib3JkZXItY29sb3I6ICM2MWI2ZDk7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICBidXR0b24uaW5mbzpob3ZlciwgYnV0dG9uLmluZm86Zm9jdXMsIC5idXR0b24uaW5mbzpob3ZlciwgLmJ1dHRvbi5pbmZvOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MWI2ZDk7IH1cbiAgICBidXR0b24uaW5mbzpob3ZlciwgYnV0dG9uLmluZm86Zm9jdXMsIC5idXR0b24uaW5mbzpob3ZlciwgLmJ1dHRvbi5pbmZvOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGJ1dHRvbi5sYXJnZSwgLmJ1dHRvbi5sYXJnZSB7XG4gICAgcGFkZGluZzogMS4xMjVyZW0gMi4yNXJlbSAxLjE4NzVyZW0gMi4yNXJlbTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgYnV0dG9uLnNtYWxsLCAuYnV0dG9uLnNtYWxsIHtcbiAgICBwYWRkaW5nOiAwLjg3NXJlbSAxLjc1cmVtIDAuOTM3NXJlbSAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIGJ1dHRvbi50aW55LCAuYnV0dG9uLnRpbnkge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW0gMC42ODc1cmVtIDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgYnV0dG9uLmV4cGFuZCwgLmJ1dHRvbi5leHBhbmQge1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbSAxLjA2MjVyZW0gMnJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMDYyNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBidXR0b24ubGVmdC1hbGlnbiwgLmJ1dHRvbi5sZWZ0LWFsaWduIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtaW5kZW50OiAwLjc1cmVtOyB9XG4gIGJ1dHRvbi5yaWdodC1hbGlnbiwgLmJ1dHRvbi5yaWdodC1hbGlnbiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTsgfVxuICBidXR0b24ucmFkaXVzLCAuYnV0dG9uLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIGJ1dHRvbi5yb3VuZCwgLmJ1dHRvbi5yb3VuZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4OyB9XG4gIGJ1dHRvbi5kaXNhYmxlZCwgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDhDQkE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA3MDk1O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzA5NTsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDhDQkE7IH1cbiAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjliOWI5O1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliOWI5OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNzsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNBQzZBO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzY4YTU1O1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNjhhNTU7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzQUM2QTsgfVxuICAgIGJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwNDEyNDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NmMmEwZTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZjJhMGU7IH1cbiAgICAgIGJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDQxMjQ7IH1cbiAgICBidXR0b24uZGlzYWJsZWQud2FybmluZywgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NmNmUwZTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2Y2ZTBlOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7IH1cbiAgICBidXR0b24uZGlzYWJsZWQuaW5mbywgYnV0dG9uW2Rpc2FibGVkXS5pbmZvLCAuYnV0dG9uLmRpc2FibGVkLmluZm8sIC5idXR0b25bZGlzYWJsZWRdLmluZm8ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgICAgIGJvcmRlci1jb2xvcjogIzYxYjZkOTtcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgICAgYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjFiNmQ5OyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICBidXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMGQzZTg7IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLyogU3RhbmRhcmQgRm9ybXMgKi9cbmZvcm0ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cbi8qIFVzaW5nIGZvcm1zIHdpdGhpbiByb3dzLCB3ZSBuZWVkIHRvIHNldCBzb21lIGRlZmF1bHRzICovXG5mb3JtIC5yb3cgLnJvdyB7XG4gIG1hcmdpbjogMCAtMC41cmVtOyB9XG4gIGZvcm0gLnJvdyAucm93IC5jb2x1bW4sXG4gIGZvcm0gLnJvdyAucm93IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTsgfVxuICBmb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgZm9ybSAucm93IC5yb3cuY29sbGFwc2UgLmNvbHVtbixcbiAgICBmb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgZm9ybSAucm93IC5yb3cuY29sbGFwc2UgaW5wdXQge1xuICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbmZvcm0gLnJvdyBpbnB1dC5jb2x1bW4sXG5mb3JtIC5yb3cgaW5wdXQuY29sdW1ucyxcbmZvcm0gLnJvdyB0ZXh0YXJlYS5jb2x1bW4sXG5mb3JtIC5yb3cgdGV4dGFyZWEuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG5cbi8qIExhYmVsIFN0eWxlcyAqL1xubGFiZWwge1xuICBjb2xvcjogIzRkNGQ0ZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgLyogU3R5bGVzIGZvciByZXF1aXJlZCBpbnB1dHMgKi8gfVxuICBsYWJlbC5yaWdodCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBsYWJlbC5pbmxpbmUge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuICBsYWJlbCBzbWFsbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgY29sb3I6ICM2NzY3Njc7IH1cblxuLyogQXR0YWNoIGVsZW1lbnRzIHRvIHRoZSBiZWdpbm5pbmcgb3IgZW5kIG9mIGFuIGlucHV0ICovXG4ucHJlZml4LFxuLnBvc3RmaXgge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGhlaWdodDogMi4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMi4zMTI1cmVtO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7IH1cblxuLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cbi5wb3N0Zml4LmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHJlZml4LmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHJlZml4LmJ1dHRvbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4OyB9XG5cbi5wb3N0Zml4LmJ1dHRvbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuXG4ucHJlZml4LmJ1dHRvbi5yb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7IH1cblxuLnBvc3RmaXguYnV0dG9uLnJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7IH1cblxuLyogU2VwYXJhdGUgcHJlZml4IGFuZCBwb3N0Zml4IHN0eWxlcyB3aGVuIG9uIHNwYW4gb3IgbGFiZWwgc28gYnV0dG9ucyBrZWVwIHRoZWlyIG93biAqL1xuc3Bhbi5wcmVmaXgsIGxhYmVsLnByZWZpeCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYzsgfVxuXG5zcGFuLnBvc3RmaXgsIGxhYmVsLnBvc3RmaXgge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYzsgfVxuXG4vKiBXZSB1c2UgdGhpcyB0byBnZXQgYmFzaWMgc3R5bGluZyBvbiBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyAqL1xuaW5wdXQ6bm90KFt0eXBlXSksIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidGltZVwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSwgaW5wdXRbdHlwZT1cImNvbG9yXCJdLCB0ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBoZWlnaHQ6IDIuMzEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgLW1zLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7IH1cbiAgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cywgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgICBib3JkZXItY29sb3I6ICM5OTk5OTk7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICBpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInRleHRcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImRhdGVcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwibW9udGhcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiZW1haWxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJudW1iZXJcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ0ZWxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwidXJsXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiY29sb3JcIl06ZGlzYWJsZWQsIHRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBpbnB1dDpub3QoW3R5cGVdKVtkaXNhYmxlZF0sIGlucHV0Om5vdChbdHlwZV0pW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0Om5vdChbdHlwZV0pLCBpbnB1dFt0eXBlPVwidGV4dFwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJ0ZXh0XCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJkYXRlXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCBpbnB1dFt0eXBlPVwibW9udGhcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwibW9udGhcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cIm1vbnRoXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJ3ZWVrXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInRlbFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidGltZVwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInVybFwiXVtyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiY29sb3JcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwiY29sb3JcIl1bcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLCB0ZXh0YXJlYVtkaXNhYmxlZF0sIHRleHRhcmVhW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIHRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBpbnB1dDpub3QoW3R5cGVdKS5yYWRpdXMsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cImRhdGVcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwibW9udGhcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwid2Vla1wiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInRlbFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJ0aW1lXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInVybFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJjb2xvclwiXS5yYWRpdXMsIHRleHRhcmVhLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHRleHRhcmVhLFxuZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSBzZWxlY3QsXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG5cbmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2UgLnByZWZpeCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHNlbGVjdCxcbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7IH1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgLnBvc3RmaXgge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2UgdGV4dGFyZWEsXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2Ugc2VsZWN0LFxuZm9ybSAucm93IC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4OyB9XG5cbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSAucHJlZml4IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDsgfVxuXG5mb3JtIC5yb3cgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIGlucHV0LFxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2Ugc2VsZWN0LFxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSBidXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4OyB9XG5cbmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2UgLnBvc3RmaXgge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDsgfVxuXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLyogUmVzcGVjdCBlbmZvcmNlZCBhbW91bnQgb2Ygcm93cyBmb3IgdGV4dGFyZWEgKi9cbnRleHRhcmVhW3Jvd3NdIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIE5vdCBhbGxvdyByZXNpemUgb3V0IG9mIHBhcmVudCAqL1xudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NjY2NjY7IH1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE4LSAqL1xuICBjb2xvcjogIzY2NjY2NjsgfVxuXG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogIzY2NjY2NjsgfVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NjY2NjY7IH1cblxuLyogQWRkIGhlaWdodCB2YWx1ZSBmb3Igc2VsZWN0IGVsZW1lbnRzIHRvIG1hdGNoIHRleHQgaW5wdXQgaGVpZ2h0ICovXG5zZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jK1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDIuMzEyNXJlbTsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0LnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBib3JkZXItY29sb3I6ICM5OTk5OTk7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLyogQWRqdXN0IG1hcmdpbiBmb3IgZm9ybSBlbGVtZW50cyBiZWxvdyAqL1xuaW5wdXRbdHlwZT1cImZpbGVcIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5zZWxlY3Qge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyogTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGggKi9cbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogSFRNTDUgTnVtYmVyIHNwaW5uZXJzIHNldHRpbmdzICovXG4vKiBXZSBhZGQgYmFzaWMgZmllbGRzZXQgc3R5bGluZyAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREREREO1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgZmllbGRzZXQgbGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuLyogRXJyb3IgSGFuZGxpbmcgKi9cbltkYXRhLWFiaWRlXSAuZXJyb3Igc21hbGwuZXJyb3IsIFtkYXRhLWFiaWRlXSAuZXJyb3Igc3Bhbi5lcnJvciwgW2RhdGEtYWJpZGVdIHNwYW4uZXJyb3IsIFtkYXRhLWFiaWRlXSBzbWFsbC5lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC41NjI1cmVtIDAuNTYyNXJlbTtcbiAgYmFja2dyb3VuZDogI2YwNDEyNDtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuW2RhdGEtYWJpZGVdIHNwYW4uZXJyb3IsIFtkYXRhLWFiaWRlXSBzbWFsbC5lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuc3Bhbi5lcnJvciwgc21hbGwuZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNTYyNXJlbSAwLjU2MjVyZW07XG4gIGJhY2tncm91bmQ6ICNmMDQxMjQ7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5lcnJvciBpbnB1dCxcbi5lcnJvciB0ZXh0YXJlYSxcbi5lcnJvciBzZWxlY3Qge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5lcnJvciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uZXJyb3IgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uZXJyb3IgbGFiZWwsXG4uZXJyb3IgbGFiZWwuZXJyb3Ige1xuICBjb2xvcjogI2YwNDEyNDsgfVxuXG4uZXJyb3Igc21hbGwuZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNTYyNXJlbSAwLjU2MjVyZW07XG4gIGJhY2tncm91bmQ6ICNmMDQxMjQ7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5lcnJvciA+IGxhYmVsID4gc21hbGwge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2NzY3Njc7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC1zaXplOiA2MCU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uZXJyb3Igc3Bhbi5lcnJvci1tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuaW5wdXQuZXJyb3IsXG50ZXh0YXJlYS5lcnJvcixcbnNlbGVjdC5lcnJvciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxubGFiZWwuZXJyb3Ige1xuICBjb2xvcjogI2YwNDEyNDsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAuc21hbGwtb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb25seS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuc21hbGwtb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiB7XG4gIC5zbWFsbC10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAuc21hbGwtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAuc21hbGwtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5zbWFsbC10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW9ubHktdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW9ubHktdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA5MGVtKSB7XG4gIC5sYXJnZS1vbmx5LXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW9ubHktdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1vbmx5LXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiAxMjBlbSkge1xuICAueGxhcmdlLW9ubHktdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnhsYXJnZS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnhsYXJnZS1vbmx5LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAueGxhcmdlLW9ubHktdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNjI0OTk5OS45Mzc1ZW0pIHtcbiAgLnh4bGFyZ2Utb25seS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAueHhsYXJnZS1vbmx5LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnh4bGFyZ2Utb25seS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnh4bGFyZ2Utb25seS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfSB9XG5cbi8qIFR5cG9ncmFwaHkgcmVzZXRzICovXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIERlZmF1bHQgTGluayBTdHlsZXMgKi9cbmEge1xuICBjb2xvcjogIzAwOENCQTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwNzhhMDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbi8qIERlZmF1bHQgcGFyYWdyYXBoIHN0eWxlcyAqL1xucCB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgcC5sZWFkIHtcbiAgICBmb250LXNpemU6IDEuMjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICBwIGFzaWRlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogMS4zNTsgfVxuXG4vKiBEZWZhdWx0IGhlYWRlciBzdHlsZXMgKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBjb2xvcjogIzIyMjIyMjtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCBoMiBzbWFsbCwgaDMgc21hbGwsIGg0IHNtYWxsLCBoNSBzbWFsbCwgaDYgc21hbGwge1xuICAgIGNvbG9yOiAjNmY2ZjZmO1xuICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS42ODc1cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5zdWJoZWFkZXIge1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzZmNmY2ZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaHIge1xuICBib3JkZXI6IHNvbGlkICNEREREREQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgY2xlYXI6IGJvdGg7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIDAgMS4xODc1cmVtOyB9XG5cbi8qIEhlbHBmdWwgVHlwb2dyYXBoeSBEZWZhdWx0cyAqL1xuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA2MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBib3JkZXItY29sb3I6ICNkZmRmZGY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IH1cblxuLyogTGlzdHMgKi9cbnVsLFxub2wsXG5kbCB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4xcmVtOyB9XG5cbi8qIFVub3JkZXJlZCBMaXN0cyAqL1xudWwgbGkgdWwsXG51bCBsaSBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbnVsLnNxdWFyZSBsaSB1bCwgdWwuY2lyY2xlIGxpIHVsLCB1bC5kaXNjIGxpIHVsIHtcbiAgbGlzdC1zdHlsZTogaW5oZXJpdDsgfVxuXG51bC5zcXVhcmUge1xuICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcbiAgbWFyZ2luLWxlZnQ6IDEuMXJlbTsgfVxuXG51bC5jaXJjbGUge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbiAgbWFyZ2luLWxlZnQ6IDEuMXJlbTsgfVxuXG51bC5kaXNjIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBtYXJnaW4tbGVmdDogMS4xcmVtOyB9XG5cbi8qIE9yZGVyZWQgTGlzdHMgKi9cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuNHJlbTsgfVxuICBvbCBsaSB1bCxcbiAgb2wgbGkgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm5vLWJ1bGxldCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm5vLWJ1bGxldCBsaSB1bCxcbiAgLm5vLWJ1bGxldCBsaSBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qIERlZmluaXRpb24gTGlzdHMgKi9cbmRsIGR0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5kbCBkZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cblxuLyogQWJicmV2aWF0aW9ucyAqL1xuYWJicixcbmFjcm9ueW0ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICMyMjI7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5hYmJyIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI0RERERERDsgfVxuXG4vKiBCbG9ja3F1b3RlcyAqL1xuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNEREREREQ7IH1cbiAgYmxvY2txdW90ZSBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzU1NTU1NTsgfVxuICAgIGJsb2NrcXVvdGUgY2l0ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7IH1cbiAgICBibG9ja3F1b3RlIGNpdGUgYSxcbiAgICBibG9ja3F1b3RlIGNpdGUgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjNTU1NTU1OyB9XG5cbmJsb2NrcXVvdGUsXG5ibG9ja3F1b3RlIHAge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzZmNmY2ZjsgfVxuXG4vKiBNaWNyb2Zvcm1hdHMgKi9cbi52Y2FyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbSAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREREREO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtOyB9XG4gIC52Y2FyZCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC52Y2FyZCAuZm4ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi52ZXZlbnQgLnN1bW1hcnkge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udmV2ZW50IGFiYnIge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMCAwLjA2MjVyZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyLjc1cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuMzEyNXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjY4NzVyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4vKlxuICAgICAgICogUHJpbnQgc3R5bGVzLlxuICAgICAgICpcbiAgICAgICAqIElubGluZWQgdG8gYXZvaWQgcmVxdWlyZWQgSFRUUCBjb25uZWN0aW9uOiB3d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgICAgICogQ3JlZGl0IHRvIFBhdWwgSXJpc2ggYW5kIEhUTUw1IEJvaWxlcnBsYXRlIChodG1sNWJvaWxlcnBsYXRlLmNvbSlcbiAgICAgICovXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vcyAqL1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgLyogaDVicC5jb20vdCAqLyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuMzRpbjsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4vKiBzbWFsbCBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLnNob3ctZm9yLXNtYWxsLCAuc2hvdy1mb3Itc21hbGwtZG93biwgLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZS1mb3ItbWVkaXVtLXVwLCAuaGlkZS1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5oaWRlLWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5oaWRlLWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuaGlkZS1mb3Itc21hbGwsIC5oaWRlLWZvci1zbWFsbC1kb3duLCAuc2hvdy1mb3ItbWVkaXVtLW9ubHksIC5zaG93LWZvci1tZWRpdW0tdXAsIC5zaG93LWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC5oaWRkZW4tZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAudmlzaWJsZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87IH1cbiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLmhpZGRlbi1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAudmlzaWJsZS1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC5oaWRkZW4tZm9yLW1lZGl1bS1kb3duLCAudmlzaWJsZS1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4OyB9XG4gIHRhYmxlLnNob3ctZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5zaG93LWZvci1zbWFsbCwgdGFibGUuc2hvdy1mb3Itc21hbGwtZG93biwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS11cCwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLCB0YWJsZS5zaG93LWZvci1tZWRpdW0tZG93biwgdGFibGUuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLCB0YWJsZS5zaG93LWZvci1sYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1zbWFsbC1vbmx5LCB0aGVhZC5zaG93LWZvci1zbWFsbC11cCwgdGhlYWQuc2hvdy1mb3Itc21hbGwsIHRoZWFkLnNob3ctZm9yLXNtYWxsLWRvd24sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tdXAsIHRoZWFkLmhpZGUtZm9yLW1lZGl1bSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoZWFkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLWxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci1sYXJnZSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLCB0aGVhZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5zaG93LWZvci1zbWFsbCwgdGJvZHkuc2hvdy1mb3Itc21hbGwtZG93biwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRib2R5LmhpZGUtZm9yLW1lZGl1bS11cCwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLCB0Ym9keS5zaG93LWZvci1tZWRpdW0tZG93biwgdGJvZHkuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLWxhcmdlLCB0Ym9keS5zaG93LWZvci1sYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLnNob3ctZm9yLXNtYWxsLCB0ci5zaG93LWZvci1zbWFsbC1kb3duLCB0ci5oaWRlLWZvci1tZWRpdW0tb25seSwgdHIuaGlkZS1mb3ItbWVkaXVtLXVwLCB0ci5oaWRlLWZvci1tZWRpdW0sIHRyLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0ci5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ci5oaWRlLWZvci1sYXJnZS11cCwgdHIuaGlkZS1mb3ItbGFyZ2UsIHRyLnNob3ctZm9yLWxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXhsYXJnZSwgdHIuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteHhsYXJnZS11cCwgdHIuaGlkZS1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgdGguc2hvdy1mb3Itc21hbGwtb25seSwgdGQuc2hvdy1mb3Itc21hbGwtb25seSwgdGguc2hvdy1mb3Itc21hbGwtdXAsIHRkLnNob3ctZm9yLXNtYWxsLXVwLCB0aC5zaG93LWZvci1zbWFsbCwgdGQuc2hvdy1mb3Itc21hbGwsIHRoLnNob3ctZm9yLXNtYWxsLWRvd24sIHRkLnNob3ctZm9yLXNtYWxsLWRvd24sIHRoLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGguaGlkZS1mb3ItbWVkaXVtLXVwLCB0ZC5oaWRlLWZvci1tZWRpdW0tdXAsIHRoLmhpZGUtZm9yLW1lZGl1bSwgdGQuaGlkZS1mb3ItbWVkaXVtLCB0aC5zaG93LWZvci1tZWRpdW0tZG93biwgdGQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLWxhcmdlLXVwLCB0ZC5oaWRlLWZvci1sYXJnZS11cCwgdGguaGlkZS1mb3ItbGFyZ2UsIHRkLmhpZGUtZm9yLWxhcmdlLCB0aC5zaG93LWZvci1sYXJnZS1kb3duLCB0ZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXhsYXJnZS11cCwgdGQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aC5oaWRlLWZvci14bGFyZ2UsIHRkLmhpZGUtZm9yLXhsYXJnZSwgdGguc2hvdy1mb3IteGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteHhsYXJnZS11cCwgdGQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGguaGlkZS1mb3IteHhsYXJnZSwgdGQuaGlkZS1mb3IteHhsYXJnZSwgdGguc2hvdy1mb3IteHhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbi8qIG1lZGl1bSBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHksIC5zaG93LWZvci1zbWFsbC11cCwgLmhpZGUtZm9yLXNtYWxsLCAuaGlkZS1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuc2hvdy1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5oaWRlLWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5oaWRlLWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5oaWRlLWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLmhpZGUtZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3Itc21hbGwtb25seSwgLmhpZGUtZm9yLXNtYWxsLXVwLCAuc2hvdy1mb3Itc21hbGwsIC5zaG93LWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5oaWRlLWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuaGlkZS1mb3IteGxhcmdlLWRvd24sIC5zaG93LWZvci14eGxhcmdlLW9ubHksIC5zaG93LWZvci14eGxhcmdlLXVwLCAuc2hvdy1mb3IteHhsYXJnZSwgLmhpZGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5oaWRkZW4tZm9yLXNtYWxsLW9ubHksIC52aXNpYmxlLWZvci1zbWFsbC11cCwgLmhpZGRlbi1mb3Itc21hbGwsIC5oaWRkZW4tZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLnZpc2libGUtZm9yLW1lZGl1bSwgLnZpc2libGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZGVuLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAuaGlkZGVuLWZvci14bGFyZ2Utb25seSwgLmhpZGRlbi1mb3IteGxhcmdlLXVwLCAuaGlkZGVuLWZvci14bGFyZ2UsIC52aXNpYmxlLWZvci14bGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14eGxhcmdlLXVwLCAuaGlkZGVuLWZvci14eGxhcmdlLCAudmlzaWJsZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87IH1cbiAgLnZpc2libGUtZm9yLXNtYWxsLW9ubHksIC5oaWRkZW4tZm9yLXNtYWxsLXVwLCAudmlzaWJsZS1mb3Itc21hbGwsIC52aXNpYmxlLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAuaGlkZGVuLWZvci1tZWRpdW0sIC5oaWRkZW4tZm9yLW1lZGl1bS1kb3duLCAudmlzaWJsZS1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLmhpZGRlbi1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4OyB9XG4gIHRhYmxlLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRhYmxlLnNob3ctZm9yLXNtYWxsLXVwLCB0YWJsZS5oaWRlLWZvci1zbWFsbCwgdGFibGUuaGlkZS1mb3Itc21hbGwtZG93biwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRhYmxlLnNob3ctZm9yLW1lZGl1bS11cCwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLCB0YWJsZS5zaG93LWZvci1tZWRpdW0tZG93biwgdGFibGUuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLCB0YWJsZS5zaG93LWZvci1sYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteGxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0YWJsZS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2UsIHRhYmxlLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aGVhZC5zaG93LWZvci1zbWFsbC11cCwgdGhlYWQuaGlkZS1mb3Itc21hbGwsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoZWFkLnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0aGVhZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoZWFkLnNob3ctZm9yLW1lZGl1bSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoZWFkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLWxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci1sYXJnZSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS11cCwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLCB0aGVhZC5zaG93LWZvci14bGFyZ2UtZG93biwgdGhlYWQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLCB0aGVhZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LmhpZGUtZm9yLXNtYWxsLW9ubHksIHRib2R5LnNob3ctZm9yLXNtYWxsLXVwLCB0Ym9keS5oaWRlLWZvci1zbWFsbCwgdGJvZHkuaGlkZS1mb3Itc21hbGwtZG93biwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLW9ubHksIHRib2R5LnNob3ctZm9yLW1lZGl1bS11cCwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLCB0Ym9keS5zaG93LWZvci1tZWRpdW0tZG93biwgdGJvZHkuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLWxhcmdlLCB0Ym9keS5zaG93LWZvci1sYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UsIHRib2R5LnNob3ctZm9yLXhsYXJnZS1kb3duLCB0Ym9keS5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2UsIHRib2R5LnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuaGlkZS1mb3Itc21hbGwtb25seSwgdHIuc2hvdy1mb3Itc21hbGwtdXAsIHRyLmhpZGUtZm9yLXNtYWxsLCB0ci5oaWRlLWZvci1zbWFsbC1kb3duLCB0ci5zaG93LWZvci1tZWRpdW0tb25seSwgdHIuc2hvdy1mb3ItbWVkaXVtLXVwLCB0ci5zaG93LWZvci1tZWRpdW0sIHRyLnNob3ctZm9yLW1lZGl1bS1kb3duLCB0ci5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ci5oaWRlLWZvci1sYXJnZS11cCwgdHIuaGlkZS1mb3ItbGFyZ2UsIHRyLnNob3ctZm9yLWxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14bGFyZ2UtdXAsIHRyLmhpZGUtZm9yLXhsYXJnZSwgdHIuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRyLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdHIuaGlkZS1mb3IteHhsYXJnZS11cCwgdHIuaGlkZS1mb3IteHhsYXJnZSwgdHIuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgdGguaGlkZS1mb3Itc21hbGwtb25seSwgdGQuaGlkZS1mb3Itc21hbGwtb25seSwgdGguc2hvdy1mb3Itc21hbGwtdXAsIHRkLnNob3ctZm9yLXNtYWxsLXVwLCB0aC5oaWRlLWZvci1zbWFsbCwgdGQuaGlkZS1mb3Itc21hbGwsIHRoLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRkLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRoLnNob3ctZm9yLW1lZGl1bS1vbmx5LCB0ZC5zaG93LWZvci1tZWRpdW0tb25seSwgdGguc2hvdy1mb3ItbWVkaXVtLXVwLCB0ZC5zaG93LWZvci1tZWRpdW0tdXAsIHRoLnNob3ctZm9yLW1lZGl1bSwgdGQuc2hvdy1mb3ItbWVkaXVtLCB0aC5zaG93LWZvci1tZWRpdW0tZG93biwgdGQuc2hvdy1mb3ItbWVkaXVtLWRvd24sIHRoLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLWxhcmdlLXVwLCB0ZC5oaWRlLWZvci1sYXJnZS11cCwgdGguaGlkZS1mb3ItbGFyZ2UsIHRkLmhpZGUtZm9yLWxhcmdlLCB0aC5zaG93LWZvci1sYXJnZS1kb3duLCB0ZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRoLmhpZGUtZm9yLXhsYXJnZS11cCwgdGQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aC5oaWRlLWZvci14bGFyZ2UsIHRkLmhpZGUtZm9yLXhsYXJnZSwgdGguc2hvdy1mb3IteGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteHhsYXJnZS11cCwgdGQuaGlkZS1mb3IteHhsYXJnZS11cCwgdGguaGlkZS1mb3IteHhsYXJnZSwgdGQuaGlkZS1mb3IteHhsYXJnZSwgdGguc2hvdy1mb3IteHhsYXJnZS1kb3duLCB0ZC5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbi8qIGxhcmdlIGRpc3BsYXlzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLnNob3ctZm9yLXNtYWxsLXVwLCAuaGlkZS1mb3Itc21hbGwsIC5oaWRlLWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5zaG93LWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLnNob3ctZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLnNob3ctZm9yLWxhcmdlLCAuc2hvdy1mb3ItbGFyZ2UtZG93biwgLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteGxhcmdlLXVwLCAuaGlkZS1mb3IteGxhcmdlLCAuc2hvdy1mb3IteGxhcmdlLWRvd24sIC5oaWRlLWZvci14eGxhcmdlLW9ubHksIC5oaWRlLWZvci14eGxhcmdlLXVwLCAuaGlkZS1mb3IteHhsYXJnZSwgLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5LCAuaGlkZS1mb3Itc21hbGwtdXAsIC5zaG93LWZvci1zbWFsbCwgLnNob3ctZm9yLXNtYWxsLWRvd24sIC5zaG93LWZvci1tZWRpdW0tb25seSwgLmhpZGUtZm9yLW1lZGl1bS11cCwgLnNob3ctZm9yLW1lZGl1bSwgLnNob3ctZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLmhpZGUtZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuc2hvdy1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5zaG93LWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuaGlkZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLnZpc2libGUtZm9yLXNtYWxsLXVwLCAuaGlkZGVuLWZvci1zbWFsbCwgLmhpZGRlbi1mb3Itc21hbGwtZG93biwgLmhpZGRlbi1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC52aXNpYmxlLWZvci1sYXJnZS1vbmx5LCAudmlzaWJsZS1mb3ItbGFyZ2UtdXAsIC52aXNpYmxlLWZvci1sYXJnZSwgLnZpc2libGUtZm9yLWxhcmdlLWRvd24sIC5oaWRkZW4tZm9yLXhsYXJnZS1vbmx5LCAuaGlkZGVuLWZvci14bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC52aXNpYmxlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bzsgfVxuICAudmlzaWJsZS1mb3Itc21hbGwtb25seSwgLmhpZGRlbi1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAudmlzaWJsZS1mb3ItbWVkaXVtLCAudmlzaWJsZS1mb3ItbWVkaXVtLWRvd24sIC5oaWRkZW4tZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAuaGlkZGVuLWZvci1sYXJnZSwgLmhpZGRlbi1mb3ItbGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXhsYXJnZS1vbmx5LCAudmlzaWJsZS1mb3IteGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteGxhcmdlLCAuaGlkZGVuLWZvci14bGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXh4bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14eGxhcmdlLCAuaGlkZGVuLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgdGFibGUuaGlkZS1mb3Itc21hbGwtb25seSwgdGFibGUuc2hvdy1mb3Itc21hbGwtdXAsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLCB0YWJsZS5oaWRlLWZvci1zbWFsbC1kb3duLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLXVwLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0YWJsZS5zaG93LWZvci1sYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci1sYXJnZS11cCwgdGFibGUuc2hvdy1mb3ItbGFyZ2UsIHRhYmxlLnNob3ctZm9yLWxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0YWJsZS5oaWRlLWZvci14bGFyZ2UtdXAsIHRhYmxlLmhpZGUtZm9yLXhsYXJnZSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteHhsYXJnZSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoZWFkLnNob3ctZm9yLXNtYWxsLXVwLCB0aGVhZC5oaWRlLWZvci1zbWFsbCwgdGhlYWQuaGlkZS1mb3Itc21hbGwtZG93biwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoZWFkLnNob3ctZm9yLW1lZGl1bS11cCwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGhlYWQuc2hvdy1mb3ItbGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoZWFkLnNob3ctZm9yLWxhcmdlLCB0aGVhZC5zaG93LWZvci1sYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLXVwLCB0aGVhZC5oaWRlLWZvci14bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3Itc21hbGwtb25seSwgdGJvZHkuc2hvdy1mb3Itc21hbGwtdXAsIHRib2R5LmhpZGUtZm9yLXNtYWxsLCB0Ym9keS5oaWRlLWZvci1zbWFsbC1kb3duLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLXVwLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0Ym9keS5zaG93LWZvci1sYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci1sYXJnZS11cCwgdGJvZHkuc2hvdy1mb3ItbGFyZ2UsIHRib2R5LnNob3ctZm9yLWxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0Ym9keS5oaWRlLWZvci14bGFyZ2UtdXAsIHRib2R5LmhpZGUtZm9yLXhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ci5zaG93LWZvci1zbWFsbC11cCwgdHIuaGlkZS1mb3Itc21hbGwsIHRyLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRyLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ci5zaG93LWZvci1tZWRpdW0tdXAsIHRyLmhpZGUtZm9yLW1lZGl1bSwgdHIuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRyLnNob3ctZm9yLWxhcmdlLW9ubHksIHRyLnNob3ctZm9yLWxhcmdlLXVwLCB0ci5zaG93LWZvci1sYXJnZSwgdHIuc2hvdy1mb3ItbGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRyLmhpZGUtZm9yLXhsYXJnZS11cCwgdHIuaGlkZS1mb3IteGxhcmdlLCB0ci5zaG93LWZvci14bGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14eGxhcmdlLXVwLCB0ci5oaWRlLWZvci14eGxhcmdlLCB0ci5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICB0aC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aC5zaG93LWZvci1zbWFsbC11cCwgdGQuc2hvdy1mb3Itc21hbGwtdXAsIHRoLmhpZGUtZm9yLXNtYWxsLCB0ZC5oaWRlLWZvci1zbWFsbCwgdGguaGlkZS1mb3Itc21hbGwtZG93biwgdGQuaGlkZS1mb3Itc21hbGwtZG93biwgdGguaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aC5zaG93LWZvci1tZWRpdW0tdXAsIHRkLnNob3ctZm9yLW1lZGl1bS11cCwgdGguaGlkZS1mb3ItbWVkaXVtLCB0ZC5oaWRlLWZvci1tZWRpdW0sIHRoLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGguc2hvdy1mb3ItbGFyZ2Utb25seSwgdGQuc2hvdy1mb3ItbGFyZ2Utb25seSwgdGguc2hvdy1mb3ItbGFyZ2UtdXAsIHRkLnNob3ctZm9yLWxhcmdlLXVwLCB0aC5zaG93LWZvci1sYXJnZSwgdGQuc2hvdy1mb3ItbGFyZ2UsIHRoLnNob3ctZm9yLWxhcmdlLWRvd24sIHRkLnNob3ctZm9yLWxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci14bGFyZ2Utb25seSwgdGguaGlkZS1mb3IteGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14bGFyZ2UtdXAsIHRoLmhpZGUtZm9yLXhsYXJnZSwgdGQuaGlkZS1mb3IteGxhcmdlLCB0aC5zaG93LWZvci14bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14eGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aC5oaWRlLWZvci14eGxhcmdlLCB0ZC5oaWRlLWZvci14eGxhcmdlLCB0aC5zaG93LWZvci14eGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuLyogeGxhcmdlIGRpc3BsYXlzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSwgLnNob3ctZm9yLXNtYWxsLXVwLCAuaGlkZS1mb3Itc21hbGwsIC5oaWRlLWZvci1zbWFsbC1kb3duLCAuaGlkZS1mb3ItbWVkaXVtLW9ubHksIC5zaG93LWZvci1tZWRpdW0tdXAsIC5oaWRlLWZvci1tZWRpdW0sIC5oaWRlLWZvci1tZWRpdW0tZG93biwgLmhpZGUtZm9yLWxhcmdlLW9ubHksIC5zaG93LWZvci1sYXJnZS11cCwgLmhpZGUtZm9yLWxhcmdlLCAuaGlkZS1mb3ItbGFyZ2UtZG93biwgLnNob3ctZm9yLXhsYXJnZS1vbmx5LCAuc2hvdy1mb3IteGxhcmdlLXVwLCAuc2hvdy1mb3IteGxhcmdlLCAuc2hvdy1mb3IteGxhcmdlLWRvd24sIC5oaWRlLWZvci14eGxhcmdlLW9ubHksIC5oaWRlLWZvci14eGxhcmdlLXVwLCAuaGlkZS1mb3IteHhsYXJnZSwgLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5LCAuaGlkZS1mb3Itc21hbGwtdXAsIC5zaG93LWZvci1zbWFsbCwgLnNob3ctZm9yLXNtYWxsLWRvd24sIC5zaG93LWZvci1tZWRpdW0tb25seSwgLmhpZGUtZm9yLW1lZGl1bS11cCwgLnNob3ctZm9yLW1lZGl1bSwgLnNob3ctZm9yLW1lZGl1bS1kb3duLCAuc2hvdy1mb3ItbGFyZ2Utb25seSwgLmhpZGUtZm9yLWxhcmdlLXVwLCAuc2hvdy1mb3ItbGFyZ2UsIC5zaG93LWZvci1sYXJnZS1kb3duLCAuaGlkZS1mb3IteGxhcmdlLW9ubHksIC5oaWRlLWZvci14bGFyZ2UtdXAsIC5oaWRlLWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuaGlkZS1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGRlbi1mb3Itc21hbGwtb25seSwgLnZpc2libGUtZm9yLXNtYWxsLXVwLCAuaGlkZGVuLWZvci1zbWFsbCwgLmhpZGRlbi1mb3Itc21hbGwtZG93biwgLmhpZGRlbi1mb3ItbWVkaXVtLW9ubHksIC52aXNpYmxlLWZvci1tZWRpdW0tdXAsIC5oaWRkZW4tZm9yLW1lZGl1bSwgLmhpZGRlbi1mb3ItbWVkaXVtLWRvd24sIC5oaWRkZW4tZm9yLWxhcmdlLW9ubHksIC52aXNpYmxlLWZvci1sYXJnZS11cCwgLmhpZGRlbi1mb3ItbGFyZ2UsIC5oaWRkZW4tZm9yLWxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC52aXNpYmxlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bzsgfVxuICAudmlzaWJsZS1mb3Itc21hbGwtb25seSwgLmhpZGRlbi1mb3Itc21hbGwtdXAsIC52aXNpYmxlLWZvci1zbWFsbCwgLnZpc2libGUtZm9yLXNtYWxsLWRvd24sIC52aXNpYmxlLWZvci1tZWRpdW0tb25seSwgLmhpZGRlbi1mb3ItbWVkaXVtLXVwLCAudmlzaWJsZS1mb3ItbWVkaXVtLCAudmlzaWJsZS1mb3ItbWVkaXVtLWRvd24sIC52aXNpYmxlLWZvci1sYXJnZS1vbmx5LCAuaGlkZGVuLWZvci1sYXJnZS11cCwgLnZpc2libGUtZm9yLWxhcmdlLCAudmlzaWJsZS1mb3ItbGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLmhpZGRlbi1mb3IteGxhcmdlLCAuaGlkZGVuLWZvci14bGFyZ2UtZG93biwgLnZpc2libGUtZm9yLXh4bGFyZ2Utb25seSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtdXAsIC52aXNpYmxlLWZvci14eGxhcmdlLCAuaGlkZGVuLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgdGFibGUuaGlkZS1mb3Itc21hbGwtb25seSwgdGFibGUuc2hvdy1mb3Itc21hbGwtdXAsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLCB0YWJsZS5oaWRlLWZvci1zbWFsbC1kb3duLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGFibGUuc2hvdy1mb3ItbWVkaXVtLXVwLCB0YWJsZS5oaWRlLWZvci1tZWRpdW0sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0YWJsZS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci1sYXJnZS11cCwgdGFibGUuaGlkZS1mb3ItbGFyZ2UsIHRhYmxlLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRhYmxlLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci14bGFyZ2UtdXAsIHRhYmxlLnNob3ctZm9yLXhsYXJnZSwgdGFibGUuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRhYmxlLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGFibGUuaGlkZS1mb3IteHhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteHhsYXJnZSwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoZWFkLnNob3ctZm9yLXNtYWxsLXVwLCB0aGVhZC5oaWRlLWZvci1zbWFsbCwgdGhlYWQuaGlkZS1mb3Itc21hbGwtZG93biwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoZWFkLnNob3ctZm9yLW1lZGl1bS11cCwgdGhlYWQuaGlkZS1mb3ItbWVkaXVtLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGhlYWQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1kb3duLCB0aGVhZC5zaG93LWZvci14bGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3IteGxhcmdlLXVwLCB0aGVhZC5zaG93LWZvci14bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXhsYXJnZS1kb3duLCB0aGVhZC5oaWRlLWZvci14eGxhcmdlLW9ubHksIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXh4bGFyZ2UsIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3Itc21hbGwtb25seSwgdGJvZHkuc2hvdy1mb3Itc21hbGwtdXAsIHRib2R5LmhpZGUtZm9yLXNtYWxsLCB0Ym9keS5oaWRlLWZvci1zbWFsbC1kb3duLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0tb25seSwgdGJvZHkuc2hvdy1mb3ItbWVkaXVtLXVwLCB0Ym9keS5oaWRlLWZvci1tZWRpdW0sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0Ym9keS5oaWRlLWZvci1sYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci1sYXJnZS11cCwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UsIHRib2R5LmhpZGUtZm9yLWxhcmdlLWRvd24sIHRib2R5LnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci14bGFyZ2UtdXAsIHRib2R5LnNob3ctZm9yLXhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRib2R5LmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteHhsYXJnZSwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ci5zaG93LWZvci1zbWFsbC11cCwgdHIuaGlkZS1mb3Itc21hbGwsIHRyLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRyLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0ci5zaG93LWZvci1tZWRpdW0tdXAsIHRyLmhpZGUtZm9yLW1lZGl1bSwgdHIuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRyLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRyLnNob3ctZm9yLWxhcmdlLXVwLCB0ci5oaWRlLWZvci1sYXJnZSwgdHIuaGlkZS1mb3ItbGFyZ2UtZG93biwgdHIuc2hvdy1mb3IteGxhcmdlLW9ubHksIHRyLnNob3ctZm9yLXhsYXJnZS11cCwgdHIuc2hvdy1mb3IteGxhcmdlLCB0ci5zaG93LWZvci14bGFyZ2UtZG93biwgdHIuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0ci5oaWRlLWZvci14eGxhcmdlLXVwLCB0ci5oaWRlLWZvci14eGxhcmdlLCB0ci5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICB0aC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0ZC5oaWRlLWZvci1zbWFsbC1vbmx5LCB0aC5zaG93LWZvci1zbWFsbC11cCwgdGQuc2hvdy1mb3Itc21hbGwtdXAsIHRoLmhpZGUtZm9yLXNtYWxsLCB0ZC5oaWRlLWZvci1zbWFsbCwgdGguaGlkZS1mb3Itc21hbGwtZG93biwgdGQuaGlkZS1mb3Itc21hbGwtZG93biwgdGguaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRkLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0aC5zaG93LWZvci1tZWRpdW0tdXAsIHRkLnNob3ctZm9yLW1lZGl1bS11cCwgdGguaGlkZS1mb3ItbWVkaXVtLCB0ZC5oaWRlLWZvci1tZWRpdW0sIHRoLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0ZC5oaWRlLWZvci1tZWRpdW0tZG93biwgdGguaGlkZS1mb3ItbGFyZ2Utb25seSwgdGQuaGlkZS1mb3ItbGFyZ2Utb25seSwgdGguc2hvdy1mb3ItbGFyZ2UtdXAsIHRkLnNob3ctZm9yLWxhcmdlLXVwLCB0aC5oaWRlLWZvci1sYXJnZSwgdGQuaGlkZS1mb3ItbGFyZ2UsIHRoLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoLnNob3ctZm9yLXhsYXJnZS1vbmx5LCB0ZC5zaG93LWZvci14bGFyZ2Utb25seSwgdGguc2hvdy1mb3IteGxhcmdlLXVwLCB0ZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoLnNob3ctZm9yLXhsYXJnZSwgdGQuc2hvdy1mb3IteGxhcmdlLCB0aC5zaG93LWZvci14bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteGxhcmdlLWRvd24sIHRoLmhpZGUtZm9yLXh4bGFyZ2Utb25seSwgdGQuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCB0aC5oaWRlLWZvci14eGxhcmdlLXVwLCB0ZC5oaWRlLWZvci14eGxhcmdlLXVwLCB0aC5oaWRlLWZvci14eGxhcmdlLCB0ZC5oaWRlLWZvci14eGxhcmdlLCB0aC5zaG93LWZvci14eGxhcmdlLWRvd24sIHRkLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuLyogeHhsYXJnZSBkaXNwbGF5cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5LCAuc2hvdy1mb3Itc21hbGwtdXAsIC5oaWRlLWZvci1zbWFsbCwgLmhpZGUtZm9yLXNtYWxsLWRvd24sIC5oaWRlLWZvci1tZWRpdW0tb25seSwgLnNob3ctZm9yLW1lZGl1bS11cCwgLmhpZGUtZm9yLW1lZGl1bSwgLmhpZGUtZm9yLW1lZGl1bS1kb3duLCAuaGlkZS1mb3ItbGFyZ2Utb25seSwgLnNob3ctZm9yLWxhcmdlLXVwLCAuaGlkZS1mb3ItbGFyZ2UsIC5oaWRlLWZvci1sYXJnZS1kb3duLCAuaGlkZS1mb3IteGxhcmdlLW9ubHksIC5zaG93LWZvci14bGFyZ2UtdXAsIC5oaWRlLWZvci14bGFyZ2UsIC5oaWRlLWZvci14bGFyZ2UtZG93biwgLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgLnNob3ctZm9yLXh4bGFyZ2UtdXAsIC5zaG93LWZvci14eGxhcmdlLCAuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXNtYWxsLW9ubHksIC5oaWRlLWZvci1zbWFsbC11cCwgLnNob3ctZm9yLXNtYWxsLCAuc2hvdy1mb3Itc21hbGwtZG93biwgLnNob3ctZm9yLW1lZGl1bS1vbmx5LCAuaGlkZS1mb3ItbWVkaXVtLXVwLCAuc2hvdy1mb3ItbWVkaXVtLCAuc2hvdy1mb3ItbWVkaXVtLWRvd24sIC5zaG93LWZvci1sYXJnZS1vbmx5LCAuaGlkZS1mb3ItbGFyZ2UtdXAsIC5zaG93LWZvci1sYXJnZSwgLnNob3ctZm9yLWxhcmdlLWRvd24sIC5zaG93LWZvci14bGFyZ2Utb25seSwgLmhpZGUtZm9yLXhsYXJnZS11cCwgLnNob3ctZm9yLXhsYXJnZSwgLnNob3ctZm9yLXhsYXJnZS1kb3duLCAuaGlkZS1mb3IteHhsYXJnZS1vbmx5LCAuaGlkZS1mb3IteHhsYXJnZS11cCwgLmhpZGUtZm9yLXh4bGFyZ2UsIC5oaWRlLWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZGVuLWZvci1zbWFsbC1vbmx5LCAudmlzaWJsZS1mb3Itc21hbGwtdXAsIC5oaWRkZW4tZm9yLXNtYWxsLCAuaGlkZGVuLWZvci1zbWFsbC1kb3duLCAuaGlkZGVuLWZvci1tZWRpdW0tb25seSwgLnZpc2libGUtZm9yLW1lZGl1bS11cCwgLmhpZGRlbi1mb3ItbWVkaXVtLCAuaGlkZGVuLWZvci1tZWRpdW0tZG93biwgLmhpZGRlbi1mb3ItbGFyZ2Utb25seSwgLnZpc2libGUtZm9yLWxhcmdlLXVwLCAuaGlkZGVuLWZvci1sYXJnZSwgLmhpZGRlbi1mb3ItbGFyZ2UtZG93biwgLmhpZGRlbi1mb3IteGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXhsYXJnZSwgLmhpZGRlbi1mb3IteGxhcmdlLWRvd24sIC52aXNpYmxlLWZvci14eGxhcmdlLW9ubHksIC52aXNpYmxlLWZvci14eGxhcmdlLXVwLCAudmlzaWJsZS1mb3IteHhsYXJnZSwgLnZpc2libGUtZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvOyB9XG4gIC52aXNpYmxlLWZvci1zbWFsbC1vbmx5LCAuaGlkZGVuLWZvci1zbWFsbC11cCwgLnZpc2libGUtZm9yLXNtYWxsLCAudmlzaWJsZS1mb3Itc21hbGwtZG93biwgLnZpc2libGUtZm9yLW1lZGl1bS1vbmx5LCAuaGlkZGVuLWZvci1tZWRpdW0tdXAsIC52aXNpYmxlLWZvci1tZWRpdW0sIC52aXNpYmxlLWZvci1tZWRpdW0tZG93biwgLnZpc2libGUtZm9yLWxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLWxhcmdlLXVwLCAudmlzaWJsZS1mb3ItbGFyZ2UsIC52aXNpYmxlLWZvci1sYXJnZS1kb3duLCAudmlzaWJsZS1mb3IteGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXhsYXJnZS11cCwgLnZpc2libGUtZm9yLXhsYXJnZSwgLnZpc2libGUtZm9yLXhsYXJnZS1kb3duLCAuaGlkZGVuLWZvci14eGxhcmdlLW9ubHksIC5oaWRkZW4tZm9yLXh4bGFyZ2UtdXAsIC5oaWRkZW4tZm9yLXh4bGFyZ2UsIC5oaWRkZW4tZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDsgfVxuICB0YWJsZS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0YWJsZS5zaG93LWZvci1zbWFsbC11cCwgdGFibGUuaGlkZS1mb3Itc21hbGwsIHRhYmxlLmhpZGUtZm9yLXNtYWxsLWRvd24sIHRhYmxlLmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0YWJsZS5zaG93LWZvci1tZWRpdW0tdXAsIHRhYmxlLmhpZGUtZm9yLW1lZGl1bSwgdGFibGUuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRhYmxlLmhpZGUtZm9yLWxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLWxhcmdlLXVwLCB0YWJsZS5oaWRlLWZvci1sYXJnZSwgdGFibGUuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGFibGUuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRhYmxlLnNob3ctZm9yLXhsYXJnZS11cCwgdGFibGUuaGlkZS1mb3IteGxhcmdlLCB0YWJsZS5oaWRlLWZvci14bGFyZ2UtZG93biwgdGFibGUuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0YWJsZS5zaG93LWZvci14eGxhcmdlLXVwLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLCB0YWJsZS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuaGlkZS1mb3Itc21hbGwtb25seSwgdGhlYWQuc2hvdy1mb3Itc21hbGwtdXAsIHRoZWFkLmhpZGUtZm9yLXNtYWxsLCB0aGVhZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGhlYWQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aGVhZC5oaWRlLWZvci1tZWRpdW0sIHRoZWFkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aGVhZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci1sYXJnZS11cCwgdGhlYWQuaGlkZS1mb3ItbGFyZ2UsIHRoZWFkLmhpZGUtZm9yLWxhcmdlLWRvd24sIHRoZWFkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aGVhZC5zaG93LWZvci14bGFyZ2UtdXAsIHRoZWFkLmhpZGUtZm9yLXhsYXJnZSwgdGhlYWQuaGlkZS1mb3IteGxhcmdlLWRvd24sIHRoZWFkLnNob3ctZm9yLXh4bGFyZ2Utb25seSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS11cCwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZSwgdGhlYWQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5oaWRlLWZvci1zbWFsbC1vbmx5LCB0Ym9keS5zaG93LWZvci1zbWFsbC11cCwgdGJvZHkuaGlkZS1mb3Itc21hbGwsIHRib2R5LmhpZGUtZm9yLXNtYWxsLWRvd24sIHRib2R5LmhpZGUtZm9yLW1lZGl1bS1vbmx5LCB0Ym9keS5zaG93LWZvci1tZWRpdW0tdXAsIHRib2R5LmhpZGUtZm9yLW1lZGl1bSwgdGJvZHkuaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRib2R5LmhpZGUtZm9yLWxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLWxhcmdlLXVwLCB0Ym9keS5oaWRlLWZvci1sYXJnZSwgdGJvZHkuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLW9ubHksIHRib2R5LnNob3ctZm9yLXhsYXJnZS11cCwgdGJvZHkuaGlkZS1mb3IteGxhcmdlLCB0Ym9keS5oaWRlLWZvci14bGFyZ2UtZG93biwgdGJvZHkuc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0Ym9keS5zaG93LWZvci14eGxhcmdlLXVwLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLCB0Ym9keS5zaG93LWZvci14eGxhcmdlLWRvd24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRyLnNob3ctZm9yLXNtYWxsLXVwLCB0ci5oaWRlLWZvci1zbWFsbCwgdHIuaGlkZS1mb3Itc21hbGwtZG93biwgdHIuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRyLnNob3ctZm9yLW1lZGl1bS11cCwgdHIuaGlkZS1mb3ItbWVkaXVtLCB0ci5oaWRlLWZvci1tZWRpdW0tZG93biwgdHIuaGlkZS1mb3ItbGFyZ2Utb25seSwgdHIuc2hvdy1mb3ItbGFyZ2UtdXAsIHRyLmhpZGUtZm9yLWxhcmdlLCB0ci5oaWRlLWZvci1sYXJnZS1kb3duLCB0ci5oaWRlLWZvci14bGFyZ2Utb25seSwgdHIuc2hvdy1mb3IteGxhcmdlLXVwLCB0ci5oaWRlLWZvci14bGFyZ2UsIHRyLmhpZGUtZm9yLXhsYXJnZS1kb3duLCB0ci5zaG93LWZvci14eGxhcmdlLW9ubHksIHRyLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRyLnNob3ctZm9yLXh4bGFyZ2UsIHRyLnNob3ctZm9yLXh4bGFyZ2UtZG93biB7XG4gICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIHRoLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRkLmhpZGUtZm9yLXNtYWxsLW9ubHksIHRoLnNob3ctZm9yLXNtYWxsLXVwLCB0ZC5zaG93LWZvci1zbWFsbC11cCwgdGguaGlkZS1mb3Itc21hbGwsIHRkLmhpZGUtZm9yLXNtYWxsLCB0aC5oaWRlLWZvci1zbWFsbC1kb3duLCB0ZC5oaWRlLWZvci1zbWFsbC1kb3duLCB0aC5oaWRlLWZvci1tZWRpdW0tb25seSwgdGQuaGlkZS1mb3ItbWVkaXVtLW9ubHksIHRoLnNob3ctZm9yLW1lZGl1bS11cCwgdGQuc2hvdy1mb3ItbWVkaXVtLXVwLCB0aC5oaWRlLWZvci1tZWRpdW0sIHRkLmhpZGUtZm9yLW1lZGl1bSwgdGguaGlkZS1mb3ItbWVkaXVtLWRvd24sIHRkLmhpZGUtZm9yLW1lZGl1bS1kb3duLCB0aC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0ZC5oaWRlLWZvci1sYXJnZS1vbmx5LCB0aC5zaG93LWZvci1sYXJnZS11cCwgdGQuc2hvdy1mb3ItbGFyZ2UtdXAsIHRoLmhpZGUtZm9yLWxhcmdlLCB0ZC5oaWRlLWZvci1sYXJnZSwgdGguaGlkZS1mb3ItbGFyZ2UtZG93biwgdGQuaGlkZS1mb3ItbGFyZ2UtZG93biwgdGguaGlkZS1mb3IteGxhcmdlLW9ubHksIHRkLmhpZGUtZm9yLXhsYXJnZS1vbmx5LCB0aC5zaG93LWZvci14bGFyZ2UtdXAsIHRkLnNob3ctZm9yLXhsYXJnZS11cCwgdGguaGlkZS1mb3IteGxhcmdlLCB0ZC5oaWRlLWZvci14bGFyZ2UsIHRoLmhpZGUtZm9yLXhsYXJnZS1kb3duLCB0ZC5oaWRlLWZvci14bGFyZ2UtZG93biwgdGguc2hvdy1mb3IteHhsYXJnZS1vbmx5LCB0ZC5zaG93LWZvci14eGxhcmdlLW9ubHksIHRoLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRkLnNob3ctZm9yLXh4bGFyZ2UtdXAsIHRoLnNob3ctZm9yLXh4bGFyZ2UsIHRkLnNob3ctZm9yLXh4bGFyZ2UsIHRoLnNob3ctZm9yLXh4bGFyZ2UtZG93biwgdGQuc2hvdy1mb3IteHhsYXJnZS1kb3duIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBPcmllbnRhdGlvbiB0YXJnZXRpbmcgKi9cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbnRhYmxlLmhpZGUtZm9yLWxhbmRzY2FwZSwgdGFibGUuc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbnRoZWFkLmhpZGUtZm9yLWxhbmRzY2FwZSwgdGhlYWQuc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuXG50Ym9keS5oaWRlLWZvci1sYW5kc2NhcGUsIHRib2R5LnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cblxudHIuaGlkZS1mb3ItbGFuZHNjYXBlLCB0ci5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG5cbnRkLmhpZGUtZm9yLWxhbmRzY2FwZSwgdGQuc2hvdy1mb3ItcG9ydHJhaXQsXG50aC5oaWRlLWZvci1sYW5kc2NhcGUsXG50aC5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZS5zaG93LWZvci1sYW5kc2NhcGUsIHRhYmxlLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLWxhbmRzY2FwZSwgdGhlYWQuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLWxhbmRzY2FwZSwgdGJvZHkuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLWxhbmRzY2FwZSwgdHIuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLWxhbmRzY2FwZSwgdGQuaGlkZS1mb3ItcG9ydHJhaXQsXG4gIHRoLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgdGguaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuc2hvdy1mb3ItcG9ydHJhaXQsXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcG9ydHJhaXQsXG4gIC5zaG93LWZvci1sYW5kc2NhcGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgdGFibGUuc2hvdy1mb3ItcG9ydHJhaXQsIHRhYmxlLmhpZGUtZm9yLWxhbmRzY2FwZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wb3J0cmFpdCwgdGhlYWQuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wb3J0cmFpdCwgdGJvZHkuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wb3J0cmFpdCwgdHIuaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wb3J0cmFpdCwgdGQuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICB0aC5zaG93LWZvci1wb3J0cmFpdCxcbiAgdGguaGlkZS1mb3ItbGFuZHNjYXBlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUb3VjaC1lbmFibGVkIGRldmljZSB0YXJnZXRpbmcgKi9cbi5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIC5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG4udG91Y2ggLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xudGFibGUuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0YWJsZS5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cblxudGhlYWQuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuXG4udG91Y2ggdGhlYWQuc2hvdy1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuXG50Ym9keS5oaWRlLWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0Ym9keS5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG5cbnRyLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIHRyLnNob3ctZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cblxudGQuaGlkZS1mb3ItdG91Y2gge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuLnRvdWNoIHRkLnNob3ctZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbnRoLmhpZGUtZm9yLXRvdWNoIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbi50b3VjaCB0aC5zaG93LWZvci10b3VjaCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4vKiBTY3JlZW4gcmVhZGVyLXNwZWNpZmljIGNsYXNzZXMgKi9cbi5zaG93LWZvci1zciB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4OyB9XG5cbi5zaG93LW9uLWZvY3VzIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7IH1cbiAgLnNob3ctb24tZm9jdXM6Zm9jdXMsIC5zaG93LW9uLWZvY3VzOmFjdGl2ZSB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvOyB9XG5cbi8qIFByaW50IHZpc2liaWxpdHkgKi9cbi5wcmludC1vbmx5LFxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5wcmludC1vbmx5LFxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtb24tcHJpbnQsXG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfSB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1sb2FkaW5nIC5zbGljay1saXN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi9mb250cy9zbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMTBweFxcOTtcbiAgLypsdGUgSUUgOCovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stcHJldjpob3ZlciwgLnNsaWNrLXByZXY6Zm9jdXMsXG4gIC5zbGljay1uZXh0OmhvdmVyLFxuICAuc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMjU7IH1cblxuLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogd2hpdGU7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGkFwiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC00NXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICAgIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuLypcblx0alF1ZXJ5Lm1tZW51IENTU1xuKi9cbi8qXG5cdGpRdWVyeS5tbWVudSBvbmNhbnZhcyBDU1NcbiovXG4ubW0taGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tbS13cmFwcGVyIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm1tLW1lbnUsXG4ubW0tcGFuZWxzLFxuLm1tLXBhbmVscyA+IC5tbS1wYW5lbCB7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDA7IH1cblxuLm1tLW1lbnUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDsgfVxuXG4ubW0tcGFuZWwge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuNHMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtdHJhbnNmb3JtIDAuNHMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuNHMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG5cbi5tbS1wYW5lbC5tbS1vcGVuZWQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTsgfVxuXG4ubW0tcGFuZWwubW0tc3Vib3BlbmVkIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwJSwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMCUsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMCUsIDAsIDApOyB9XG5cbi5tbS1wYW5lbC5tbS1oaWdoZXN0IHtcbiAgei1pbmRleDogMTsgfVxuXG4ubW0tcGFuZWxzLFxuLm1tLXBhbmVscyA+IC5tbS1wYW5lbCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG4ubW0tcGFuZWxzID4gLm1tLXBhbmVsIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG5cbi5tbS1wYW5lbHMgPiAubW0tcGFuZWwubW0taGFzbmF2YmFyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7IH1cblxuLm1tLXBhbmVscyA+IC5tbS1wYW5lbDpiZWZvcmUsIC5tbS1wYW5lbHMgPiAubW0tcGFuZWw6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDsgfVxuXG4ubW0tdmVydGljYWwgLm1tLXBhbmVsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgLW1zLXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAtby10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1tLXZlcnRpY2FsIC5tbS1saXN0dmlldyAubW0tcGFuZWwsXG4ubW0tbGlzdHZpZXcgLm1tLXZlcnRpY2FsIC5tbS1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMCAxMHB4IDEwcHg7IH1cblxuLm1tLXZlcnRpY2FsIC5tbS1saXN0dmlldyAubW0tcGFuZWwgLm1tLWxpc3R2aWV3ID4gbGk6bGFzdC1jaGlsZDphZnRlcixcbi5tbS1saXN0dmlldyAubW0tdmVydGljYWwgLm1tLXBhbmVsIC5tbS1saXN0dmlldyA+IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tbS12ZXJ0aWNhbCBsaS5tbS1vcGVuZWQgPiAubW0tcGFuZWwsXG5saS5tbS12ZXJ0aWNhbC5tbS1vcGVuZWQgPiAubW0tcGFuZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubW0tdmVydGljYWwgLm1tLWxpc3R2aWV3ID4gbGkgPiAubW0tbmV4dCxcbi5tbS1saXN0dmlldyA+IGxpLm1tLXZlcnRpY2FsID4gLm1tLW5leHQge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvdHRvbTogYXV0bzsgfVxuXG4ubW0tdmVydGljYWwgLm1tLWxpc3R2aWV3ID4gbGkgPiAubW0tbmV4dDphZnRlcixcbi5tbS1saXN0dmlldyA+IGxpLm1tLXZlcnRpY2FsID4gLm1tLW5leHQ6YWZ0ZXIge1xuICB0b3A6IDE2cHg7XG4gIGJvdHRvbTogYXV0bzsgfVxuXG4ubW0tdmVydGljYWwgLm1tLWxpc3R2aWV3ID4gbGkubW0tb3BlbmVkID4gLm1tLW5leHQ6YWZ0ZXIsXG4ubW0tbGlzdHZpZXcgPiBsaS5tbS12ZXJ0aWNhbC5tbS1vcGVuZWQgPiAubW0tbmV4dDphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLm1tLW5hdmJhciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgNDBweDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLm1tLW5hdmJhciA+ICoge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweCAwOyB9XG5cbi5tbS1uYXZiYXIgYSxcbi5tbS1uYXZiYXIgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubW0tbmF2YmFyIC5tbS10aXRsZSB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5tbS1uYXZiYXIgLm1tLWJ0biB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxOyB9XG5cbi5tbS1uYXZiYXIgLm1tLWJ0bjpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbGVmdDogMDsgfVxuXG4ubW0tbmF2YmFyIC5tbS1idG46bGFzdC1jaGlsZCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICByaWdodDogMDsgfVxuXG4ubW0tcGFuZWwgLm1tLW5hdmJhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1tLXBhbmVsLm1tLWhhc25hdmJhciAubW0tbmF2YmFyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1tLWxpc3R2aWV3LFxuLm1tLWxpc3R2aWV3ID4gbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tbS1saXN0dmlldyB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cblxuLm1tLWxpc3R2aWV3IGEsXG4ubW0tbGlzdHZpZXcgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubW0tbGlzdHZpZXcgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubW0tbGlzdHZpZXcgPiBsaSwgLm1tLWxpc3R2aWV3ID4gbGk6YWZ0ZXIsXG4ubW0tbGlzdHZpZXcgPiBsaSAubW0tbmV4dCxcbi5tbS1saXN0dmlldyA+IGxpIC5tbS1uZXh0OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG4ubW0tbGlzdHZpZXcgPiBsaSA+IGEsXG4ubW0tbGlzdHZpZXcgPiBsaSA+IHNwYW4ge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyMHB4O1xuICBtYXJnaW46IDA7IH1cblxuLm1tLWxpc3R2aWV3ID4gbGkgPiBhLm1tLWFycm93LFxuLm1tLWxpc3R2aWV3ID4gbGkgPiBzcGFuLm1tLWFycm93IHtcbiAgcGFkZGluZy1yaWdodDogNTBweDsgfVxuXG4ubW0tbGlzdHZpZXcgPiBsaTpub3QoLm1tLWRpdmlkZXIpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7IH1cblxuLm1tLWxpc3R2aWV3ID4gbGk6bm90KC5tbS1kaXZpZGVyKTphZnRlciB7XG4gIGxlZnQ6IDIwcHg7IH1cblxuLm1tLWxpc3R2aWV3IC5tbS1uZXh0IHtcbiAgYmFja2dyb3VuZDogcmdiYSgzLCAyLCAxLCAwKTtcbiAgd2lkdGg6IDUwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAyOyB9XG5cbi5tbS1saXN0dmlldyAubW0tbmV4dDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDsgfVxuXG4ubW0tbGlzdHZpZXcgLm1tLW5leHQgKyBhLFxuLm1tLWxpc3R2aWV3IC5tbS1uZXh0ICsgc3BhbiB7XG4gIG1hcmdpbi1yaWdodDogNTBweDsgfVxuXG4ubW0tbGlzdHZpZXcgLm1tLW5leHQubW0tZnVsbHN1Ym9wZW4ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubW0tbGlzdHZpZXcgLm1tLW5leHQubW0tZnVsbHN1Ym9wZW46YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cblxuLm1tLWxpc3R2aWV3IC5tbS1uZXh0Lm1tLWZ1bGxzdWJvcGVuICsgYSxcbi5tbS1saXN0dmlldyAubW0tbmV4dC5tbS1mdWxsc3Vib3BlbiArIHNwYW4ge1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1tLXBhbmVscyA+IC5tbS1wYW5lbCA+IC5tbS1saXN0dmlldyB7XG4gIG1hcmdpbjogMjBweCAtMjBweDsgfVxuXG4ubW0tcGFuZWxzID4gLm1tLXBhbmVsID4gLm1tLWxpc3R2aWV3OmZpcnN0LWNoaWxkLFxuLm1tLXBhbmVscyA+IC5tbS1wYW5lbCA+IC5tbS1uYXZiYXIgKyAubW0tbGlzdHZpZXcge1xuICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuXG4ubW0tbGlzdHZpZXcgLm1tLWluc2V0IHtcbiAgbGlzdC1zdHlsZTogaW5zaWRlIGRpc2M7XG4gIHBhZGRpbmc6IDAgMTBweCAxNXB4IDQwcHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ubW0tbGlzdHZpZXcgLm1tLWluc2V0ID4gbGkge1xuICBwYWRkaW5nOiA1cHggMDsgfVxuXG4ubW0tbGlzdHZpZXcgLm1tLWRpdmlkZXIge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWluZGVudDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cblxuLm1tLWxpc3R2aWV3IC5tbS1zcGFjZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDsgfVxuXG4ubW0tbGlzdHZpZXcgLm1tLXNwYWNlciA+IC5tbS1uZXh0IHtcbiAgdG9wOiA0MHB4OyB9XG5cbi5tbS1saXN0dmlldyAubW0tc3BhY2VyLm1tLWRpdmlkZXIge1xuICBwYWRkaW5nLXRvcDogMjVweDsgfVxuXG4ubW0tcHJldjpiZWZvcmUsXG4ubW0tbmV4dDphZnRlcixcbi5tbS1hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblxuLm1tLXByZXY6YmVmb3JlIHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBsZWZ0OiAyM3B4OyB9XG5cbi5tbS1uZXh0OmFmdGVyLFxuLm1tLWFycm93OmFmdGVyIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIHJpZ2h0OiAyM3B4OyB9XG5cbi5tbS1tZW51IHtcbiAgYmFja2dyb3VuZDogI2YzZjNmMztcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cblxuLm1tLW1lbnUgLm1tLW5hdmJhciA+ICosXG4ubW0tbWVudSAubW0tbmF2YmFyIGEge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5tbS1tZW51IC5tbS1uYXZiYXIgLm1tLWJ0bjpiZWZvcmUsIC5tbS1tZW51IC5tbS1uYXZiYXIgLm1tLWJ0bjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5tbS1tZW51IC5tbS1saXN0dmlldyB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tbS1tZW51IC5tbS1saXN0dmlldyA+IGxpIC5tbS1uZXh0OmFmdGVyLFxuLm1tLW1lbnUgLm1tLWxpc3R2aWV3ID4gbGkgLm1tLWFycm93OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLm1tLW1lbnUgLm1tLWxpc3R2aWV3ID4gbGkgYTpub3QoLm1tLW5leHQpIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIHRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4ubW0tbWVudSAubW0tbGlzdHZpZXcgPiBsaS5tbS1zZWxlY3RlZCA+IGE6bm90KC5tbS1uZXh0KSxcbi5tbS1tZW51IC5tbS1saXN0dmlldyA+IGxpLm1tLXNlbGVjdGVkID4gc3BhbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4ubW0tbWVudS5tbS12ZXJ0aWNhbCAubW0tbGlzdHZpZXcgPiBsaS5tbS1vcGVuZWQgPiBhLm1tLW5leHQsXG4ubW0tbWVudS5tbS12ZXJ0aWNhbCAubW0tbGlzdHZpZXcgPiBsaS5tbS1vcGVuZWQgPiAubW0tcGFuZWwsXG4ubW0tbWVudSAubW0tbGlzdHZpZXcgPiBsaS5tbS1vcGVuZWQubW0tdmVydGljYWwgPiBhLm1tLW5leHQsXG4ubW0tbWVudSAubW0tbGlzdHZpZXcgPiBsaS5tbS1vcGVuZWQubW0tdmVydGljYWwgPiAubW0tcGFuZWwge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG5cbi5tbS1tZW51IC5tbS1kaXZpZGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG4vKlxuXHRqUXVlcnkubW1lbnUgb2ZmY2FudmFzIGFkZG9uIENTU1xuKi9cbi5tbS1wYWdlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5tbS1zbGlkZW91dCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC40cyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7IH1cblxuaHRtbC5tbS1vcGVuZWQge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5odG1sLm1tLWJsb2NraW5nIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLm1tLWJsb2NraW5nIGJvZHkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwubW0tYmFja2dyb3VuZCAubW0tcGFnZSB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7IH1cblxuI21tLWJsb2NrZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMsIDIsIDEsIDApO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTk5OyB9XG5cbmh0bWwubW0tYmxvY2tpbmcgI21tLWJsb2NrZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubW0tbWVudS5tbS1vZmZjYW52YXMge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm1tLW1lbnUubW0tY3VycmVudCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tbS1tZW51IHtcbiAgd2lkdGg6IDgwJTtcbiAgbWluLXdpZHRoOiAxNDBweDtcbiAgbWF4LXdpZHRoOiA0NDBweDsgfVxuXG5odG1sLm1tLW9wZW5pbmcgLm1tLXNsaWRlb3V0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4MCUsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDgwJSwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4MCUsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4MCUsIDApOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDE3NXB4KSB7XG4gIGh0bWwubW0tb3BlbmluZyAubW0tc2xpZGVvdXQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTQwcHgsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTQwcHgsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNDBweCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTQwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDE0MHB4LCAwKTsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gIGh0bWwubW0tb3BlbmluZyAubW0tc2xpZGVvdXQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDQwcHgsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDQwcHgsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0NDBweCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDQwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDQ0MHB4LCAwKTsgfSB9XG5cbi8qXG5cdGpRdWVyeS5tbWVudSBwb3NpdGlvbiBleHRlbnNpb24gQ1NTXG4qL1xuLm1tLW1lbnUubW0tdG9wLFxuLm1tLW1lbnUubW0tYm90dG9tIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tbS1tZW51Lm1tLXJpZ2h0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm1tLW1lbnUubW0tYm90dG9tIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7IH1cblxuaHRtbC5tbS1yaWdodC5tbS1vcGVuaW5nIC5tbS1zbGlkZW91dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTgwJSwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTgwJSwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtODAlLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTgwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC04MCUsIDApOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDE3NXB4KSB7XG4gIGh0bWwubW0tcmlnaHQubW0tb3BlbmluZyAubW0tc2xpZGVvdXQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE0MHB4LCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xNDBweCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xNDBweCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE0MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTQwcHgsIDApOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgaHRtbC5tbS1yaWdodC5tbS1vcGVuaW5nIC5tbS1zbGlkZW91dCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDQwcHgsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQ0MHB4LCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQ0MHB4LCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDQwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00NDBweCwgMCk7IH0gfVxuXG4vKlxuXHRqUXVlcnkubW1lbnUgei1wb3NpdGlvbiBleHRlbnNpb24gQ1NTXG4qL1xuaHRtbC5tbS1mcm9udCAubW0tc2xpZGVvdXQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAtbXMtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIC1vLXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgei1pbmRleDogMCAhaW1wb3J0YW50OyB9XG5cbi5tbS1tZW51Lm1tLWZyb250IHtcbiAgei1pbmRleDogMTsgfVxuXG4ubW0tbWVudS5tbS1mcm9udCwgLm1tLW1lbnUubW0tbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC40cyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbi5tbS1tZW51Lm1tLWZyb250Lm1tLXJpZ2h0LCAubW0tbWVudS5tbS1uZXh0Lm1tLXJpZ2h0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG5cbi5tbS1tZW51Lm1tLXRvcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9XG5cbi5tbS1tZW51Lm1tLWJvdHRvbSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuXG5odG1sLm1tLW9wZW5pbmcgLm1tLW1lbnUubW0tZnJvbnQsIGh0bWwubW0tb3BlbmluZyAubW0tbWVudS5tbS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5tbS1tZW51Lm1tLXRvcCwgLm1tLW1lbnUubW0tYm90dG9tIHtcbiAgaGVpZ2h0OiA4MCU7XG4gIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICBtYXgtaGVpZ2h0OiA4ODBweDsgfVxuXG4vKiBQcmVsb2FkIGltYWdlcyAqL1xuYm9keTphZnRlciB7XG4gIGNvbnRlbnQ6IHVybCguLi9pbWFnZXMvY2xvc2UucG5nKSB1cmwoLi4vaW1hZ2VzL2xvYWRpbmcuZ2lmKSB1cmwoLi4vaW1hZ2VzL3ByZXYucG5nKSB1cmwoLi4vaW1hZ2VzL25leHQucG5nKTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5ib2R5LmxiLWRpc2FibGUtc2Nyb2xsaW5nIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ubGlnaHRib3hPdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtcbiAgb3BhY2l0eTogMC44O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5saWdodGJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5saWdodGJveCAubGItaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4ubGlnaHRib3ggYSBpbWcge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmxiLW91dGVyQ29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgKnpvb206IDE7XG4gIHdpZHRoOiAyNTBweDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG4ubGItb3V0ZXJDb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmxiLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDRweDsgfVxuXG4ubGItbG9hZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQzJTtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAyNSU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi5sYi1jYW5jZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbG9hZGluZy5naWYpIG5vLXJlcGVhdDsgfVxuXG4ubGItbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5sYi1jb250YWluZXIgPiAubmF2IHtcbiAgbGVmdDogMDsgfVxuXG4ubGItbmF2IGEge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQVBBQUFQLy8vd0FBQUNINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQ1JBRUFPdz09XCIpOyB9XG5cbi5sYi1wcmV2LCAubGItbmV4dCB7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubGItbmF2IGEubGItcHJldiB7XG4gIHdpZHRoOiAzNCU7XG4gIGxlZnQ6IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3ByZXYucG5nKSBsZWZ0IDQ4JSBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCk7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuLmxiLW5hdiBhLmxiLXByZXY6aG92ZXIge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmxiLW5hdiBhLmxiLW5leHQge1xuICB3aWR0aDogNjQlO1xuICByaWdodDogMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL25leHQucG5nKSByaWdodCA0OCUgbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG5cbi5sYi1uYXYgYS5sYi1uZXh0OmhvdmVyIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5sYi1kYXRhQ29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gICp6b29tOiAxO1xuICB3aWR0aDogMTAwJTtcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDRweDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfVxuXG4ubGItZGF0YUNvbnRhaW5lcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4ubGItZGF0YSB7XG4gIHBhZGRpbmc6IDAgNHB4O1xuICBjb2xvcjogI2NjYzsgfVxuXG4ubGItZGF0YSAubGItZGV0YWlscyB7XG4gIHdpZHRoOiA4NSU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4xZW07IH1cblxuLmxiLWRhdGEgLmxiLWNhcHRpb24ge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi5sYi1kYXRhIC5sYi1udW1iZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGxlZnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM5OTk5OTk7IH1cblxuLmxiLWRhdGEgLmxiLWNsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jbG9zZS5wbmcpIHRvcCByaWdodCBuby1yZXBlYXQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBvdXRsaW5lOiBub25lO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTcwKTtcbiAgb3BhY2l0eTogMC43O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOyB9XG5cbi5sYi1kYXRhIC5sYi1jbG9zZTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIFZhcmlhYmxlcyAqL1xuLyogR2VuZXJhbCBzdHlsZXMgKi9cbmJvZHkge1xuICBtaW4td2lkdGg6IDMyMHB4OyB9XG5cbm9sLCB1bCwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4jc2xpY2tfc2xpZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWNrLW5leHQ6YmVmb3JlLCAuc2xpY2stcHJldjpiZWZvcmUge1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKiBGb250IHN0eWxlcyAqL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYSwgbGkge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgY29sb3I6ICM0ZTE5NjU7IH1cblxuaDIge1xuICBjb2xvcjogIzIwMGEzNTtcbiAgZm9udC1zaXplOiAxLjNlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogIzRlMTk2NTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGNvbG9yOiAjNGUxOTY1OyB9XG5cbnAsIHRhYmxlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMTAwO1xuICBmb250LXNpemU6IC44NWVtO1xuICBjb2xvcjogIzRlMTk2NTsgfVxuXG5hIHtcbiAgY29sb3I6ICM0ZTE5NjU7IH1cblxudGFibGUge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbnRkIHtcbiAgcGFkZGluZzogNXB4OyB9XG5cbi8qICBMaWdodGJveCBJbWFnZSBQYXRoICovXG5ib2R5OmFmdGVyIHtcbiAgY29udGVudDogdXJsKC9hc3NldHMvaW1hZ2VzL2Nsb3NlLnBuZykgdXJsKC9hc3NldHMvaW1hZ2VzL2xvYWRpbmcuZ2lmKSB1cmwoL2Fzc2V0cy9pbWFnZXMvcHJldi5wbmcpIHVybCgvYXNzZXRzL2ltYWdlcy9uZXh0LnBuZyk7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmxiLW5hdiBhLmxiLXByZXYge1xuICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvcHJldi5wbmcpIGxlZnQgNDglIG5vLXJlcGVhdDsgfVxuXG4ubGItbmF2IGEubGItbmV4dCB7XG4gIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9uZXh0LnBuZykgcmlnaHQgNDglIG5vLXJlcGVhdDsgfVxuXG4ubGItZGF0YSAubGItY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvY2xvc2UucG5nKSB0b3AgcmlnaHQgbm8tcmVwZWF0OyB9XG5cbi8qIE1hcCBTY3JvbGxpbmcgKi9cbi5tYXAgLnNjcm9sbG9mZiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIEJ1dHRvbiBTdHlsZXMgKi9cbi5wdXJwbGUtYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRlMTk2NTtcbiAgcGFkZGluZzogN3B4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNXMgZWFzZTtcbiAgZm9udC1zaXplOiAuOWVtOyB9XG5cbi5wdXJwbGUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMGEzNTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNXMgZWFzZTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmdlbmVyaWMge1xuICBwYWRkaW5nOiAyZW0gMWVtOyB9XG5cbi5mLWRyb3Bkb3duIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAuNWVtIDFlbSAxLjVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRlMTk2NTsgfVxuICAuZi1kcm9wZG93biBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZi1kcm9wZG93biBsaSBhIHtcbiAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDAuODVlbSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4MTY5OTc7IH1cbiAgLmYtZHJvcGRvd24gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MTY5OTcgIWltcG9ydGFudDsgfVxuXG4vKiBIZWFkZXIgKi9cbmhlYWRlciB7XG4gIHBhZGRpbmc6IC41ZW0gMDsgfVxuICBoZWFkZXIgLm1haW5fbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBoZWFkZXIgLm1haW5fbmF2IHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogLjVlbTsgfVxuICAgICAgaGVhZGVyIC5tYWluX25hdiB1bCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICM0ZTE5NjU7XG4gICAgICAgIGZvbnQtc2l6ZTogLjhlbTsgfVxuICAgIGhlYWRlciAubWFpbl9uYXYgdWwgbGkubGFzdCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgaGVhZGVyIC5uYXYge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIGhlYWRlciAuZW5xdWlyZSB7XG4gICAgcGFkZGluZzogMy41ZW0gMCAxZW07IH1cbiAgaGVhZGVyIC5sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDI4MHB4OyB9XG5cbmhlYWRlciAjbXktbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaGVhZGVyIC5tb2JpbGVfbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDFlbTtcbiAgdG9wOiAxZW07IH1cbiAgaGVhZGVyIC5tb2JpbGVfbWVudSBpbWcge1xuICAgIG1heC13aWR0aDogMzVweDtcbiAgICBtYXgtaGVpZ2h0OiAzNXB4OyB9XG5cbi5tYXN0aGVhZCB7XG4gIHBhZGRpbmc6IDJlbSAwOyB9XG4gIC5tYXN0aGVhZCBoMiB7XG4gICAgZm9udC1zaXplOiAyLjZlbTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubWFzdGhlYWQgaDEge1xuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tdG9wOiAtMWVtO1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMTAwOyB9XG5cbi5wLWJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAwYTM1O1xuICBwYWRkaW5nOiAuNWVtO1xuICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UgYWxsOyB9XG4gIC5wLWJhY2sgaDMsIC5wLWJhY2sgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gICAgZm9udC1zaXplOiAxZW07IH1cblxuLnAtYmFjazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZTE5NjU7XG4gIHRyYW5zaXRpb246IDAuNXMgZWFzZSBhbGw7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5zZWN0aW9uIHtcbiAgcGFkZGluZzogLjVlbSAwOyB9XG5cbiNjb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvc3dpcmxzLnBuZykgbm8tcmVwZWF0O1xuICBwYWRkaW5nOiAxZW0gMCAyZW07IH1cblxuLmJsb2NrLWNhcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc4LCAyNSwgMTAxLCAwLjcpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IC0zLjVlbTtcbiAgcGFkZGluZzogMTVweCAwIDE1cHggMTBweDtcbiAgdHJhbnNpdGlvbjogMC41cyBlYXNlIGFsbDsgfVxuICAuYmxvY2stY2FwdGlvbiBoMyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gICAgZm9udC1zaXplOiAxLjFlbTsgfVxuXG4uYmxvY2stY2FwdGlvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzgsIDI1LCAxMDEsIDAuOTkpO1xuICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UgYWxsOyB9XG5cbi5ncmlkLWl0ZW0ge1xuICB3aWR0aDogNDglO1xuICBtYXJnaW46IDElOyB9XG5cbi8qSW5uZXIgcGFnZXMqL1xuLm1hc3QtYmFubmVyIHtcbiAgcGFkZGluZzogMmVtIDA7XG4gIG1heC13aWR0aDogMTYwMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICAubWFzdC1iYW5uZXIgaDEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5taWRkbGUtaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLnJldmlldywgLmdyZXktciB7XG4gIHBhZGRpbmc6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5yZXZpZXcgcCwgLmdyZXktciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ib3R0b20taW1hZ2Uge1xuICBtYXJnaW4tdG9wOiAyZW07IH1cblxuLmdyZXktciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI2LCAyMjYsIDIyNiwgMC41KTsgfVxuXG4uZ2FsbGVyeSB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuXG4ubWVudS1lbmQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtZW5kIHAge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLypDb250YWN0Ki9cbi5tYXAgaWZyYW1lIHtcbiAgbWF4LWhlaWdodDogMTUwcHg7IH1cblxuLmluZm8tYmxvY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGUxOTY1O1xuICBwYWRkaW5nOiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAuaW5mby1ibG9jayBwIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IC44ZW07IH1cbiAgLmluZm8tYmxvY2sgaDQsIC5pbmZvLWJsb2NrIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5pbmZvLWJsb2NrIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbmZvcm0ge1xuICBwYWRkaW5nOiAxZW0gMDsgfVxuXG4uaG9uZXlfY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5mb3JtIGlucHV0W3R5cGU9dGV4dF0ge1xuICBoZWlnaHQ6IDQwcHg7IH1cblxuZm9ybSBpbnB1dFt0eXBlPXRleHRdLCBmb3JtIHRleHRhcmVhIHtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IC44NWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMC43KTtcbiAgbWFyZ2luLWJvdHRvbTogLjVlbTsgfVxuXG5mb3JtIHRleHRhcmVhIHtcbiAgbWF4LWhlaWdodDogMTUwcHg7IH1cblxuZm9ybSA6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM0ZTE5NjU7IH1cblxuZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBiYWNrZ3JvdW5kOiAjNGUxOTY1O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNXMgZWFzZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjAwYTM1O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNXMgZWFzZTsgfVxuXG4vKiBGb290ZXIgKi9cbmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMyMDBhMzU7XG4gIHBhZGRpbmc6IDJlbSAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMTAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuICBmb290ZXIgLnR3aXN0IHtcbiAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgIG1heC1oZWlnaHQ6IDIzcHg7IH1cbiAgZm9vdGVyIGxpLCBmb290ZXIgYSwgZm9vdGVyIGg2LCBmb290ZXIgcCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7IH1cbiAgZm9vdGVyIGxpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGZvb3RlciAuYy1kZXRhaWxzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTsgfVxuICAgIGZvb3RlciAuYy1kZXRhaWxzIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM4MTY5OTc7IH1cbiAgZm9vdGVyIC5zb2NpYWxfbWVkaWEge1xuICAgIHBhZGRpbmc6IDFlbSAwOyB9XG4gICAgZm9vdGVyIC5zb2NpYWxfbWVkaWEgaW1nIHtcbiAgICAgIG1heC13aWR0aDogNDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW46IDAgLjVlbTsgfVxuICBmb290ZXIgYSBpbWc6aG92ZXIge1xuICAgIG9wYWNpdHk6IC44OyB9XG4gIGZvb3RlciBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gYSB7XG4gICAgY29sb3I6ICNDM0I3Q0U7XG4gICAgZm9udC1zaXplOiAuODNlbTsgfVxuICBmb290ZXIgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIGZvb3RlciAuYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE5MDcyYTtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgcGFkZGluZzogMWVtIDA7IH1cbiAgICBmb290ZXIgLmJvdHRvbS1iYXIgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgY29sb3I6ICNDM0I3Q0U7IH1cbiAgICBmb290ZXIgLmJvdHRvbS1iYXIgYSB7XG4gICAgICBjb2xvcjogI0MzQjdDRTsgfVxuICAgIGZvb3RlciAuYm90dG9tLWJhciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIGZvb3RlciAucHVycGxlIHtcbiAgICBjb2xvcjogIzgxNjk5NzsgfVxuICBmb290ZXIgLnRhIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkge1xuICAuYm9va2luZyB7XG4gICAgcGFkZGluZzogMWVtIDA7IH1cbiAgLnRkIHtcbiAgICBmb250LXNpemU6IDAuOGVtOyB9XG4gIC50d2l0dGVyLWZlZWQge1xuICAgIG1hcmdpbi10b3A6IDJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjZlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjRlbTsgfVxuICAucC1iYWNrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAucC1iYWNrIGgzLCAucC1iYWNrIGEge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xZW07IH1cbiAgI2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMWVtIDAuNWVtIDJlbTsgfVxuICAubWFzdGhlYWQge1xuICAgIHBhZGRpbmc6IDVlbSAwOyB9XG4gICAgLm1hc3RoZWFkIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogNC4yZW07IH1cbiAgICAubWFzdGhlYWQgaDEge1xuICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0xZW07XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAubG9nbyB7XG4gICAgbWF4LXdpZHRoOiAyNTBweDsgfVxuICBoZWFkZXIgLm1haW5fbmF2IHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNDVlbTsgfVxuICAgIGhlYWRlciAubWFpbl9uYXYgdWwgbGkgYSB7XG4gICAgICBjb2xvcjogIzRlMTk2NTtcbiAgICAgIGZvbnQtc2l6ZTogLjg1ZW07IH1cbiAgICBoZWFkZXIgLm1haW5fbmF2IHVsIGxpIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM4MTY5OTc7IH1cbiAgLmdyaWQtaXRlbSB7XG4gICAgd2lkdGg6IDMyJTtcbiAgICBtYXJnaW46IC41JTsgfVxuICAuaW50cm8ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE5cHg7IH1cbiAgc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMWVtIDA7IH1cbiAgLypJbm5lciovXG4gIC5tYXN0LWJhbm5lciB7XG4gICAgcGFkZGluZzogM2VtIDA7IH1cbiAgLnJldmlldywgLmdyZXktciB7XG4gICAgcGFkZGluZzogMS41ZW07IH1cbiAgLypDb250YWN0Ki9cbiAgLm1hcCBpZnJhbWUge1xuICAgIG1pbi1oZWlnaHQ6IDI2MHB4OyB9XG4gIC5pbmZvLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAxLjVlbSAyZW07XG4gICAgbWFyZ2luOiAyZW0gMDsgfVxuICAgIC5pbmZvLWJsb2NrIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBmb290ZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAyLjRlbTsgfVxuICAubWFzdGhlYWQge1xuICAgIHBhZGRpbmc6IDVlbSAwIDZlbTsgfVxuICAgIC5tYXN0aGVhZCBoMiB7XG4gICAgICBmb250LXNpemU6IDZlbTsgfVxuICAgIC5tYXN0aGVhZCBoMSB7XG4gICAgICBmb250LXNpemU6IDJlbTsgfVxuICBoZWFkZXIge1xuICAgIHBhZGRpbmc6IC41ZW0gMDsgfVxuICAgIGhlYWRlciAubWFpbl9uYXYgdWwge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBoZWFkZXIgLm1haW5fbmF2IHVsIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuICAgICAgICBoZWFkZXIgLm1haW5fbmF2IHVsIGxpIGEge1xuICAgICAgICAgIGNvbG9yOiAjNGUxOTY1O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgaGVhZGVyIC5uYXYge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBoZWFkZXIgLmVucXVpcmUge1xuICAgICAgcGFkZGluZzogMmVtIDBlbTsgfVxuICAvKkNvbnRhY3QqL1xuICAubWFwIGlmcmFtZSB7XG4gICAgbWluLWhlaWdodDogMzUwcHg7IH0gfVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJy4uL2Z1bmN0aW9ucyc7XG4vL1xuLy8gRm91bmRhdGlvbiBWYXJpYWJsZXNcbi8vXG5cbi8vIERhdGEgYXR0cmlidXRlIG5hbWVzcGFjZVxuLy8gc3R5bGVzIGdldCBhcHBsaWVkIHRvIFtkYXRhLW15c2l0ZS1wbHVnaW5dLCBldGNcbiRuYW1lc3BhY2U6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250LXNpemUgaXMgc2V0IHRvIDEwMCUgb2YgdGhlIGJyb3dzZXIgc3R5bGUgc2hlZXQgKHVzdWFsbHkgMTZweClcbi8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggYnJvd3Nlci1iYXNlZCB0ZXh0IHpvb20gb3IgdXNlci1zZXQgZGVmYXVsdHMuXG5cbi8vIFNpbmNlIHRoZSB0eXBpY2FsIGRlZmF1bHQgYnJvd3NlciBmb250LXNpemUgaXMgMTZweCwgdGhhdCBtYWtlcyB0aGUgY2FsY3VsYXRpb24gZm9yIGdyaWQgc2l6ZS5cbi8vIElmIHlvdSB3YW50IHlvdXIgYmFzZSBmb250LXNpemUgdG8gYmUgZGlmZmVyZW50IGFuZCBub3QgaGF2ZSBpdCBhZmZlY3QgdGhlIGdyaWQgYnJlYWtwb2ludHMsXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxuJGJhc2UtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyAkYmFzZS1saW5lLWhlaWdodCBpcyAyNHB4IHdoaWxlICRiYXNlLWZvbnQtc2l6ZSBpcyAxNnB4XG4kYmFzZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vL1xuLy8gR2xvYmFsIEZvdW5kYXRpb24gTWl4aW5zXG4vL1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzLlxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6ICRnbG9iYWwtcmFkaXVzIHx8IDRweFxuQG1peGluIHJhZGl1cygkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XG4gIEBpZiAkcmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgZXF1YWwgc2lkZSBib3JkZXIgcmFkaXVzIG9uIGVsZW1lbnRzLlxuLy8gJHNpZGUgLSBPcHRpb25zOiBsZWZ0LCByaWdodCwgdG9wLCBib3R0b21cbkBtaXhpbiBzaWRlLXJhZGl1cygkc2lkZSwgJHJhZGl1czokZ2xvYmFsLXJhZGl1cykge1xuICBAaWYgKCRzaWRlID09IGxlZnQgb3IgJHNpZGUgPT0gcmlnaHQpIHtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC0jeyRzaWRlfS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLSN7JHNpZGV9LWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci0jeyRzaWRlfS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHdlIGhhdmUgaW5zZXQgc2hhZG93cyBlZGdlcy5cbi8vICRhY3RpdmUgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuQG1peGluIGluc2V0LXNoYWRvdygkYWN0aXZlOnRydWUpIHtcbiAgYm94LXNoYWRvdzogJHNoaW55LWVkZ2Utc2l6ZSAkc2hpbnktZWRnZS1jb2xvciBpbnNldDtcblxuICBAaWYgJGFjdGl2ZSB7ICY6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvciBpbnNldDsgfSB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgdHJhbnNpdGlvbnMgdG8gZWxlbWVudHNcbi8vICRwcm9wZXJ0eSAtIERlZmF1bHQ6IGFsbCwgT3B0aW9uczogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy10cmFuc2l0aW9ucy8jYW5pbWF0YWJsZS1wcm9wZXJ0aWVzXG4vLyAkc3BlZWQgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGVhc2UgLSBEZWZhdWx0OiBlYXNlLW91dCwgT3B0aW9uczogaHR0cDovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy90L3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uL1xuQG1peGluIHNpbmdsZS10cmFuc2l0aW9uKCRwcm9wZXJ0eTphbGwsICRzcGVlZDozMDBtcywgJGVhc2U6ZWFzZS1vdXQpIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcHJvcGVydHksICRzcGVlZCwgJGVhc2UpO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIHNpbmdsZSBvciBtdWx0aXBsZSB0cmFuc2l0aW9ucyB0byBlbGVtZW50c1xuLy8gJHByb3BlcnR5IC0gRGVmYXVsdDogYWxsLCBPcHRpb25zOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRyYW5zaXRpb25zLyNhbmltYXRhYmxlLXByb3BlcnRpZXNcbi8vICRzcGVlZCAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZWFzZSAtIERlZmF1bHQ6IGVhc2Utb3V0LCBPcHRpb25zOiBodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL3QvdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24vXG4vLyAkZGVsYXkgLSBEZWZhdWx0OiBudWxsICgwcylcbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0eTphbGwsICRzcGVlZDozMDBtcywgJGVhc2U6ZWFzZS1vdXQsICRkZWxheTpudWxsKSB7XG4gICR0cmFuc2l0aW9uOiBub25lO1xuXG4gIEBpZiBsZW5ndGgoJHByb3BlcnR5KSA+IDEge1xuXG4gICAgQGVhY2ggJHRyYW5zaXRpb25fbGlzdCBpbiAkcHJvcGVydHkge1xuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSB7XG5cbiAgICAgICAgQGlmICRpID09IDEge1xuICAgICAgICAgICRfcHJvcGVydHk6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpID4gMSB7XG4gICAgICAgICAgQGlmICRpID09IDIge1xuICAgICAgICAgICAgJF9zcGVlZDogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfc3BlZWQ6ICRzcGVlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkgPiAyIHtcbiAgICAgICAgICBAaWYgJGkgPT0gMyB7XG4gICAgICAgICAgICAkX2Vhc2U6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX2Vhc2U6ICRlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSA+IDMge1xuICAgICAgICAgIEBpZiAkaSA9PSA0IHtcbiAgICAgICAgICAgICRfZGVsYXk6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX2RlbGF5OiAkZGVsYXk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICR0cmFuc2l0aW9uID09IG5vbmUge1xuICAgICAgICAkdHJhbnNpdGlvbjogJF9wcm9wZXJ0eSAkX3NwZWVkICRfZWFzZSAkX2RlbGF5O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbiwgJF9wcm9wZXJ0eSAkX3NwZWVkICRfZWFzZSAkX2RlbGF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAZWFjaCAkcHJvcCBpbiAkcHJvcGVydHkge1xuXG4gICAgICBAaWYgJHRyYW5zaXRpb24gPT0gbm9uZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkcHJvcCAkc3BlZWQgJGVhc2UgJGRlbGF5O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbiwgJHByb3AgJHNwZWVkICRlYXNlICRkZWxheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBib3gtc2l6aW5nIGFjcm9zcyBicm93c2VyIHByZWZpeGVzXG5AbWl4aW4gYm94LXNpemluZygkdHlwZTpib3JkZXItYm94KSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHR5cGU7IC8vIEFuZHJvaWQgPCAyLjMsIGlPUyA8IDRcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gRmlyZWZveCA8IDI5XG4gICAgICAgICAgYm94LXNpemluZzogJHR5cGU7IC8vIENocm9tZSwgSUUgOCssIE9wZXJhLCBTYWZhcmkgNS4xXG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgaXNvc2NlbGVzIHRyaWFuZ2xlc1xuLy8gJHRyaWFuZ2xlLXNpemUgLSBVc2VkIHRvIHNldCBib3JkZXItc2l6ZS4gTm8gZGVmYXVsdCwgc2V0IGEgcHggb3IgZW0gc2l6ZS5cbi8vICR0cmlhbmdsZS1jb2xvciAtIFVzZWQgdG8gc2V0IGJvcmRlci1jb2xvciB3aGljaCBtYWtlcyB1cCB0cmlhbmdsZS4gTm8gZGVmYXVsdFxuLy8gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIFVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIGRpcmVjdGlvbiB0cmlhbmdsZSBwb2ludHMuIE9wdGlvbnM6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxuQG1peGluIGNzcy10cmlhbmdsZSgkdHJpYW5nbGUtc2l6ZSwgJHRyaWFuZ2xlLWNvbG9yLCAkdHJpYW5nbGUtZGlyZWN0aW9uKSB7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdG9wKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGJvdHRvbSkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgaWNvbiB3aXRoIHRocmVlIGxpbmVzIGFrYSB0aGUgaGFtYnVyZ2VyIGljb24sIHRoZSBtZW51LWljb24gb3IgdGhlIG5hdmljb25cbi8vICR3aWR0aCAtIFdpZHRoIG9mIGhhbWJ1cmdlciBpY29uIGluIHJlbVxuLy8gJGxlZnQgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIGhvcml6b250YWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cbi8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXG4vLyAkdGhpY2tuZXNzIC0gdGhpY2tuZXNzIG9mIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcbi8vICRnYXAgLSBzcGFjaW5nIGJldHdlZW4gdGhlIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcbi8vICRjb2xvciAtIGljb24gY29sb3Jcbi8vICRob3Zlci1jb2xvciAtIGljb24gY29sb3IgZHVyaW5nIGhvdmVyXG4vLyAkb2ZmY2FudmFzIC0gU2V0IHRvIHRydWUgb2YgQGluY2x1ZGUgaW4gb2ZmY2FudmFzXG5AbWl4aW4gaGFtYnVyZ2VyKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yLCAkb2ZmY2FudmFzKSB7XG4gIHNwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBAaWYgJG9mZmNhbnZhcyB7XG4gICAgICBAaWYgJHRvcCB7XG4gICAgICAgIHRvcDogJHRvcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJHdpZHRoLzIpO1xuICAgICAgfVxuICAgICAgQGlmICRsZWZ0IHtcbiAgICAgICAgbGVmdDogJGxlZnQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6ICgkdGFiYmFyLW1lbnUtaWNvbi13aWR0aCAtICR3aWR0aCkvMjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLXRvcDogLSgkd2lkdGgvMik7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCAkdGhpY2tuZXNzICRjb2xvcixcbiAgICAgIDAgJGdhcCArICR0aGlja25lc3MgMCAkdGhpY2tuZXNzICRjb2xvcixcbiAgICAgIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGNvbG9yO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH1cbiAgc3Bhbjpob3ZlcjphZnRlciB7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gZG8gY2xlYXIgZmxvYXRzXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmJlZm9yZSwgJjphZnRlciB7IGNvbnRlbnQ6IFwiIFwiOyBkaXNwbGF5OiB0YWJsZTsgfVxuICAmOmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBhIGdsb3dpbmcgZWZmZWN0IHRvIGJsb2NrIGVsZW1lbnRzXG4vLyAkc2VsZWN0b3IgLSBVc2VkIGZvciBzZWxlY3RvciBzdGF0ZS4gRGVmYXVsdDogZm9jdXMsIE9wdGlvbnM6IGhvdmVyLCBhY3RpdmUsIHZpc2l0ZWRcbi8vICRmYWRlLXRpbWUgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGdsb3dpbmctZWZmZWN0LWNvbG9yIC0gRGVmYXVsdDogZmFkZS1vdXQoJHByaW1hcnktY29sb3IsIC4yNSlcbkBtaXhpbiBibG9jay1nbG93aW5nLWVmZmVjdCgkc2VsZWN0b3I6Zm9jdXMsICRmYWRlLXRpbWU6MzAwbXMsICRnbG93aW5nLWVmZmVjdC1jb2xvcjpmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KSkge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRmYWRlLXRpbWUsIGJvcmRlci1jb2xvciAkZmFkZS10aW1lIGVhc2UtaW4tb3V0O1xuXG4gICY6I3skc2VsZWN0b3J9IHtcbiAgICBib3JkZXItY29sb3I6ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gdHJhbnNsYXRlIGVsZW1lbnRzIGluIDJEXG4vLyAkaG9yaXpvbnRhbDogRGVmYXVsdDogMFxuLy8gJHZlcnRpY2FsOiBEZWZhdWx0OiAwXG5AbWl4aW4gdHJhbnNsYXRlMmQoJGhvcml6b250YWw6MCwgJHZlcnRpY2FsOjApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGhvcml6b250YWwsICR2ZXJ0aWNhbClcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgYWNjZXNzaWJsZS5cbi8vIEBzZWUgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBUdXJucyBvZmYgdGhlIGVsZW1lbnQtaW52aXNpYmxlIGVmZmVjdC5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4kd2hpdGUgICAgICAgICA6ICNGRkZGRkYgIWRlZmF1bHQ7XG4kZ2hvc3QgICAgICAgICA6ICNGQUZBRkEgIWRlZmF1bHQ7XG4kc25vdyAgICAgICAgICA6ICNGOUY5RjkgIWRlZmF1bHQ7XG4kdmFwb3IgICAgICAgICA6ICNGNkY2RjYgIWRlZmF1bHQ7XG4kd2hpdGUtc21va2UgICA6ICNGNUY1RjUgIWRlZmF1bHQ7XG4kc2lsdmVyICAgICAgICA6ICNFRkVGRUYgIWRlZmF1bHQ7XG4kc21va2UgICAgICAgICA6ICNFRUVFRUUgIWRlZmF1bHQ7XG4kZ2FpbnNib3JvICAgICA6ICNEREREREQgIWRlZmF1bHQ7XG4kaXJvbiAgICAgICAgICA6ICNDQ0NDQ0MgIWRlZmF1bHQ7XG4kYmFzZSAgICAgICAgICA6ICNBQUFBQUEgIWRlZmF1bHQ7XG4kYWx1bWludW0gICAgICA6ICM5OTk5OTkgIWRlZmF1bHQ7XG4kanVtYm8gICAgICAgICA6ICM4ODg4ODggIWRlZmF1bHQ7XG4kbW9uc29vbiAgICAgICA6ICM3Nzc3NzcgIWRlZmF1bHQ7XG4kc3RlZWwgICAgICAgICA6ICM2NjY2NjYgIWRlZmF1bHQ7XG4kY2hhcmNvYWwgICAgICA6ICM1NTU1NTUgIWRlZmF1bHQ7XG4kdHVhdGFyYSAgICAgICA6ICM0NDQ0NDQgIWRlZmF1bHQ7XG4kb2lsICAgICAgICAgICA6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kamV0ICAgICAgICAgICA6ICMyMjIyMjIgIWRlZmF1bHQ7XG4kYmxhY2sgICAgICAgICA6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBhcyBkZWZhdWx0IGNvbG9ycyB0aHJvdWdob3V0XG4kcHJpbWFyeS1jb2xvcjogIzAwOENCQSAhZGVmYXVsdDsgICAvLyBib25kaS1ibHVlXG4kc2Vjb25kYXJ5LWNvbG9yOiAjZTdlN2U3ICFkZWZhdWx0OyAvLyB3aGl0ZS1saWxhY1xuJGFsZXJ0LWNvbG9yOiAjZjA0MTI0ICFkZWZhdWx0OyAgICAgLy8gY2lubmFiYXJcbiRzdWNjZXNzLWNvbG9yOiAjNDNBQzZBICFkZWZhdWx0OyAgIC8vIHNlYS1ncmVlblxuJHdhcm5pbmctY29sb3I6ICNmMDhhMjQgIWRlZmF1bHQ7ICAgLy8gY2Fycm90XG4kaW5mby1jb2xvcjogI2EwZDNlOCAhZGVmYXVsdDsgICAgICAvLyBjb3JuZmxvd2VyXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHN0YWNrc1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCBDYW1icmlhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCB3ZWlnaHRzXG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBnbG9iYWwgc3R5bGVzXG4kYm9keS1iZzogI2ZmZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtY29sb3I6ICMyMjIgIWRlZmF1bHQ7XG4kYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYm9keS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRib2R5LWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBmb250LXNtb290aGluZ1xuJGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBkaXJlY3Rpb24gc2V0dGluZ3NcbiR0ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuJGRlZmF1bHQtZmxvYXQ6IGxlZnQgIWRlZmF1bHQ7XG4kb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodCAhZGVmYXVsdDtcbkBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gbHRyIHtcbiAgJGRlZmF1bHQtZmxvYXQ6IGxlZnQ7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xufSBAZWxzZSB7XG4gICRkZWZhdWx0LWZsb2F0OiByaWdodDtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogbGVmdDtcbn1cblxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2Ugc3VyZSBib3JkZXIgcmFkaXVzIG1hdGNoZXMgdW5sZXNzIHdlIHdhbnQgaXQgZGlmZmVyZW50LlxuJGdsb2JhbC1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRnbG9iYWwtcm91bmRlZDogMTAwMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBpbnNldCBzaGFkb3cgc2hpbnkgZWRnZXMgYW5kIGRlcHJlc3Npb25zLlxuJHNoaW55LWVkZ2Utc2l6ZTogMCAxcHggMCAhZGVmYXVsdDtcbiRzaGlueS1lZGdlLWNvbG9yOiByZ2JhKCNmZmYsIC41KSAhZGVmYXVsdDtcbiRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvcjogcmdiYSgjMDAwLCAuMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgQ1NTIGNsYXNzZXMgY29tZSB0aHJvdWdoIGluIHRoZSBnZW0gZmlsZXMuXG4kaW5jbHVkZS1odG1sLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1wcmludC1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1qcy1tZXRhLXN0eWxlczogdHJ1ZSAhZGVmYXVsdDsgLy8gV2FybmluZyEgTWV0YSBzdHlsZXMgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cbiRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJGNvbHVtbi1ndXR0ZXI6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcblxuLy8gTWVkaWEgUXVlcnkgUmFuZ2VzXG4kc21hbGwtYnJlYWtwb2ludDogIGVtLWNhbGMoNjQwKSAgIWRlZmF1bHQ7XG4kbWVkaXVtLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTAyNCkgIWRlZmF1bHQ7XG4kbGFyZ2UtYnJlYWtwb2ludDogIGVtLWNhbGMoMTQ0MCkgIWRlZmF1bHQ7XG4keGxhcmdlLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTkyMCkgIWRlZmF1bHQ7XG5cbiRzbWFsbC1yYW5nZTogICAoMCwgJHNtYWxsLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJG1lZGl1bS1yYW5nZTogICgkc21hbGwtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkbWVkaXVtLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJGxhcmdlLXJhbmdlOiAgICgkbWVkaXVtLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCAkbGFyZ2UtYnJlYWtwb2ludCkgICFkZWZhdWx0O1xuJHhsYXJnZS1yYW5nZTogICgkbGFyZ2UtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkeGxhcmdlLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJHh4bGFyZ2UtcmFuZ2U6ICgkeGxhcmdlLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCBlbS1jYWxjKDk5OTk5OTk5KSkgIWRlZmF1bHQ7XG5cbiRzY3JlZW46IFwib25seSBzY3JlZW5cIiAhZGVmYXVsdDtcblxuJGxhbmRzY2FwZTogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIiAhZGVmYXVsdDtcbiRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiICFkZWZhdWx0O1xuXG4kc21hbGwtdXA6ICRzY3JlZW4gIWRlZmF1bHQ7XG4kc21hbGwtb25seTogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKCRzbWFsbC1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4kbWVkaXVtLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4kbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4kbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiR4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiR4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHh4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4keHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRyZXRpbmE6IChcbiAgXCIjeyRzY3JlZW59IGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSlcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSlcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KVwiXG4pO1xuXG4vLyBMZWdhY3lcbiRzbWFsbDogJHNtYWxsLXVwO1xuJG1lZGl1bTogJG1lZGl1bS11cDtcbiRsYXJnZTogJGxhcmdlLXVwO1xuXG5cbi8vV2UgdXNlIHRoaXMgYXMgY3Vyc29ycyB2YWx1ZXMgZm9yIGVuYWJsaW5nIHRoZSBvcHRpb24gb2YgaGF2aW5nIGN1c3RvbSBjdXJzb3JzIGluIHRoZSB3aG9sZSBzaXRlJ3Mgc3R5bGVzaGVldFxuJGN1cnNvci1hdXRvLXZhbHVlOiBhdXRvICFkZWZhdWx0O1xuJGN1cnNvci1jcm9zc2hhaXItdmFsdWU6IGNyb3NzaGFpciAhZGVmYXVsdDtcbiRjdXJzb3ItZGVmYXVsdC12YWx1ZTogZGVmYXVsdCAhZGVmYXVsdDtcbiRjdXJzb3ItZGlzYWJsZWQtdmFsdWU6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuJGN1cnNvci1wb2ludGVyLXZhbHVlOiBwb2ludGVyICFkZWZhdWx0O1xuJGN1cnNvci1oZWxwLXZhbHVlOiBoZWxwICFkZWZhdWx0O1xuJGN1cnNvci10ZXh0LXZhbHVlOiB0ZXh0ICFkZWZhdWx0O1xuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJnbG9iYWxcIikge1xuXG4gIC8vIE1ldGEgc3R5bGVzIGFyZSBhIGRlcGVuZGFuY3kgb2YgdGhlIEphdmFzY3JpcHQuXG4gIC8vIFVzZWQgdG8gcHJvdmlkZSBtZWRpYSBxdWVyeSB2YWx1ZXMgZm9yIGphdmFzY3JpcHQgY29tcG9uZW50cy5cbiAgLy8gRm9yd2FyZCBzbGFzaCBwbGFjZWQgYXJvdW5kIGV2ZXJ5dGhpbmcgdG8gY29udmluY2UgUGhhbnRvbUpTIHRvIHJlYWQgdGhlIHZhbHVlLlxuXG4gIEBpZiAkaW5jbHVkZS1qcy1tZXRhLXN0eWxlcyB7XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tdmVyc2lvbiB7XG4gICAgICBmb250LWZhbWlseTogXCIvNS41LjMvXCI7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHNtYWxsLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkc21hbGwtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbWVkaXVtLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0tb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Utb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4bGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHh4bGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1kYXRhLWF0dHJpYnV0ZS1uYW1lc3BhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6ICN7JG5hbWVzcGFjZX07XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlcyB7XG5cbiAgICAvLyBNdXN0IGJlIDEwMCUgZm9yIG9mZiBjYW52YXMgdG8gd29ya1xuICAgIGh0bWwsIGJvZHkgeyBoZWlnaHQ6IDEwMCU7IH1cblxuICAgIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgfVxuXG4gICAgaHRtbCxcbiAgICBib2R5IHsgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7IH1cblxuICAgIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgICBib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6ICRib2R5LWJnO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItYXV0by12YWx1ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc3R5bGU6ICRib2R5LWZvbnQtc3R5bGU7XG4gICAgICBmb250LXdlaWdodDogJGJvZHktZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7IC8vIFNldCB0byAkYmFzZS1saW5lLWhlaWdodCB0byB0YWtlIG9uIGJyb3dzZXIgZGVmYXVsdCBvZiAxNTAlXG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICBhOmhvdmVyIHsgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7IH1cblxuICAgIC8vIEdyaWQgRGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgfVxuXG4gICAgaW1nIHsgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG4gICAgI21hcF9jYW52YXMsXG4gICAgLm1hcF9jYW52YXMsXG4gICAgLm1xYS1kaXNwbGF5IHtcbiAgICAgIGltZyxcbiAgICAgIGVtYmVkLFxuICAgICAgb2JqZWN0IHsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWlzY2VsbGFuZW91cyB1c2VmdWwgSFRNTCBjbGFzc2VzXG4gICAgLmxlZnQgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuY2xlYXJmaXggeyBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4gICAgLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVyc1xuICAgIC5oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICAgIC5pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuICAgIC8vIEZvbnQgc21vb3RoaW5nXG4gICAgLy8gQW50aWFsaWFzZWQgZm9udCBzbW9vdGhpbmcgd29ya3MgYmVzdCBmb3IgbGlnaHQgdGV4dCBvbiBhIGRhcmsgYmFja2dyb3VuZC5cbiAgICAvLyBBcHBseSB0byBzaW5nbGUgZWxlbWVudHMgaW5zdGVhZCBvZiBnbG9iYWxseSB0byBib2R5LlxuICAgIC8vIE5vdGUgdGhpcyBvbmx5IGFwcGxpZXMgdG8gd2Via2l0LWJhc2VkIGRlc2t0b3AgYnJvd3NlcnMgYW5kIEZpcmVmb3ggMjUgKGFuZCBsYXRlcikgb24gdGhlIE1hYy5cbiAgICAuYW50aWFsaWFzZWQgeyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vXG4gICAgLy8gR2xvYmFsIHJlc2V0cyBmb3IgZm9ybXNcbiAgICAvL1xuXG4gICAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gICAgdGV4dGFyZWEgeyBoZWlnaHQ6IGF1dG87IG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuICAgIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICAgIHNlbGVjdCB7IHdpZHRoOiAxMDAlOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcbiRpbmNsdWRlLXhsLWh0bWwtZ3JpZC1jbGFzc2VzOiBmYWxzZSAhZGVmYXVsdDtcblxuJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCkgIWRlZmF1bHQ7XG4kdG90YWwtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbiRsYXN0LWNoaWxkLWZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0O1xuXG4vL1xuLy8gR3JpZCBGdW5jdGlvbnNcbi8vXG5cbi8vIERlcHJlY2F0ZWQ6IFdlJ2xsIGRyb3Agc3VwcG9ydCBmb3IgdGhpcyBpbiA1LjEsIHVzZSBncmlkLWNhbGMoKVxuQGZ1bmN0aW9uIGdyaWRDYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpIHtcbiAgQHdhcm4gXCJncmlkQ2FsYygpIGlzIGRlcHJlY2F0ZWQsIHVzZSBncmlkLWNhbGMoKVwiO1xuICBAcmV0dXJuIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKTtcbn1cblxuLy8gQEZVTkNUSU9OXG4vLyAkY29sTnVtYmVyIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuLy8gJHRvdGFsQ29sdW1ucyAtIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbkBmdW5jdGlvbiBncmlkLWNhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xuICAkcmVzdWx0OiBwZXJjZW50YWdlKCgkY29sTnVtYmVyIC8gJHRvdGFsQ29sdW1ucykpO1xuICBAaWYgJHJlc3VsdCA9PSAwJSB7ICRyZXN1bHQ6IDA7IH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gRm9yIGNyZWF0aW5nIGNvbnRhaW5lciwgbmVzdGVkLCBhbmQgY29sbGFwc2VkIHJvd3MuXG4vL1xuLy9cbi8vICRiZWhhdmlvciAtIEFueSBzcGVjaWFsIGJlaGF2aW9yIGZvciB0aGlzIHJvdz8gRGVmYXVsdDogZmFsc2UuIE9wdGlvbnM6IG5lc3QsIGNvbGxhcHNlLCBuZXN0LWNvbGxhcHNlLCBmYWxzZS5cbkBtaXhpbiBncmlkLXJvdygkYmVoYXZpb3I6IGZhbHNlKSB7XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KG5lc3QpOyB0byBpbmNsdWRlIGEgbmVzdGVkIHJvd1xuICBAaWYgJGJlaGF2aW9yID09IG5lc3Qge1xuICAgIG1hcmdpbjogMCAoLSgkY29sdW1uLWd1dHRlci8yKSk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KGNvbGxhcHNlKTsgdG8gY29sbGFwc2VkIGEgY29udGFpbmVyIHJvdyBtYXJnaW5zXG4gIEBlbHNlIGlmICRiZWhhdmlvciA9PSBjb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0LWNvbGxhcHNlKTsgdG8gY29sbGFwc2Ugb3V0ZXIgbWFyZ2lucyBvbiBhIG5lc3RlZCByb3dcbiAgQGVsc2UgaWYgJGJlaGF2aW9yID09IG5lc3QtY29sbGFwc2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3c7IHRvIHVzZSBhIGNvbnRhaW5lciByb3dcbiAgQGVsc2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyZml4IGZvciBhbGwgcm93c1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4vLyBDcmVhdGVzIGEgY29sdW1uLCBzaG91bGQgYmUgdXNlZCBpbnNpZGUgb2YgYSBtZWRpYSBxdWVyeSB0byBjb250cm9sIGxheW91dHNcbi8vXG4vLyAkY29sdW1ucyAtIFRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGlzIHNob3VsZCBiZVxuLy8gJGxhc3QtY29sdW1uIC0gSXMgdGhpcyB0aGUgbGFzdCBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJGNlbnRlciAtIENlbnRlciB0aGVzZSBjb2x1bW5zPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRvZmZzZXQgLSAjIG9mIGNvbHVtbnMgdG8gb2Zmc2V0LiBEZWZhdWx0OiBmYWxzZS5cbi8vICRwdXNoIC0gIyBvZiBjb2x1bW5zIHRvIHB1c2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHB1bGwgLSAjIG9mIGNvbHVtbnMgdG8gcHVsbC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkY29sbGFwc2UgLSBHZXQgcmlkIG9mIGd1dHRlciBwYWRkaW5nIG9uIGNvbHVtbj8gRGVmYXVsdDogZmFsc2UuXG4vLyAkZmxvYXQgLSBTaG91bGQgdGhpcyBmbG9hdD8gRGVmYXVsdDogdHJ1ZS4gT3B0aW9uczogdHJ1ZSwgZmFsc2UsIGxlZnQsIHJpZ2h0LlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczpmYWxzZSxcbiAgJGxhc3QtY29sdW1uOmZhbHNlLFxuICAkY2VudGVyOmZhbHNlLFxuICAkb2Zmc2V0OmZhbHNlLFxuICAkcHVzaDpmYWxzZSxcbiAgJHB1bGw6ZmFsc2UsXG4gICRjb2xsYXBzZTpmYWxzZSxcbiAgJGZsb2F0OnRydWUsXG4gICRwb3NpdGlvbjpmYWxzZSkge1xuXG4gIC8vIElmIHBvc2l0aW9uZWQgZm9yIGRlZmF1bHQgLmNvbHVtbiwgaW5jbHVkZSByZWxhdGl2ZSBwb3NpdGlvblxuICAvLyBwdXNoIGFuZCBwdWxsIHJlcXVpcmUgcG9zaXRpb24gc2V0XG4gIEBpZiAkcG9zaXRpb24gb3IgJHB1c2ggb3IgJHB1bGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIElmIGNvbGxhcHNlZCwgZ2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZ1xuICBAaWYgJGNvbGxhcHNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC8vIEd1dHRlciBwYWRkaW5nIHdoZW5ldmVyIGEgY29sdW1uIGlzbid0IHNldCB0byBjb2xsYXBzZVxuICAvLyAodXNlICRjb2xsYXBzZTpudWxsIHRvIGRvIG5vdGhpbmcpXG4gIEBlbHNlIGlmICRjb2xsYXBzZSA9PSBmYWxzZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIC8vIElmIGEgY29sdW1uIG51bWJlciBpcyBnaXZlbiwgY2FsY3VsYXRlIHdpZHRoXG4gIEBpZiAkY29sdW1ucyB7XG4gICAgd2lkdGg6IGdyaWQtY2FsYygkY29sdW1ucywgJHRvdGFsLWNvbHVtbnMpO1xuXG4gICAgLy8gSWYgbGFzdCBjb2x1bW4sIGZsb2F0IG5hdHVyYWxseSBpbnN0ZWFkIG9mIHRvIHRoZSByaWdodFxuICAgIEBpZiAkbGFzdC1jb2x1bW4geyBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjsgfVxuICB9XG5cbiAgLy8gU291cmNlIE9yZGVyaW5nLCBhZGRzIGxlZnQvcmlnaHQgZGVwZW5kaW5nIG9uIHdoaWNoIHlvdSB1c2UuXG4gIEBpZiAkcHVzaCB7ICN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJHB1c2gsICR0b3RhbC1jb2x1bW5zKTsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bzsgfVxuICBAaWYgJHB1bGwgeyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBncmlkLWNhbGMoJHB1bGwsICR0b3RhbC1jb2x1bW5zKTsgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87IH1cblxuICBAaWYgJGZsb2F0IGFuZCAkbGFzdC1jb2x1bW4gPT0gZmFsc2Uge1xuICAgIEBpZiAkZmxvYXQgPT0gbGVmdCBvciAkZmxvYXQgPT0gdHJ1ZSB7IGZsb2F0OiAkZGVmYXVsdC1mbG9hdDsgfVxuICAgIEBlbHNlIGlmICRmbG9hdCA9PSByaWdodCB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gICAgQGVsc2UgeyBmbG9hdDogbm9uZTsgfVxuICB9XG5cbiAgLy8gSWYgY2VudGVyZWQsIGdldCByaWQgb2YgZmxvYXQgYW5kIGFkZCBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkY2VudGVyIHtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBJZiBvZmZzZXQsIGNhbGN1bGF0ZSBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkb2Zmc2V0IHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJG9mZnNldCwgJHRvdGFsLWNvbHVtbnMpICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vLyBDcmVhdGUgcHJlc2VudGF0aW9uYWwgY2xhc3NlcyBmb3IgZ3JpZFxuLy9cbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLTEsIC5sYXJnZS0yLCBldGMuXG5AbWl4aW4gZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUpIHtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgLiN7JHNpemV9LXB1c2gtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgIH1cbiAgICAuI3skc2l6ZX0tcHVsbC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczpmYWxzZSwgJHBvc2l0aW9uOnRydWUpOyB9XG5cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIHtcbiAgICAuI3skc2l6ZX0tI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tb2Zmc2V0LSN7JGl9IHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJG9mZnNldDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIC4jeyRzaXplfS1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS1jZW50ZXJlZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY2VudGVyOnRydWUsICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgLy8gRmlnaHRpbmcgW2NsYXNzKj1cImNvbHVtblwiXSArIFtjbGFzcyo9XCJjb2x1bW5cIl06bGFzdC1jaGlsZFxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGR7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBGaWdodGluZyAuY29sdW1uLjxwcmV2aW91cy1zaXplPi1jZW50ZXJlZDpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgfVxuXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gIH1cblxuICAucm93IHtcbiAgICAmLiN7JHNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbixcbiAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XG4gICAgfVxuICAgICYuI3skc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4sXG4gICAgICA+IC5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJncmlkXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzIHtcbiAgICAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgID4gLmNvbHVtbixcbiAgICAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAgIC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbiAgICAgIH1cblxuICAgICAgLnJvdyB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0KTtcbiAgICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0LWNvbGxhcHNlKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokdG90YWwtY29sdW1ucyk7IH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMge1xuICAgICAgJiArICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiAkbGFzdC1jaGlsZC1mbG9hdDtcbiAgICAgIH1cbiAgICAgICYgKyAmLmVuZCB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGwtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTptZWRpdW0pO1xuICAgICAgLy8gT2xkIHB1c2ggYW5kIHB1bGwgY2xhc3Nlc1xuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgICAgICAucHVzaC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIC5wdWxsLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpsYXJnZSk7XG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXMge1xuICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSk7XG4gICAgfVxuICAgIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4eGxhcmdlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgaHRtbCBhbmQgYm9keSBmb250LXNpemUgZm9yIHRoZSBiYXNlIHJlbSB2YWx1ZS5cbiRyZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcblxuLy8gSU1QT1JUIE9OQ0Vcbi8vIFdlIHVzZSB0aGlzIHRvIHByZXZlbnQgc3R5bGVzIGZyb20gYmVpbmcgbG9hZGVkIG11bHRpcGxlIHRpbWVzIGZvciBjb21wb25lbnRzIHRoYXQgcmVseSBvbiBvdGhlciBjb21wb25lbnRzLlxuJG1vZHVsZXM6ICgpICFkZWZhdWx0O1xuXG5AbWl4aW4gZXhwb3J0cygkbmFtZSkge1xuICAvLyBJbXBvcnQgZnJvbSBnbG9iYWwgc2NvcGVcbiAgJG1vZHVsZXM6ICRtb2R1bGVzICFnbG9iYWw7XG4gIC8vIENoZWNrIGlmIGEgbW9kdWxlIGlzIGFscmVhZHkgb24gdGhlIGxpc3RcbiAgJG1vZHVsZV9pbmRleDogaW5kZXgoJG1vZHVsZXMsICRuYW1lKTtcbiAgQGlmICgoJG1vZHVsZV9pbmRleCA9PSBudWxsKSBvciAoJG1vZHVsZV9pbmRleCA9PSBmYWxzZSkpIHtcbiAgICAkbW9kdWxlczogYXBwZW5kKCRtb2R1bGVzLCAkbmFtZSkgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vL1xuLy8gQGZ1bmN0aW9uc1xuLy9cblxuXG4vLyBSQU5HRVNcbi8vIFdlIHVzZSB0aGVzZSBmdW5jdGlvbnMgdG8gZGVmaW5lIHJhbmdlcyBmb3IgdmFyaW91cyB0aGluZ3MsIGxpa2UgbWVkaWEgcXVlcmllcy5cbkBmdW5jdGlvbiBsb3dlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDw9IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDEpO1xufVxuXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xuICAgIEByZXR1cm4gOTk5OTk5OTk5OTk5O1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XG59XG5cbi8vIFNUUklQIFVOSVRcbi8vIEl0IHN0cmlwcyB0aGUgdW5pdCBvZiBtZWFzdXJlIGFuZCByZXR1cm5zIGl0XG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLyBURVhUIElOUFVUIFRZUEVTXG5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cyggJHR5cGVzOiBhbGwsICRzZWxlY3RvcjogaW5wdXQgKSB7XG5cbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10ZXh0LWlucHV0LXR5cGVzOlxuICAgIHRleHRcbiAgICBwYXNzd29yZFxuICAgIGRhdGVcbiAgICBkYXRldGltZVxuICAgIGRhdGV0aW1lLWxvY2FsXG4gICAgbW9udGhcbiAgICB3ZWVrXG4gICAgZW1haWxcbiAgICBudW1iZXJcbiAgICBzZWFyY2hcbiAgICB0ZWxcbiAgICB0aW1lXG4gICAgdXJsXG4gICAgY29sb3JcbiAgICB0ZXh0YXJlYTtcblxuICBAaWYgJHR5cGVzID09IGFsbCB7ICR0eXBlczogJGFsbC10ZXh0LWlucHV0LXR5cGVzOyB9XG5cbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICBAaWYgJHR5cGUgPT0gdGV4dGFyZWEge1xuICAgICAgQGlmICRzZWxlY3RvciA9PSBpbnB1dCB7XG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfScpLCBjb21tYSlcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0jeyRzZWxlY3Rvcn0nKSwgY29tbWEpXG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skc2VsZWN0b3J9W3R5cGU9XCIjeyR0eXBlfVwiXScpLCBjb21tYSlcbiAgICB9XG4gIH1cblxuICAgIEByZXR1cm4gJHJldHVybjtcblxufVxuXG4vLyBDT05WRVJUIFRPIFJFTVxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UtdmFsdWUpICogMXJlbTtcbiAgQGlmICgkdmFsdWUgPT0gMHJlbSkgeyAkdmFsdWU6IDA7IH0gLy8gVHVybiAwcmVtIGludG8gMFxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIGRhdGEoJGF0dHIpIHtcbiAgQGlmICRuYW1lc3BhY2Uge1xuICAgIEByZXR1cm4gJ1tkYXRhLScgKyAkbmFtZXNwYWNlICsgJy0nICsgJGF0dHIgKyAnXSc7XG4gIH1cblxuICBAcmV0dXJuICdbZGF0YS0nICsgJGF0dHIgKyAnXSc7XG59XG5cbi8vIFJFTSBDQUxDXG5cbi8vIE5ldyBTeW50YXgsIGFsbG93cyB0byBvcHRpb25hbGx5IGNhbGN1bGF0ZSBvbiBhIGRpZmZlcmVudCBiYXNlIHZhbHVlIHRvIGNvdW50ZXIgY29tcG91bmRpbmcgZWZmZWN0IG9mIHJlbSdzLlxuLy8gQ2FsbCB3aXRoIDEsIDIsIDMgb3IgNCBwYXJhbWV0ZXJzLCAncHgnIGlzIG5vdCByZXF1aXJlZCBidXQgc3VwcG9ydGVkOlxuLy9cbi8vICAgcmVtLWNhbGMoMTAgMjAgMzBweCA0MCk7XG4vL1xuLy8gU3BhY2UgZGVsaW1pdGVkLCBpZiB5b3Ugd2FudCB0byBkZWxpbWl0IHVzaW5nIGNvbW1hJ3MsIHdyYXAgaXQgaW4gYW5vdGhlciBwYWlyIG9mIGJyYWNrZXRzXG4vL1xuLy8gICByZW0tY2FsYygoMTAsIDIwLCAzMCwgNDBweCkpO1xuLy9cbi8vIE9wdGlvbmFsbHkgY2FsbCB3aXRoIGEgZGlmZmVyZW50IGJhc2UgKGVnOiA4cHgpIHRvIGNhbGN1bGF0ZSByZW0uXG4vL1xuLy8gICByZW0tY2FsYygxNnB4IDMycHggNDhweCwgOHB4KTtcbi8vXG4vLyBJZiB5b3UgcmVxdWlyZSB0byBjb21tYSBzZXBhcmF0ZSB5b3VyIGxpc3Rcbi8vXG4vLyAgIHJlbS1jYWxjKCgxNnB4LCAzMnB4LCA0OCksIDhweCk7XG5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRtYXg6IGxlbmd0aCgkdmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTsgfVxuXG4gICRyZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRyZW1WYWx1ZXM6IGFwcGVuZCgkcmVtVmFsdWVzLCBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZS12YWx1ZSkpO1xuICB9XG4gIEByZXR1cm4gJHJlbVZhbHVlcztcbn1cblxuXG5AZnVuY3Rpb24gZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICRyZW1WYWx1ZXM6IHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpO1xuXG4gICRtYXg6IGxlbmd0aCgkcmVtVmFsdWVzKTtcblxuICBAaWYgJG1heCA9PSAxIHsgQHJldHVybiBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAxKSkgKiAxZW07IH1cblxuICAkZW1WYWx1ZXM6ICgpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRlbVZhbHVlczogYXBwZW5kKCRlbVZhbHVlcywgc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgJGkpKSAqIDFlbSk7XG4gIH1cbiAgQHJldHVybiAkZW1WYWx1ZXM7XG59XG5cblxuLy8gRGVwcmVjYXRlZDogT0xEIEVNIENBTENcbkBmdW5jdGlvbiBlbUNhbGMoJHZhbHVlcykge1xuICBAcmV0dXJuIGVtLWNhbGMoJHZhbHVlcyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQWxlcnQgQm94IFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYWxlcnQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFsZXJ0IHBhZGRpbmcuXG4kYWxlcnQtcGFkZGluZy10b3A6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ6ICRhbGVydC1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbjogJGFsZXJ0LXBhZGRpbmctdG9wICsgcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctYm90dG9tOiAkYWxlcnQtcGFkZGluZy10b3AgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGUuXG4kYWxlcnQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYWxlcnQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kYWxlcnQtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGFsZXJ0LWZvbnQtY29sb3ItYWx0OiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNjYlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgZm9yIGNsb3NlIGhvdmVyIGVmZmVjdC5cbiRhbGVydC1mdW5jdGlvbi1mYWN0b3I6IC0xNCUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXMuXG4kYWxlcnQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRhbGVydC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uc1xuJGFsZXJ0LWNsb3NlLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXRvcDogNTAlICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXBvc2l0aW9uOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1vcGFjaXR5OiAuMyAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1vcGFjaXR5LWhvdmVyOiAuNSAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1wYWRkaW5nOiAwIDZweCA0cHggIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtYmFja2dyb3VuZDogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzXG4kYWxlcnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuJGFsZXJ0LXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zICFkZWZhdWx0O1xuJGFsZXJ0LXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vXG4vLyBBbGVydCBNaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgYWxlcnQgYmFzZS5cbkBtaXhpbiBhbGVydC1iYXNlIHtcbiAgYm9yZGVyLXN0eWxlOiAkYWxlcnQtYm9yZGVyLXN0eWxlO1xuICBib3JkZXItd2lkdGg6ICRhbGVydC1ib3JkZXItd2lkdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRhbGVydC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1ib3R0b20tbWFyZ2luO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy10b3AgJGFsZXJ0LXBhZGRpbmctb3Bwb3NpdGUtZGlyZWN0aW9uICRhbGVydC1wYWRkaW5nLWJvdHRvbSAkYWxlcnQtcGFkZGluZy1kZWZhdWx0LWZsb2F0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKG9wYWNpdHksICRhbGVydC10cmFuc2l0aW9uLXNwZWVkLCAkYWxlcnQtdHJhbnNpdGlvbi1lYXNlKVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYWxlcnQgc3R5bGVzXG4vL1xuLy8gJGJnIC0gVGhlIGJhY2tncm91bmQgb2YgdGhlIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cbkBtaXhpbiBhbGVydC1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpIHtcblxuICAvLyBUaGlzIGZpbmRzIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBib3JkZXIgY29tZSB0aHJvdWdoLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yKTtcblxuICAvLyBXZSBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGZvciB5b3UgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4gIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIHsgY29sb3I6ICRhbGVydC1mb250LWNvbG9yLWFsdDsgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICB7IGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvcjsgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGFsZXJ0LWNsb3NlIHtcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGFsZXJ0LWNsb3NlLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kOiAkYWxlcnQtY2xvc2UtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRhbGVydC1jbG9zZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkYWxlcnQtY2xvc2UtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIG1hcmdpbi10b3A6IC0oJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZSAvIDIpO1xuICBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eTtcbiAgcGFkZGluZzogJGFsZXJ0LWNsb3NlLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkYWxlcnQtY2xvc2UtdG9wO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHsgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI7IH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgYWxlcnRzIHdpdGggYSBzaW5nbGUgbWl4aW4uXG4vL1xuLy8gJGJnIC0gQmFja2dyb3VuZCBvZiBhbGVydC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXG4vLyAkcmFkaXVzIC0gUmFkaXVzIG9mIGFsZXJ0IGJveC4gRGVmYXVsdDogZmFsc2UuXG5AbWl4aW4gYWxlcnQoJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XG4gIEBpbmNsdWRlIGFsZXJ0LWJhc2U7XG4gIEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRiZyk7XG4gIEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImFsZXJ0LWJveFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXMge1xuICAgIC5hbGVydC1ib3gge1xuICAgICAgQGluY2x1ZGUgYWxlcnQ7XG5cbiAgICAgIC5jbG9zZSAgICAgIHsgQGluY2x1ZGUgYWxlcnQtY2xvc2U7IH1cblxuICAgICAgJi5yYWRpdXMgICAgeyBAaW5jbHVkZSByYWRpdXMoJGFsZXJ0LXJhZGl1cyk7IH1cbiAgICAgICYucm91bmQgICAgIHsgQGluY2x1ZGUgcmFkaXVzKCRnbG9iYWwtcm91bmRlZCk7IH1cblxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGFsZXJ0LWNvbG9yKTsgfVxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgJi53YXJuaW5nIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAmLmluZm8geyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkaW5mby1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQtY2xvc2UgeyBvcGFjaXR5OiAwfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEJsb2NrIEdyaWQgVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcbiRpbmNsdWRlLXhsLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWF4aW11bSBudW1iZXIgb2YgYmxvY2sgZ3JpZCBlbGVtZW50cyBwZXIgcm93XG4kYmxvY2stZ3JpZC1lbGVtZW50czogMTIgIWRlZmF1bHQ7XG4kYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZDogZmFsc2UgIWRlZmF1bHQ7XG5AaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XG4gICRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogJGNvbHVtbi1ndXR0ZXI7XG59XG5cbi8vIEVuYWJsZXMgbWVkaWEgcXVlcmllcyBmb3IgYmxvY2stZ3JpZCBjbGFzc2VzLiBTZXQgdG8gZmFsc2UgaWYgd3JpdGluZyBzZW1hbnRpYyBIVE1MLlxuJGJsb2NrLWdyaWQtbWVkaWEtcXVlcmllczogdHJ1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIEdyaWQgTWl4aW5zXG4vL1xuXG4vLyBDcmVhdGUgYSBjdXN0b20gYmxvY2sgZ3JpZFxuLy9cbi8vICRwZXItcm93IC0gIyBvZiBpdGVtcyB0byBkaXNwbGF5IHBlciByb3cuIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHNwYWNpbmcgLSAjIG9mIGVtcyB0byB1c2UgYXMgcGFkZGluZyBvbiBlYWNoIGJsb2NrIGl0ZW0uIERlZmF1bHQ6IHJlbS1jYWxjKDIwKS5cbi8vICRpbmNsdWRlLXNwYWNpbmcgLSBBZGRzIHBhZGRpbmcgdG8gb3VyIGxpc3QgaXRlbS4gRGVmYXVsdDogdHJ1ZS5cbi8vICRiYXNlLXN0eWxlIC0gQXBwbHkgYSBiYXNlIHN0eWxlIHRvIGJsb2NrIGdyaWQuIERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gYmxvY2stZ3JpZChcbiAgJHBlci1yb3c6ZmFsc2UsXG4gICRzcGFjaW5nOiRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZyxcbiAgJGluY2x1ZGUtc3BhY2luZzp0cnVlLFxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbjogMCAoLSRzcGFjaW5nLzIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBAaWYgJGluY2x1ZGUtc3BhY2luZyB7XG4gICAgICAgIHBhZGRpbmc6IDAgKCRzcGFjaW5nLzIpICRzcGFjaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGVyLXJvdyB7XG4gICAgPiBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGlmICRpbmNsdWRlLXNwYWNpbmcge1xuICAgICAgICBwYWRkaW5nOiAwICgkc3BhY2luZy8yKSAkc3BhY2luZztcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlLyRwZXItcm93O1xuXG4gICAgICAmOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG4gICAgICAmOm50aC1vZi10eXBlKCN7JHBlci1yb3d9bisxKSB7IGNsZWFyOiBib3RoOyB9XG4gICAgICBAaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtYWxpZ25lZCgkcGVyLXJvdywgJHNwYWNpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmxvY2stZ3JpZC1hbGlnbmVkKCRwZXItcm93LCAkc3BhY2luZykge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLWVsZW1lbnRzIHtcbiAgICBAaWYgJHBlci1yb3cgPj0gJGkge1xuICAgICAgJGdyaWQtY29sdW1uOiAnKycgKyAkaTtcbiAgICAgIEBpZiAkcGVyLXJvdyA9PSAkaSB7XG4gICAgICAgICRncmlkLWNvbHVtbjogJyc7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKCN7JHBlci1yb3d9biN7dW5xdW90ZSgkZ3JpZC1jb2x1bW4pfSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICgkc3BhY2luZyAtICgoJHNwYWNpbmcgLyAkcGVyLXJvdykgKiAoJHBlci1yb3cgLSAoJGkgLSAxKSkpKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogKCRzcGFjaW5nIC0gKCgkc3BhY2luZyAvICRwZXItcm93KSAqICRpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEdlbmVyYXRlIHByZXNlbnRhdGlvbmFsIG1hcmt1cCBmb3IgYmxvY2sgZ3JpZC5cbi8vXG4vLyAkc2l6ZSAtIE5hbWUgb2YgY2xhc3MgdG8gdXNlLCBpLmUuIFwibGFyZ2VcIiB3aWxsIGdlbmVyYXRlIC5sYXJnZS1ibG9jay1ncmlkLTEsIC5sYXJnZS1ibG9jay1ncmlkLTIsIGV0Yy5cbkBtaXhpbiBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZSwgJGluY2x1ZGUtc3BhY2luZykge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLWVsZW1lbnRzIHtcbiAgICAuI3skc2l6ZX0tYmxvY2stZ3JpZC0jeygkaSl9IHtcbiAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQoJGksICRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZywgJGluY2x1ZGUtc3BhY2luZywgZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYmxvY2stZ3JpZFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlcyB7XG5cbiAgICBbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0geyBAaW5jbHVkZSBibG9jay1ncmlkOyB9XG5cbiAgICBAaWYgJGJsb2NrLWdyaWQtbWVkaWEtcXVlcmllcyB7XG4gICAgICBAbWVkaWEgI3skc21hbGwtdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6c21hbGwsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOm1lZGl1bSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlcyB7XG4gICAgICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4eGxhcmdlLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIGhlaWdodCBhbmQgd2lkdGggc3R5bGVzLlxuJGYtZHJvcGRvd24tbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWhlaWdodDogYXV0byAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLW1heC1oZWlnaHQ6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGJvdHRvbSBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLXRvcDogMnB4ICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciByaWdodCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLWxlZnQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGxlZnQgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgdG9wIHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tOiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4kZi1kcm9wZG93bi1iZzogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cbiRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSB0cmlhbmdsZSBwaXAuXG4kZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHggIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHN0eWxlcyBmb3IgdGhlIGxpc3QgZWxlbWVudHMuXG4kZi1kcm9wZG93bi1saXN0LXN0eWxlOiBub25lICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1jb2xvcjogJGNoYXJjb2FsICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOiAkc21va2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN0eWxlcyBmb3Igd2hlbiB0aGUgZHJvcGRvd24gaGFzIGN1c3RvbSBjb250ZW50LlxuJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgcmFkaXVzIGZvciBkcm9wZG93bi5cbiRmLWRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy9cbi8vIE5PVEU6IE1ha2UgZGVmYXVsdCBtYXgtd2lkdGggY2hhbmdlIGJldHdlZW4gbGlzdCBhbmQgY29udGVudCB0eXBlcy4gQ2FuIGFkZCBtb3JlIHdpZHRoIHdpdGggY2xhc3NlcywgbWF5YmUgLnNtYWxsLCAubWVkaXVtLCAubGFyZ2UsIGV0Yy47XG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZHJvcGRvd24gY29udGFpbmVyIGVsZW1lbnQuXG4vLyAkY29udGVudC1saXN0IC0gU2V0cyBsaXN0LXN0eWxlLiBEZWZhdWx0OiBsaXN0LiBPcHRpb25zOiBbbGlzdCwgY29udGVudF1cbi8vICR0cmlhbmdsZSAtIFNldHMgaWYgZHJvcGRvd24gaGFzIHRyaWFuZ2xlLiBEZWZhdWx0OnRydWUuXG4vLyAkbWF4LXdpZHRoIC0gRGVmYXVsdDogJGYtZHJvcGRvd24tbWF4LXdpZHRoIHx8IDIwMHB4LlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lcigkY29udGVudDpsaXN0LCAkdHJpYW5nbGU6dHJ1ZSwgJG1heC13aWR0aDokZi1kcm9wZG93bi1tYXgtd2lkdGgpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgbGlzdC1zdHlsZTogJGYtZHJvcGRvd24tbGlzdC1zdHlsZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gKjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgPiAqOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgQGlmICRjb250ZW50ID09IGxpc3Qge1xuICAgIGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWJnO1xuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAkZi1kcm9wZG93bi1oZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgfVxuICBAZWxzZSBpZiAkY29udGVudCA9PSBjb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcbiAgICBib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICAgIGhlaWdodDogJGYtZHJvcGRvd24taGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSBib3R0b20ge1xuICAgIG1hcmdpbi10b3A6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG5cbiAgICBAaWYgJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAhPSAwcHgge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgYm90dG9tKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAgIHotaW5kZXg6IDg5O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCBib3R0b20pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEpICogMik7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAgIHotaW5kZXg6IDg4O1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0OmJlZm9yZSB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYucmlnaHQ6YWZ0ZXIge1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gJGRlZmF1bHQtZmxvYXQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSAkb3Bwb3NpdGUtZGlyZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSB0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCB0b3ApO1xuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgdG9wKTtcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkbWF4LXdpZHRoIHsgbWF4LXdpZHRoOiAkbWF4LXdpZHRoOyB9XG4gIEBlbHNlIHsgbWF4LXdpZHRoOiAkZi1kcm9wZG93bi1tYXgtd2lkdGg7IH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgbGlzdCBlbGVtZW50cyBvciBjb250ZW50IGluc2lkZSB0aGUgZHJvcGRvd24uXG5cbkBtaXhpbiBkcm9wZG93bi1zdHlsZSB7XG4gIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc7IH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkZi1kcm9wZG93bi1saXN0LXBhZGRpbmc7XG4gICAgY29sb3I6ICRmLWRyb3Bkb3duLWZvbnQtY29sb3I7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlcyB7XG5cbiAgICAvKiBGb3VuZGF0aW9uIERyb3Bkb3ducyAqL1xuICAgIC5mLWRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCBib3R0b20pO1xuXG4gICAgICAmLmRyb3AtI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRkZWZhdWx0LWZsb2F0fSk7XG4gICAgICB9XG5cbiAgICAgICYuZHJvcC0jeyRkZWZhdWx0LWZsb2F0fSB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIH1cblxuICAgICAgJi5kcm9wLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCB0b3ApO1xuICAgICAgfVxuICAgICAgLy8gbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICBsaSB7IEBpbmNsdWRlIGRyb3Bkb3duLXN0eWxlOyB9XG5cbiAgICAgIC8vIFlvdSBjYW4gYWxzbyBwdXQgY3VzdG9tIGNvbnRlbnQgaW4gdGhlc2UgZHJvcGRvd25zXG4gICAgICAmLmNvbnRlbnQgeyBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIoY29udGVudCwgJHRyaWFuZ2xlOmZhbHNlKTsgfVxuXG4gICAgICAvLyBSYWRpdXMgb2YgRHJvcGRvd25cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRmLWRyb3Bkb3duLXJhZGl1cyk7IH1cblxuICAgICAgLy8gU2l6ZXNcbiAgICAgICYudGlueSAgICB7IG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAgICYuc21hbGwgICB7IG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAgICYubWVkaXVtICB7IG1heC13aWR0aDogNTAwcHg7IH1cbiAgICAgICYubGFyZ2UgICB7IG1heC13aWR0aDogODAwcHg7IH1cbiAgICAgICYubWVnYSAgICB7XG4gICAgICAgIHdpZHRoOjEwMCUhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi5vcGVue1xuICAgICAgICAgIGxlZnQ6MCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zLlxuJGJ1dHRvbi10bnk6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRidXR0b24tc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kYnV0dG9uLW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGlzcGxheSBwcm9wZXJ0eS5cbiRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xuJGJ1dHRvbi1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cbiRidXR0b24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXRueTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNtbDogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWxyZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGhvdmVyIGVmZmVjdHMuXG4kYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogLTIwJSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIGJvcmRlciBzdHlsZXMuXG4kYnV0dG9uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRidXR0b24tYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItY29sb3I6ICRidXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHN1Y2Nlc3MtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYmctY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3I6ICRhbGVydC1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYmctY29sb3I6ICR3YXJuaW5nLWNvbG9yICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcjogJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJGluZm8tYnV0dG9uLWJnLWNvbG9yOiAkaW5mby1jb2xvciAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGluZm8tY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3I6ICRpbmZvLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kYnV0dG9uLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgYnV0dG9ucy5cbiRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGJ1dHRvbiBiYXNlLlxuLy9cbi8vICRzdHlsZSAtIFNldHMgYmFzZSBzdHlsZXMuIENhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6IHRydWUuXG4vLyAkZGlzcGxheSAtIFVzZWQgdG8gY29udHJvbCBkaXNwbGF5IHByb3BlcnR5LiBEZWZhdWx0OiAkYnV0dG9uLWRpc3BsYXkgfHwgaW5saW5lLWJsb2NrXG5cbkBtaXhpbiBidXR0b24tYmFzZSgkc3R5bGU6dHJ1ZSwgJGRpc3BsYXk6JGJ1dHRvbi1kaXNwbGF5KSB7XG4gIEBpZiAkc3R5bGUge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czowO1xuICAgIGJvcmRlci1zdHlsZTogJGJ1dHRvbi1ib3JkZXItc3R5bGU7XG4gICAgYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWJvcmRlci13aWR0aDtcbiAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcbiAgICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMCAwICRidXR0b24tbWFyZ2luLWJvdHRvbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogJGJ1dHRvbi1mb250LWFsaWduO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBAaWYgJGRpc3BsYXkgeyBkaXNwbGF5OiAkZGlzcGxheTsgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYnV0dG9uIHNpemUgc3R5bGVzXG4vL1xuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMgRGVmYXVsdDogJGJ1dHRvbi1tZWQgfHw9IHJlbS1jYWxjKDEyKVxuLy8gJGZ1bGwtd2lkdGggLSBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGggLSBEZWZhdWx0OiBmYWxzZVxuXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1tZWQsICRmdWxsLXdpZHRoOmZhbHNlKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBwYWRkaW5nIHN0eWxlcyBjb21lIHRocm91Z2gsXG4gIC8vIHRoZXNlIGNhbiBiZSB0dXJuZWQgb2ZmIGJ5IHNldHRpbmcgJHBhZGRpbmc6ZmFsc2VcbiAgQGlmICRwYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZyAoJHBhZGRpbmcgKiAyKSAoJHBhZGRpbmcgKyByZW0tY2FsYygxKSkgKCRwYWRkaW5nICogMik7XG4gICAgLy8gV2UgY29udHJvbCB0aGUgZm9udC1zaXplIGJhc2VkIG9uIG1peGluIGlucHV0LlxuICAgIEBpZiAgICAgICRwYWRkaW5nID09ICRidXR0b24tbWVkIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtbWVkOyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi10bnkgeyBmb250LXNpemU6ICRidXR0b24tZm9udC10bnk7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLXNtbCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNtbDsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tbHJnIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtbHJnOyB9XG4gIH1cblxuICAvLyBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGguXG4gIEBpZiAkZnVsbC13aWR0aCB7XG4gICAgLy8gV2Ugc3RpbGwgbmVlZCB0byBjaGVjayBpZiAkcGFkZGluZyBpcyBzZXQuXG4gICAgQGlmICRwYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyArIHJlbS1jYWxjKDEpO1xuICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICAgIH0gQGVsc2UgaWYgJHBhZGRpbmcgPT0gZmFsc2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgfVxuICAgIHBhZGRpbmctbGVmdDogJGJ1dHRvbi1tZWQ7XG4gICAgcGFkZGluZy1yaWdodDogJGJ1dHRvbi1tZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gd2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBidXR0b24gaG92ZXIgYW5kIGJvcmRlciBjb2xvcnNcblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBjb2xvciBzdHlsZXNcbi8vXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIGNvbG9yLiBXZSBjYW4gc2V0ICRiZzpmYWxzZSBmb3IgYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gYnV0dG9uIHJhZGl1cyB3aGljaCBpcyAkYnV0dG9uLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDogZmFsc2Vcbi8vICRkaXNhYmxlZCAtIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGJnLWhvdmVyIC0gQnV0dG9uIEhvdmVyIEJhY2tncm91bmQgQ29sb3IuIERlZmF1bHQ6ICRidXR0b24tYmctaG92ZXJcbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yLiBEZWZhdWx0OiAkYnV0dG9uLWJvcmRlci1jb2xvclxuQG1peGluIGJ1dHRvbi1zdHlsZSgkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGRpc2FibGVkOmZhbHNlLCAkYmctaG92ZXI6bnVsbCwgJGJvcmRlci1jb2xvcjpudWxsKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIHN0eWxlcyBhcmUgdXNlZCxcbiAgLy8gdGhlc2UgY2FuIGJlIHJlbW92ZWQgYnkgc2V0dGluZyAkYmc6ZmFsc2VcbiAgQGlmICRiZyB7XG5cbiAgICBAaWYgJGJnLWhvdmVyID09IG51bGwge1xuICAgICAgJGJnLWhvdmVyOiBpZigkYmcgPT0gJGJ1dHRvbi1iZy1jb2xvciwgJGJ1dHRvbi1iZy1ob3Zlciwgc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikpO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyLWNvbG9yID09IG51bGwge1xuICAgICAgJGJvcmRlci1jb2xvcjogaWYoJGJnID09ICRidXR0b24tYmctY29sb3IsICRidXR0b24tYm9yZGVyLWNvbG9yLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICAkYmctaG92ZXItbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnLWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnLWhvdmVyOyB9XG5cbiAgICAvLyBXZSBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGZvciB5b3UgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICAgY29sb3I6IGlmKCRiZy1saWdodG5lc3MgPiA3MCUsICRidXR0b24tZm9udC1jb2xvci1hbHQsICRidXR0b24tZm9udC1jb2xvcik7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IGlmKCRiZy1ob3Zlci1saWdodG5lc3MgPiA3MCUsICRidXR0b24tZm9udC1jb2xvci1hbHQsICRidXR0b24tZm9udC1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uXG4gIEBpZiAkZGlzYWJsZWQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY3Vyc29yOiAkYnV0dG9uLWRpc2FibGVkLWN1cnNvcjtcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnOyB9XG4gIH1cblxuICAvLyBXZSBjYW4gY29udHJvbCBob3cgbXVjaCBidXR0b24gcmFkaXVzIGlzIHVzZWQuXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJGJ1dHRvbi1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBidXR0b25zIHdpdGggYSBzaW5nbGUgbWl4aW4uIEFzIEBqYXJlZGhhcmR5IHB1dHMgaXQsIFwidGhlIGtpdGNoZW4gc2luayBtaXhpblwiXG4vL1xuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMgRGVmYXVsdDogJGJ1dHRvbi1tZWQgfHw9IHJlbS1jYWxjKDEyKVxuLy8gJGJnIC0gUHJpbWFyeSBjb2xvciBzZXQgaW4gc2V0dGluZ3MgZmlsZS4gRGVmYXVsdDogJGJ1dHRvbi1iZy5cbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gYnV0dG9uIHJhZGl1cyB3aGljaCBpcyAkZ2xvYmFsLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDpmYWxzZS5cbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGRpc2FibGVkIC0gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uIERlZmF1bHQ6ZmFsc2UuXG4vLyAkaXMtcHJlZml4IC0gTm90IHVzZWQ/IERlZmF1bHQ6ZmFsc2UuXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQ29sb3IgLSBEZWZhdWx0IG51bGwgLSBzZWUgYnV0dG9uLXN0eWxlIG1peGluXG4vLyAkYm9yZGVyLWNvbG9yIC0gQnV0dG9uIEJvcmRlciBDb2xvciAtIERlZmF1bHQgbnVsbCAtIHNlZSBidXR0b24tc3R5bGUgbWl4aW5cbi8vICR0cmFuc2l0aW9uIC0gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aGUgYmFja2dyb3VuZC1jb2xvciB0cmFuc2l0aW9uIHByb3BlcnR5IC0gRGVmYXVsdDp0cnVlLlxuQG1peGluIGJ1dHRvbigkcGFkZGluZzokYnV0dG9uLW1lZCwgJGJnOiRidXR0b24tYmctY29sb3IsICRyYWRpdXM6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRpcy1wcmVmaXg6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwsICR0cmFuc2l0aW9uOiB0cnVlKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZywgJGZ1bGwtd2lkdGgpO1xuICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnLCAkcmFkaXVzLCAkZGlzYWJsZWQsICRiZy1ob3ZlciwgJGJvcmRlci1jb2xvcik7XG5cbiAgQGlmICR0cmFuc2l0aW9uIHtcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJidXR0b25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XG5cbiAgICAvLyBEZWZhdWx0IHN0eWxlcyBhcHBsaWVkIG91dHNpZGUgb2YgbWVkaWEgcXVlcnlcbiAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZTtcblxuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokd2FybmluZy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1idXR0b24tYmctY29sb3IsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cblxuICAgICAgJi5sYXJnZSAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLWxyZyk7IH1cbiAgICAgICYuc21hbGwgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1zbWwpOyB9XG4gICAgICAmLnRpbnkgICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tdG55KTsgfVxuICAgICAgJi5leHBhbmQgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkZnVsbC13aWR0aDp0cnVlKTsgfVxuXG4gICAgICAmLmxlZnQtYWxpZ24gIHsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IHJlbS1jYWxjKDEyKTsgfVxuICAgICAgJi5yaWdodC1hbGlnbiB7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMik7IH1cblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOmZhbHNlLCAkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6JGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRidXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYnV0dG9uLWJvcmRlci1jb2xvcik7XG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYWxlcnQtYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRhbGVydC1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiR3YXJuaW5nLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL2ZpcmVmb3ggMnB4IGZpeFxuICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7Ym9yZGVyOjA7IHBhZGRpbmc6MDt9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tYmFzZSgkc3R5bGU6ZmFsc2UsICRkaXNwbGF5OmlubGluZS1ibG9jayk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOmZhbHNlLCAkZnVsbC13aWR0aDpmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYXNlIGZvciBsb3RzIG9mIGZvcm0gc3BhY2luZyBhbmQgcG9zaXRpb25pbmcgc3R5bGVzXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzIGluIGRpZmZlcmVudCB3YXlzXG4kZm9ybS1sYWJlbC1wb2ludGVyOiBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkYmxhY2ssICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luOiAwICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGlucHV0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYmctY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIlKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC00MCUpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWUgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBmaWVsZHNldCBib3JkZXIgYW5kIHNwYWNpbmcuXG4kZmllbGRzZXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmaWVsZHNldC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGVnZW5kcyB3aGVuIHlvdSB1c2UgdGhlbVxuJGxlZ2VuZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXG4kaW5wdXQtcHJlZml4LWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1vdmVyZmxvdzogdmlzaWJsZSAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgc2V0dGluZyB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnMgKHRoZSB1cC9kb3duIGFycm93cylcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZXJyb3Igc3RhdGVzIGZvciBpbnB1dHMgYW5kIGxhYmVsc1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZzogcmVtLWNhbGMoNiA5IDkpICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wOiAtMXB4ICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGdsb3dpbmcgZWZmZWN0IG9mIGlucHV0cyB3aGVuIGZvY3VzZWRcbiRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWU6IC40NXMgIWRlZmF1bHQ7XG4kZ2xvd2luZy1lZmZlY3QtY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSB0cmFuc2l0aW9uIHdoZW4gaW5wdXRzIGFyZSBmb2N1c2VkIGFuZCB3aGVuIHRoZSBnbG93aW5nIGVmZmVjdCBpcyBkaXNhYmxlZC5cbiRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZTogMC4xNXMgIWRlZmF1bHQ7XG4kaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuXG4vLyBTZWxlY3QgdmFyaWFibGVzXG4kc2VsZWN0LWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XG4kc2VsZWN0LWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2VsZWN0LWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpICFkZWZhdWx0O1xuXG4vL1xuLy8gQE1JWElOU1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gZ2l2ZSB1cyBmb3JtIHN0eWxlcyBmb3Igcm93cyBpbnNpZGUgb2YgZm9ybXNcbkBtaXhpbiBmb3JtLXJvdy1iYXNlIHtcbiAgLnJvdyB7IG1hcmdpbjogMCAoKC0kZm9ybS1zcGFjaW5nKSAvIDIpO1xuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7IHBhZGRpbmc6IDAgKCRmb3JtLXNwYWNpbmcgLyAyKTsgfVxuXG4gICAgLy8gVXNlIHRoaXMgdG8gY29sbGFwc2UgdGhlIG1hcmdpbnMgb2YgYSBmb3JtIHJvd1xuICAgICYuY29sbGFwc2UgeyBtYXJnaW46IDA7XG5cbiAgICAgIC5jb2x1bW4sXG4gICAgICAuY29sdW1ucyB7IHBhZGRpbmc6IDA7IH1cbiAgICAgIGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgMCk7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbiAgaW5wdXQuY29sdW1uLFxuICBpbnB1dC5jb2x1bW5zLFxuICB0ZXh0YXJlYS5jb2x1bW4sXG4gIHRleHRhcmVhLmNvbHVtbnMgeyBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAoJGZvcm0tc3BhY2luZyAvIDIpOyB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgYWxsIGJhc2ljIGZvcm0gZWxlbWVudHMgdGhlaXIgc3R5bGVcbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctY29sb3I7XG4gIGJvcmRlcjoge1xuICAgIHN0eWxlOiAkaW5wdXQtYm9yZGVyLXN0eWxlO1xuICAgIHdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICB9XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93O1xuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICBAaWYgJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Qge1xuICAgIEBpbmNsdWRlIGJsb2NrLWdsb3dpbmctZWZmZWN0KGZvY3VzLCAkZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lLCAkZ2xvd2luZy1lZmZlY3QtY29sb3IpO1xuICB9XG4gIC8vIEJhc2ljIGZvY3VzIHN0eWxlc1xuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtZm9jdXMtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLy8gRGlzYWJsZWQgU3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBiYWNrZ3JvdW5kIGlucHV0IGJhY2tncm91bmQgY29sb3JcbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgZm9ybSBsYWJlbHNcbi8vXG4vLyAkYWxpZ25tZW50IC0gQWxpZ25tZW50IG9wdGlvbnMuIERlZmF1bHQ6IGZhbHNlLiBPcHRpb25zOiBbcmlnaHQsIGlubGluZSwgZmFsc2VdXG4vLyAkYmFzZS1zdHlsZSAtIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBmb3JtLWxhYmVsKCRhbGlnbm1lbnQ6ZmFsc2UsICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICAvLyBDb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgY29sb3I6ICRmb3JtLWxhYmVsLWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiAkZm9ybS1sYWJlbC1wb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjtcbiAgfVxuXG4gIC8vIEFsaWdubWVudCBvcHRpb25zXG4gIEBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gaW5saW5lIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gICAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSAwO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwb3N0Zml4L3ByZWZpeCBmb3JtIExhYmVsc1xuQG1peGluIHByZWZpeC1wb3N0Zml4LWJhc2Uge1xuICBib3JkZXItc3R5bGU6ICRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LXByZWZpeC1ib3JkZXItc2l6ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBsaW5lLWhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG4gIG92ZXJmbG93OiAkaW5wdXQtcHJlZml4LW92ZXJmbG93O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHByZWZpeCBsYWJlbCBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4vLyAkaXMtYnV0dG9uIC0gVG9nZ2xlIHBvc2l0aW9uIHNldHRpbmdzIGlmIHByZWZpeCBpcyBhIGJ1dHRvbi4gRGVmYXVsdDpmYWxzZVxuLy9cbkBtaXhpbiBwcmVmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXI6JGlucHV0LXByZWZpeC1ib3JkZXItY29sb3IsICRpcy1idXR0b246ZmFsc2UpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IG5vbmU7XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yOyB9XG4gICAgQGVsc2UgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDsgfVxuICB9XG5cbiAgQGlmICRib3JkZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgfVxuXG4gIEBpZiAkaXMtYnV0dG9uIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXggbGFiZWwgc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiRpbnB1dC1wcmVmaXgtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuLy8gJGlzLWJ1dHRvbiAtIFRvZ2dsZSBwb3NpdGlvbiBzZXR0aW5ncyBpZiBwcmVmaXggaXMgYSBidXR0b24uIERlZmF1bHQ6IGZhbHNlXG5AbWl4aW4gcG9zdGZpeCgkYmc6JGlucHV0LXByZWZpeC1iZywgJGJvcmRlci1sZWZ0LWhpZGRlbjp0cnVlLCAkYm9yZGVyOiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yLCAkaXMtYnV0dG9uOmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIEBpZiAkYm9yZGVyLWxlZnQtaGlkZGVuIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBDb250cm9sIHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIGJhY2tncm91bmQgYnJpZ2h0bmVzc1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlICBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cbiAgfVxuXG4gIEBpZiAkYm9yZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICBAaWYgJGlzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIGZpZWxkc2V0c1xuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyLXdpZHRoICRmaWVsZHNldC1ib3JkZXItc3R5bGUgJGZpZWxkc2V0LWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcblxuICAvLyBhbmQgbGVnZW5kIHN0eWxlc1xuICBsZWdlbmQge1xuICAgIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3Igb2YgZXJyb3IgaW5wdXRzXG4vLyAkY29sb3IgLSBEZWZhdWx0OiAkYWxlcnQtY29sb3IgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gZm9ybS1lcnJvci1jb2xvcigkY29sb3I6JGFsZXJ0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAuMSk7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIEdvIGJhY2sgdG8gbm9ybWFsIG9uIGZvY3VzXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgc2ltcGxlIG1peGluIHRvIHN0eWxlIGxhYmVscyBmb3IgZXJyb3IgaW5wdXRzXG4vLyAkY29sb3IgLSBEZWZhdWx0OiRhbGVydC1jb2xvci4gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuQG1peGluIGZvcm0tbGFiZWwtZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikgeyBjb2xvcjogJGNvbG9yOyB9XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBlcnJvciBtZXNzYWdlIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChGb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGZvcm0tZXJyb3ItbWVzc2FnZSgkYmc6JGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3IpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplO1xuICBmb250LXN0eWxlOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIG1hcmdpbi10b3A6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDtcbiAgcGFkZGluZzogJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZztcblxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgdGV4dCBjb2xvciBiYXNlZCBvbiB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2dyb3VuZC5cbiAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gIGJhY2tncm91bmQ6ICRiZztcbiAgQGlmICRiZy1saWdodG5lc3MgPCA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOyB9XG4gIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OyB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIHNlbGVjdCBlbGVtZW50c1xuQG1peGluIGZvcm0tc2VsZWN0ICB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iZy1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gVGhlIGN1c3RvbSBhcnJvdyBoYXMgc29tZSBmYWtlIGhvcml6b250YWwgcGFkZGluZyBzbyB3ZSBjYW4gYWxpZ24gaXRcbiAgLy8gZnJvbSB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHJlbHlpbmcgb24gQ1NTM1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jKycpO1xuXG4gIC8vIFdlIGNhbiBzYWZlbHkgdXNlIGxlZnRtb3N0IGFuZCByaWdodG1vc3Qgbm93XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSAncnRsJywgMCUsIDEwMCUpIGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgfVxuICBjb2xvcjogJGlucHV0LWZvbnQtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgQGluY2x1ZGUgcmFkaXVzKDApO1xuICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gRGlzYWJsZWQgU3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzXG5AbWl4aW4gaHRtbDVudW1iZXIoJGJyb3dzZXIsICRvbjogdHJ1ZSkge1xuICBAaWYgJG9uID09IGZhbHNlIHtcbiAgICAgIEBpZiAkYnJvd3NlciA9PSB3ZWJraXQge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH0gQGVsc2UgaWYgJGJyb3dzZXIgPT0gbW96IHtcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImZvcm1cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xuICAgIC8qIFN0YW5kYXJkIEZvcm1zICovXG4gICAgZm9ybSB7IG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7IH1cblxuICAgIC8qIFVzaW5nIGZvcm1zIHdpdGhpbiByb3dzLCB3ZSBuZWVkIHRvIHNldCBzb21lIGRlZmF1bHRzICovXG4gICAgZm9ybSAucm93IHsgQGluY2x1ZGUgZm9ybS1yb3ctYmFzZTsgfVxuXG4gICAgLyogTGFiZWwgU3R5bGVzICovXG4gICAgbGFiZWwgeyBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuICAgICAgJi5yaWdodCB7IEBpbmNsdWRlIGZvcm0tbGFiZWwocmlnaHQsIGZhbHNlKTsgfVxuICAgICAgJi5pbmxpbmUgeyBAaW5jbHVkZSBmb3JtLWxhYmVsKGlubGluZSwgZmFsc2UpOyB9XG4gICAgICAvKiBTdHlsZXMgZm9yIHJlcXVpcmVkIGlucHV0cyAqL1xuICAgICAgc21hbGwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGZvcm0tbGFiZWwtZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMTUlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cbiAgICAucHJlZml4LFxuICAgIC5wb3N0Zml4IHsgQGluY2x1ZGUgcHJlZml4LXBvc3RmaXgtYmFzZTsgfVxuXG4gICAgLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cbiAgICAucG9zdGZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwb3N0Zml4KGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUpOyB9XG4gICAgLnByZWZpeC5idXR0b24geyBAaW5jbHVkZSBidXR0b24tc2l6ZShmYWxzZSwgZmFsc2UpOyBAaW5jbHVkZSBwcmVmaXgoZmFsc2UsIGZhbHNlLCB0cnVlKTsgfVxuXG4gICAgLnByZWZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnBvc3RmaXguYnV0dG9uLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgLnByZWZpeC5idXR0b24ucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cblxuICAgIC8qIFNlcGFyYXRlIHByZWZpeCBhbmQgcG9zdGZpeCBzdHlsZXMgd2hlbiBvbiBzcGFuIG9yIGxhYmVsIHNvIGJ1dHRvbnMga2VlcCB0aGVpciBvd24gKi9cbiAgICBzcGFuLnByZWZpeCwgbGFiZWwucHJlZml4IHsgQGluY2x1ZGUgcHJlZml4KCk7IH1cbiAgICBzcGFuLnBvc3RmaXgsIGxhYmVsLnBvc3RmaXggeyBAaW5jbHVkZSBwb3N0Zml4KCk7IH1cblxuICAgIC8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXG4gICAgaW5wdXQ6bm90KFt0eXBlXSksICN7dGV4dC1pbnB1dHMoYWxsLCAnaW5wdXQnKX0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAgIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCA9PSBmYWxzZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgfVxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgLnJvdyB7XG4gICAgICAgIC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgICAgLnByZWZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvKiBSZXNwZWN0IGVuZm9yY2VkIGFtb3VudCBvZiByb3dzIGZvciB0ZXh0YXJlYSAqL1xuICAgIHRleHRhcmVhW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKiBOb3QgYWxsb3cgcmVzaXplIG91dCBvZiBwYXJlbnQgKi9cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gc3R5bGUgcGxhY2Vob2xkZXIgdGV4dCBjcm9zcyBicm93c2VyXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIDo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG5cbiAgICAvKiBBZGQgaGVpZ2h0IHZhbHVlIGZvciBzZWxlY3QgZWxlbWVudHMgdG8gbWF0Y2ggdGV4dCBpbnB1dCBoZWlnaHQgKi9cbiAgICBzZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gICAgICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICAgICAgJlttdWx0aXBsZV0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQWRqdXN0IG1hcmdpbiBmb3IgZm9ybSBlbGVtZW50cyBiZWxvdyAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgc2VsZWN0IHtcbiAgICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRmb3JtLXNwYWNpbmcgKiAuNTtcbiAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZm9ybS1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAvKiBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aCAqL1xuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuXG4gICAgLyogSFRNTDUgTnVtYmVyIHNwaW5uZXJzIHNldHRpbmdzICovXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKG1veiwgJGlucHV0LW51bWJlci1zcGlubmVycylcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKHdlYmtpdCwgJGlucHV0LW51bWJlci1zcGlubmVycyk7XG4gICAgfVxuXG4gICAgLyogV2UgYWRkIGJhc2ljIGZpZWxkc2V0IHN0eWxpbmcgKi9cbiAgICBmaWVsZHNldCB7XG4gICAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgICB9XG5cbiAgICAvKiBFcnJvciBIYW5kbGluZyAqL1xuXG4gICAgI3tkYXRhKCdhYmlkZScpfSB7XG4gICAgICAuZXJyb3Igc21hbGwuZXJyb3IsIC5lcnJvciBzcGFuLmVycm9yLCBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICAgIH1cbiAgICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIHNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICB9XG5cbiAgICAuZXJyb3Ige1xuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSxcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmdcbiAgICAgIH1cblxuICAgICAgbGFiZWwsXG4gICAgICBsYWJlbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7XG4gICAgICB9XG5cbiAgICAgIHNtYWxsLmVycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xuICAgICAgfVxuXG4gICAgICA+IGxhYmVsIHtcbiAgICAgICAgPiBzbWFsbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LmVycm9yLFxuICAgIHRleHRhcmVhLmVycm9yLFxuICAgIHNlbGVjdC5lcnJvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBsYWJlbC5lcnJvciB7IEBpbmNsdWRlIGZvcm0tbGFiZWwtZXJyb3ItY29sb3I7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc3R5bGVzXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcbiRoZWFkZXItZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzaXplc1xuJGgxLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIHNpemUgcmVkdWN0aW9uIG9uIHNtYWxsIHNjcmVlbnNcbiRoMS1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGgyLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kaDMtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuJGg0LWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRoNS1mb250LXJlZHVjdGlvbjogMCAhZGVmYXVsdDtcbiRoNi1mb250LXJlZHVjdGlvbjogMCAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCBob3cgc3ViaGVhZGVycyBhcmUgc3R5bGVkLlxuJHN1YmhlYWRlci1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHN1YmhlYWRlci1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHN1YmhlYWRlci10b3AtbWFyZ2luOiAuMnJlbSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEEgZ2VuZXJhbCA8c21hbGw+IHN0eWxpbmdcbiRzbWFsbC1mb250LXNpemU6IDYwJSAhZGVmYXVsdDtcbiRzbWFsbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBwYXJhZ3JhcGhzXG4kcGFyYWdyYXBoLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuJHBhcmFncmFwaC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHBhcmFncmFwaC1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDogMS4zNSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgPGNvZGU+IHRhZ3NcbiRjb2RlLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG4kY29kZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRjb2RlLWJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDcwJSkgIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNvZGUtYmFja2dyb3VuZC1jb2xvciwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyKSByZW0tY2FsYyg1KSByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGFuY2hvcnNcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG4kYW5jaG9yLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGFuY2hvci1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIDxocj4gZWxlbWVudFxuJGhyLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGhyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGlzdHNcbiRsaXN0LWZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGxpc3QtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsaXN0LWxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4xcmVtICFkZWZhdWx0O1xuJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjogMS40cmVtICFkZWZhdWx0O1xuJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0OiAwICFkZWZhdWx0O1xuJGxpc3QtbmVzdGVkLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b206IC4zcmVtICFkZWZhdWx0O1xuJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBibG9ja3F1b3Rlc1xuJGJsb2NrcXVvdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDIzJSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8gQWNyb255bSBzdHlsZXNcbiRhY3JvbnltLXVuZGVybGluZTogMXB4IGRvdHRlZCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBwYWRkaW5nIGFuZCBtYXJnaW5cbiRtaWNyb2Zvcm1hdC1wYWRkaW5nOiByZW0tY2FsYygxMCAxMikgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtbWFyZ2luOiByZW0tY2FsYygwIDAgMjAgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4kbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGZ1bGwgbmFtZSBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3VtbWFyeSBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgcGFkZGluZ1xuJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZzogcmVtLWNhbGMoMCAxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIGZvbnQgc3R5bGVzXG4kbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xzIHRoZSBwYWdlIG1hcmdpbiB3aGVuIHByaW50aW5nIHRoZSB3ZWJzaXRlXG4kcHJpbnQtbWFyZ2luOiAwLjM0aW4gIWRlZmF1bHQ7XG5cbi8vIFRleHQgYWxpZ25tZW50IGNsYXNzIG5hbWVzXG4kYWxpZ24tY2xhc3MtbmFtZXM6XG4gIHNtYWxsLW9ubHksXG4gIHNtYWxsLFxuICBtZWRpdW0tb25seSxcbiAgbWVkaXVtLFxuICBsYXJnZS1vbmx5LFxuICBsYXJnZSxcbiAgeGxhcmdlLW9ubHksXG4gIHhsYXJnZSxcbiAgeHhsYXJnZS1vbmx5LFxuICB4eGxhcmdlO1xuXG4vLyBUZXh0IGFsaWdubWVudCBicmVha3BvaW50c1xuJGFsaWduLWNsYXNzLWJyZWFrcG9pbnRzOlxuICAkc21hbGwtb25seSxcbiAgJHNtYWxsLXVwLFxuICAkbWVkaXVtLW9ubHksXG4gICRtZWRpdW0tdXAsXG4gICRsYXJnZS1vbmx5LFxuICAkbGFyZ2UtdXAsXG4gICR4bGFyZ2Utb25seSxcbiAgJHhsYXJnZS11cCxcbiAgJHh4bGFyZ2Utb25seSxcbiAgJHh4bGFyZ2UtdXA7XG5cbi8vIEdlbmVyYXRlcyB0ZXh0IGFsaWduIGFuZCBqdXN0aWZ5IGNsYXNzZXNcbkBtaXhpbiBhbGlnbi1jbGFzc2Vze1xuICAudGV4dC1sZWZ0ICAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXJpZ2h0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWNlbnRlciAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAudGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGFsaWduLWNsYXNzLW5hbWVzKSB7XG4gICAgQG1lZGlhICN7KG50aCgkYWxpZ24tY2xhc3MtYnJlYWtwb2ludHMsICRpKSl9IHtcbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LXJpZ2h0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1jZW50ZXIgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFR5cG9ncmFwaHkgUGxhY2Vob2xkZXJzXG4vL1xuXG4vLyBUaGVzZSB3aWxsIHRocm93IGEgZGVwcmVjYXRpb24gd2FybmluZyBpZiB1c2VkIHdpdGhpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGxlYWQge1xuICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgcmVtLWNhbGMoMy41KTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuQG1peGluIHN1YmhlYWRlciB7XG4gIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHN1YmhlYWRlci1mb250LWNvbG9yO1xuICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci10b3AtbWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW47XG59XG5AaW5jbHVkZSBleHBvcnRzKFwidHlwZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlcyB7XG4gICAgLy8gUmVzcG9uc2l2ZSBUZXh0IGFsaWdubWVudFxuICAgIEBpbmNsdWRlIGFsaWduLWNsYXNzZXM7XG5cbiAgICAvKiBUeXBvZ3JhcGh5IHJlc2V0cyAqL1xuICAgIGRpdixcbiAgICBkbCxcbiAgICBkdCxcbiAgICBkZCxcbiAgICB1bCxcbiAgICBvbCxcbiAgICBsaSxcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNixcbiAgICBwcmUsXG4gICAgZm9ybSxcbiAgICBwLFxuICAgIGJsb2NrcXVvdGUsXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBMaW5rIFN0eWxlcyAqL1xuICAgIGEge1xuICAgICAgY29sb3I6ICRhbmNob3ItZm9udC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGFuY2hvci1mb250LWNvbG9yLWhvdmVyO1xuICAgICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICBcdHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nIHsgYm9yZGVyOm5vbmU7IH1cbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IHBhcmFncmFwaCBzdHlsZXMgKi9cbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcblxuICAgICAgJi5sZWFkIHsgQGluY2x1ZGUgbGVhZDsgfVxuXG4gICAgICAmIGFzaWRlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC1zdHlsZTogJHBhcmFncmFwaC1hc2lkZS1mb250LXN0eWxlO1xuICAgICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEZWZhdWx0IGhlYWRlciBzdHlsZXMgKi9cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLWZvbnQtY29sb3I7XG4gICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLWJvdHRvbS1tYXJnaW47XG4gICAgICBtYXJnaW4tdG9wOiAkaGVhZGVyLXRvcC1tYXJnaW47XG4gICAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgICAgc21hbGwge1xuICAgICAgICBjb2xvcjogJHNtYWxsLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemUgLSAkaDEtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZSAtICRoMi1mb250LXJlZHVjdGlvbjsgfVxuICAgIGgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplIC0gJGgzLWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemUgLSAkaDQtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZSAtICRoNS1mb250LXJlZHVjdGlvbjsgfVxuICAgIGg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplIC0gJGg2LWZvbnQtcmVkdWN0aW9uOyB9XG5cbiAgICAuc3ViaGVhZGVyIHsgQGluY2x1ZGUgc3ViaGVhZGVyOyB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXI6ICRoci1ib3JkZXItc3R5bGUgJGhyLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogJGhyLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogJGhyLW1hcmdpbiAwICgkaHItbWFyZ2luIC0gcmVtLWNhbGMoJGhyLWJvcmRlci13aWR0aCkpO1xuICAgIH1cblxuICAgIC8qIEhlbHBmdWwgVHlwb2dyYXBoeSBEZWZhdWx0cyAqL1xuICAgIGVtLFxuICAgIGkge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgc3Ryb25nLFxuICAgIGIge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgY29kZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29kZS1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItc3R5bGU6ICRjb2RlLWJvcmRlci1zdHlsZTtcbiAgICAgIGJvcmRlci13aWR0aDogJGNvZGUtYm9yZGVyLXNpemU7XG4gICAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8qIExpc3RzICovXG4gICAgdWwsXG4gICAgb2wsXG4gICAgZGwge1xuICAgICAgZm9udC1mYW1pbHk6ICRsaXN0LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAkbGlzdC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZS1oZWlnaHQ7XG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICB9XG5cbiAgICAvKiBVbm9yZGVyZWQgTGlzdHMgKi9cbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc3F1YXJlLFxuICAgICAgJi5jaXJjbGUsXG4gICAgICAmLmRpc2Mge1xuICAgICAgICBsaSB1bCB7IGxpc3Qtc3R5bGU6IGluaGVyaXQ7IH1cbiAgICAgIH1cblxuICAgICAgJi5zcXVhcmUgeyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgICAmLmNpcmNsZSB7IGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlOyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO31cbiAgICAgICYuZGlzYyB7IGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgfVxuXG4gICAgLyogT3JkZXJlZCBMaXN0cyAqL1xuICAgIG9sIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjtcbiAgICAgIGxpIHtcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW5lc3RlZC1tYXJnaW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpc3RzIHdpdGhvdXQgYnVsbGV0c1xuICAgIC5uby1idWxsZXQge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ7XG4gICAgICBcbiAgICAgIGxpIHtcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW5lc3RlZC1tYXJnaW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGVmaW5pdGlvbiBMaXN0cyAqL1xuICAgIGRsIHtcbiAgICAgIGR0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDtcbiAgICAgIH1cbiAgICAgIGRkIHsgbWFyZ2luLWJvdHRvbTogJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOyB9XG4gICAgfVxuXG4gICAgLyogQWJicmV2aWF0aW9ucyAqL1xuICAgIGFiYnIsXG4gICAgYWNyb255bSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1oZWxwLXZhbHVlO1xuICAgIH1cbiAgICBhYmJyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgJlt0aXRsZV0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYWNyb255bS11bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQmxvY2txdW90ZXMgKi9cbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICAgY2l0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICBhOnZpc2l0ZWQge1xuICAgICAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYmxvY2txdW90ZSxcbiAgICBibG9ja3F1b3RlIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICAvKiBNaWNyb2Zvcm1hdHMgKi9cbiAgICAudmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAkbWljcm9mb3JtYXQtbWFyZ2luO1xuICAgICAgYm9yZGVyOiAkbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoICRtaWNyb2Zvcm1hdC1ib3JkZXItc3R5bGUgJG1pY3JvZm9ybWF0LWJvcmRlci1jb2xvcjtcbiAgICAgIHBhZGRpbmc6ICRtaWNyb2Zvcm1hdC1wYWRkaW5nO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuZm4ge1xuICAgICAgICBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0O1xuICAgICAgICBmb250LXNpemU6ICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZldmVudCB7XG4gICAgICAuc3VtbWFyeSB7IGZvbnQtd2VpZ2h0OiAkbWljcm9mb3JtYXQtc3VtbWFyeS1mb250LXdlaWdodDsgfVxuXG4gICAgICBhYmJyIHtcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uO1xuICAgICAgICBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LWFiYnItZm9udC13ZWlnaHQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgeyBsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDsgfVxuICAgICAgaDEgeyBmb250LXNpemU6ICRoMS1mb250LXNpemU7IH1cbiAgICAgIGgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplOyB9XG4gICAgICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTsgfVxuICAgICAgaDQgeyBmb250LXNpemU6ICRoNC1mb250LXNpemU7IH1cbiAgICAgIGg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XG4gICAgICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTsgfVxuICAgIH1cblxuICAgIC8vIE9ubHkgaW5jbHVkZSB0aGVzZSBzdHlsZXMgaWYgeW91IHdhbnQgdGhlbS5cbiAgICBAaWYgJGluY2x1ZGUtcHJpbnQtc3R5bGVzIHtcbiAgICAgIC8qXG4gICAgICAgKiBQcmludCBzdHlsZXMuXG4gICAgICAgKlxuICAgICAgICogSW5saW5lZCB0byBhdm9pZCByZXF1aXJlZCBIVFRQIGNvbm5lY3Rpb246IHd3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4gICAgICAgKiBDcmVkaXQgdG8gUGF1bCBJcmlzaCBhbmQgSFRNTDUgQm9pbGVycGxhdGUgKGh0bWw1Ym9pbGVycGxhdGUuY29tKVxuICAgICAgKi9cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICoge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zICovXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuXG4gICAgICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG5cbiAgICAgICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyBmb3IgaW1hZ2VzLCBvciBqYXZhc2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgICAgIC5pciBhOmFmdGVyLFxuICAgICAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgICAgIGFbaHJlZl49XCIjXCJdOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxuXG4gICAgICAgIHByZSxcbiAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFsdW1pbnVtO1xuICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvKiBoNWJwLmNvbS90ICovIH1cblxuICAgICAgICB0cixcbiAgICAgICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICAgICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICBAcGFnZSB7IG1hcmdpbjogJHByaW50LW1hcmdpbjsgfVxuXG4gICAgICAgIHAsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyB7XG4gICAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgICB3aWRvd3M6IDM7XG4gICAgICAgIH1cblxuICAgICAgICBoMixcbiAgICAgICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gRm91bmRhdGlvbiBWaXNpYmlsaXR5IENsYXNzZXNcbi8vXG4kaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIE1lZGlhIENsYXNzIE5hbWVzXG4vL1xuLy8gVmlzaWJpbGl0eSBCcmVha3BvaW50c1xuJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplczpcbiAgc21hbGwsXG4gIG1lZGl1bSxcbiAgbGFyZ2UsXG4gIHhsYXJnZSxcbiAgeHhsYXJnZTtcblxuJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzOlxuICB1bnF1b3RlKCRzbWFsbC11cCksXG4gIHVucXVvdGUoJG1lZGl1bS11cCksXG4gIHVucXVvdGUoJGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeHhsYXJnZS11cCk7XG5cbkBtaXhpbiB2aXNpYmlsaXR5LWxvb3Age1xuICBAZWFjaCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XG4gICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6ICgpO1xuXG4gICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogKCk7XG5cbiAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6ICgpO1xuXG4gICAgQGVhY2ggJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xuICAgICAgQGlmIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgPCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gU21hbGxlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpID4gaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XG4gICAgICAgIC8vIExhcmdlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAjeyRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludH0gZGlzcGxheXMgKi9cbiAgICBAbWVkaWEgI3tudGgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzLCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpKX0ge1xuICAgICAgI3skdmlzaWJpbGl0eS1pbmhlcml0LWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgI3skdmlzaWJpbGl0eS1ub25lLWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdmlzaWJsZS1saXN0fSB7XG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktaGlkZGVuLWxpc3R9IHtcbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2aXNpYmlsaXR5XCIpe1xuICBAaWYgJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuXG4gIEBpbmNsdWRlIHZpc2liaWxpdHktbG9vcDtcblxuICAvKiBPcmllbnRhdGlvbiB0YXJnZXRpbmcgKi9cbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZSB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0aGVhZCB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGJvZHkge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB9XG4gIHRyIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0ZCxcbiAgdGgge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgICB0YWJsZSB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRyIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRwb3J0cmFpdH0ge1xuICAgIC5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0LFxuICAgIC5zaG93LWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICAgIHRhYmxlIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGhlYWQge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdHIge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXG4gIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudG91Y2ggLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGFibGUuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRoZWFkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ci5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ZC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGguc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTY3JlZW4gcmVhZGVyLXNwZWNpZmljIGNsYXNzZXMgKi9cbiAgLnNob3ctZm9yLXNyIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvKiBQcmludCB2aXNpYmlsaXR5ICovXG4gIEBpZiAkaW5jbHVkZS1wcmludC1zdHlsZXMge1xuICAgIC5wcmludC1vbmx5LFxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAucHJpbnQtb25seSxcbiAgICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5oaWRlLW9uLXByaW50LFxuICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG4gIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInNsaWNrXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi9cIiAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIuKGkFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIuKGklwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwi4oCiXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTBweFxcOTsgLypsdGUgSUUgOCovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtNDVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG5cdGpRdWVyeS5tbWVudSBDU1NcbiovXG4vKlxuXHRqUXVlcnkubW1lbnUgb25jYW52YXMgQ1NTXG4qL1xuLm1tLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubW0td3JhcHBlciB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5tbS1tZW51LFxuLm1tLXBhbmVscyxcbi5tbS1wYW5lbHMgPiAubW0tcGFuZWwge1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAwOyB9XG5cbi5tbS1tZW51IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1tLXBhbmVsIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC40cyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICAubW0tcGFuZWwubW0tb3BlbmVkIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApOyB9XG4gIC5tbS1wYW5lbC5tbS1zdWJvcGVuZWQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAlLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwJSwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwJSwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMCUsIDAsIDApOyB9XG4gIC5tbS1wYW5lbC5tbS1oaWdoZXN0IHtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5tbS1wYW5lbHMsXG4ubW0tcGFuZWxzID4gLm1tLXBhbmVsIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG5cbi5tbS1wYW5lbHMgPiAubW0tcGFuZWwge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgLm1tLXBhbmVscyA+IC5tbS1wYW5lbC5tbS1oYXNuYXZiYXIge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9XG4gIC5tbS1wYW5lbHMgPiAubW0tcGFuZWw6YmVmb3JlLCAubW0tcGFuZWxzID4gLm1tLXBhbmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7IH1cblxuLm1tLXZlcnRpY2FsIC5tbS1wYW5lbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tcy10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgLW8tdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tbS12ZXJ0aWNhbCAubW0tbGlzdHZpZXcgLm1tLXBhbmVsLFxuLm1tLWxpc3R2aWV3IC5tbS12ZXJ0aWNhbCAubW0tcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxMHB4IDAgMTBweCAxMHB4OyB9XG4gIC5tbS12ZXJ0aWNhbCAubW0tbGlzdHZpZXcgLm1tLXBhbmVsIC5tbS1saXN0dmlldyA+IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIsXG4gIC5tbS1saXN0dmlldyAubW0tdmVydGljYWwgLm1tLXBhbmVsIC5tbS1saXN0dmlldyA+IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm1tLXZlcnRpY2FsIGxpLm1tLW9wZW5lZCA+IC5tbS1wYW5lbCxcbmxpLm1tLXZlcnRpY2FsLm1tLW9wZW5lZCA+IC5tbS1wYW5lbCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tbS12ZXJ0aWNhbCAubW0tbGlzdHZpZXcgPiBsaSA+IC5tbS1uZXh0LFxuLm1tLWxpc3R2aWV3ID4gbGkubW0tdmVydGljYWwgPiAubW0tbmV4dCB7XG4gIGhlaWdodDogNDBweDtcbiAgYm90dG9tOiBhdXRvOyB9XG4gIC5tbS12ZXJ0aWNhbCAubW0tbGlzdHZpZXcgPiBsaSA+IC5tbS1uZXh0OmFmdGVyLFxuICAubW0tbGlzdHZpZXcgPiBsaS5tbS12ZXJ0aWNhbCA+IC5tbS1uZXh0OmFmdGVyIHtcbiAgICB0b3A6IDE2cHg7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4ubW0tdmVydGljYWwgLm1tLWxpc3R2aWV3ID4gbGkubW0tb3BlbmVkID4gLm1tLW5leHQ6YWZ0ZXIsXG4ubW0tbGlzdHZpZXcgPiBsaS5tbS12ZXJ0aWNhbC5tbS1vcGVuZWQgPiAubW0tbmV4dDphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLm1tLW5hdmJhciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgNDBweDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cbiAgLm1tLW5hdmJhciA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAubW0tbmF2YmFyIGEsXG4gIC5tbS1uYXZiYXIgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5tbS1uYXZiYXIgLm1tLXRpdGxlIHtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1tLW5hdmJhciAubW0tYnRuIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAubW0tbmF2YmFyIC5tbS1idG46Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5tbS1uYXZiYXIgLm1tLWJ0bjpsYXN0LWNoaWxkIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHJpZ2h0OiAwOyB9XG5cbi5tbS1wYW5lbCAubW0tbmF2YmFyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuLm1tLXBhbmVsLm1tLWhhc25hdmJhciAubW0tbmF2YmFyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1tLWxpc3R2aWV3LFxuLm1tLWxpc3R2aWV3ID4gbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tbS1saXN0dmlldyB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgLm1tLWxpc3R2aWV3IGEsXG4gIC5tbS1saXN0dmlldyBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm1tLWxpc3R2aWV3ID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tbS1saXN0dmlldyA+IGxpLCAubW0tbGlzdHZpZXcgPiBsaTphZnRlcixcbiAgICAubW0tbGlzdHZpZXcgPiBsaSAubW0tbmV4dCxcbiAgICAubW0tbGlzdHZpZXcgPiBsaSAubW0tbmV4dDpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgLm1tLWxpc3R2aWV3ID4gbGkgPiBhLFxuICAgIC5tbS1saXN0dmlldyA+IGxpID4gc3BhbiB7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDIwcHg7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5tbS1saXN0dmlldyA+IGxpID4gYS5tbS1hcnJvdyxcbiAgICAgIC5tbS1saXN0dmlldyA+IGxpID4gc3Bhbi5tbS1hcnJvdyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cbiAgICAubW0tbGlzdHZpZXcgPiBsaTpub3QoLm1tLWRpdmlkZXIpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgIC5tbS1saXN0dmlldyA+IGxpOm5vdCgubW0tZGl2aWRlcik6YWZ0ZXIge1xuICAgICAgbGVmdDogMjBweDsgfVxuICAubW0tbGlzdHZpZXcgLm1tLW5leHQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMywgMiwgMSwgMCk7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLm1tLWxpc3R2aWV3IC5tbS1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAubW0tbGlzdHZpZXcgLm1tLW5leHQgKyBhLFxuICAgIC5tbS1saXN0dmlldyAubW0tbmV4dCArIHNwYW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9XG4gICAgLm1tLWxpc3R2aWV3IC5tbS1uZXh0Lm1tLWZ1bGxzdWJvcGVuIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAubW0tbGlzdHZpZXcgLm1tLW5leHQubW0tZnVsbHN1Ym9wZW46YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgICAgIC5tbS1saXN0dmlldyAubW0tbmV4dC5tbS1mdWxsc3Vib3BlbiArIGEsXG4gICAgICAubW0tbGlzdHZpZXcgLm1tLW5leHQubW0tZnVsbHN1Ym9wZW4gKyBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5tbS1wYW5lbHMgPiAubW0tcGFuZWwgPiAubW0tbGlzdHZpZXcge1xuICBtYXJnaW46IDIwcHggLTIwcHg7IH1cbi5tbS1wYW5lbHMgPiAubW0tcGFuZWwgPiAubW0tbGlzdHZpZXc6Zmlyc3QtY2hpbGQsXG4ubW0tcGFuZWxzID4gLm1tLXBhbmVsID4gLm1tLW5hdmJhciArIC5tbS1saXN0dmlldyB7XG4gIG1hcmdpbi10b3A6IC0yMHB4OyB9XG5cbi5tbS1saXN0dmlldyAubW0taW5zZXQge1xuICBsaXN0LXN0eWxlOiBpbnNpZGUgZGlzYztcbiAgcGFkZGluZzogMCAxMHB4IDE1cHggNDBweDtcbiAgbWFyZ2luOiAwOyB9XG4gIC5tbS1saXN0dmlldyAubW0taW5zZXQgPiBsaSB7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cblxuLm1tLWxpc3R2aWV3IC5tbS1kaXZpZGVyIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1pbmRlbnQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG5cbi5tbS1saXN0dmlldyAubW0tc3BhY2VyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7IH1cbiAgLm1tLWxpc3R2aWV3IC5tbS1zcGFjZXIgPiAubW0tbmV4dCB7XG4gICAgdG9wOiA0MHB4OyB9XG4gIC5tbS1saXN0dmlldyAubW0tc3BhY2VyLm1tLWRpdmlkZXIge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4OyB9XG5cbi5tbS1wcmV2OmJlZm9yZSxcbi5tbS1uZXh0OmFmdGVyLFxuLm1tLWFycm93OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4ubW0tcHJldjpiZWZvcmUge1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGxlZnQ6IDIzcHg7IH1cblxuLm1tLW5leHQ6YWZ0ZXIsXG4ubW0tYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgcmlnaHQ6IDIzcHg7IH1cblxuLm1tLW1lbnUge1xuICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAubW0tbWVudSAubW0tbmF2YmFyID4gKixcbiAgLm1tLW1lbnUgLm1tLW5hdmJhciBhIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gIC5tbS1tZW51IC5tbS1uYXZiYXIgLm1tLWJ0bjpiZWZvcmUsIC5tbS1tZW51IC5tbS1uYXZiYXIgLm1tLWJ0bjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgLm1tLW1lbnUgLm1tLWxpc3R2aWV3IHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgIC5tbS1tZW51IC5tbS1saXN0dmlldyA+IGxpIC5tbS1uZXh0OmFmdGVyLFxuICAgIC5tbS1tZW51IC5tbS1saXN0dmlldyA+IGxpIC5tbS1hcnJvdzphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAgIC5tbS1tZW51IC5tbS1saXN0dmlldyA+IGxpIGE6bm90KC5tbS1uZXh0KSB7XG4gICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIHRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5tbS1tZW51IC5tbS1saXN0dmlldyA+IGxpLm1tLXNlbGVjdGVkID4gYTpub3QoLm1tLW5leHQpLFxuICAgIC5tbS1tZW51IC5tbS1saXN0dmlldyA+IGxpLm1tLXNlbGVjdGVkID4gc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLm1tLW1lbnUubW0tdmVydGljYWwgLm1tLWxpc3R2aWV3ID4gbGkubW0tb3BlbmVkID4gYS5tbS1uZXh0LFxuICAubW0tbWVudS5tbS12ZXJ0aWNhbCAubW0tbGlzdHZpZXcgPiBsaS5tbS1vcGVuZWQgPiAubW0tcGFuZWwsXG4gIC5tbS1tZW51IC5tbS1saXN0dmlldyA+IGxpLm1tLW9wZW5lZC5tbS12ZXJ0aWNhbCA+IGEubW0tbmV4dCxcbiAgLm1tLW1lbnUgLm1tLWxpc3R2aWV3ID4gbGkubW0tb3BlbmVkLm1tLXZlcnRpY2FsID4gLm1tLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG4gIC5tbS1tZW51IC5tbS1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG5cbi8qXG5cdGpRdWVyeS5tbWVudSBvZmZjYW52YXMgYWRkb24gQ1NTXG4qL1xuLm1tLXBhZ2Uge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm1tLXNsaWRlb3V0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtdHJhbnNmb3JtIDAuNHMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZTsgfVxuXG5odG1sLm1tLW9wZW5lZCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmh0bWwubW0tYmxvY2tpbmcge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIGh0bWwubW0tYmxvY2tpbmcgYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLm1tLWJhY2tncm91bmQgLm1tLXBhZ2Uge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0OyB9XG5cbiNtbS1ibG9ja2VyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzLCAyLCAxLCAwKTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk5OTsgfVxuXG5odG1sLm1tLWJsb2NraW5nICNtbS1ibG9ja2VyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1tLW1lbnUubW0tb2ZmY2FudmFzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG4ubW0tbWVudS5tbS1jdXJyZW50IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1tLW1lbnUge1xuICB3aWR0aDogODAlO1xuICBtaW4td2lkdGg6IDE0MHB4O1xuICBtYXgtd2lkdGg6IDQ0MHB4OyB9XG5cbmh0bWwubW0tb3BlbmluZyAubW0tc2xpZGVvdXQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDgwJSwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoODAlLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDgwJSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDgwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDgwJSwgMCk7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTc1cHgpIHtcbiAgaHRtbC5tbS1vcGVuaW5nIC5tbS1zbGlkZW91dCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNDBweCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNDBweCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDE0MHB4LCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTQwcHgsIDApOyB9IH1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gIGh0bWwubW0tb3BlbmluZyAubW0tc2xpZGVvdXQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDQwcHgsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDQwcHgsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0NDBweCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDQwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDQ0MHB4LCAwKTsgfSB9XG4iLCIvKlxuXHRqUXVlcnkubW1lbnUgcG9zaXRpb24gZXh0ZW5zaW9uIENTU1xuKi9cbi5tbS1tZW51Lm1tLXRvcCxcbi5tbS1tZW51Lm1tLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ubW0tbWVudS5tbS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5tbS1tZW51Lm1tLWJvdHRvbSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwOyB9XG5cbmh0bWwubW0tcmlnaHQubW0tb3BlbmluZyAubW0tc2xpZGVvdXQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC04MCUsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC04MCUsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTgwJSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC04MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtODAlLCAwKTsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxNzVweCkge1xuICBodG1sLm1tLXJpZ2h0Lm1tLW9wZW5pbmcgLm1tLXNsaWRlb3V0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xNDBweCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTQwcHgsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTQwcHgsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xNDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE0MHB4LCAwKTsgfSB9XG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA1NTBweCkge1xuICBodG1sLm1tLXJpZ2h0Lm1tLW9wZW5pbmcgLm1tLXNsaWRlb3V0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC00NDBweCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDQwcHgsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDQwcHgsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC00NDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQ0MHB4LCAwKTsgfSB9XG4vKlxuXHRqUXVlcnkubW1lbnUgei1wb3NpdGlvbiBleHRlbnNpb24gQ1NTXG4qL1xuaHRtbC5tbS1mcm9udCAubW0tc2xpZGVvdXQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAtbXMtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIC1vLXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgei1pbmRleDogMCAhaW1wb3J0YW50OyB9XG5cbi5tbS1tZW51Lm1tLWZyb250IHtcbiAgei1pbmRleDogMTsgfVxuXG4ubW0tbWVudS5tbS1mcm9udCwgLm1tLW1lbnUubW0tbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC40cyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gIC5tbS1tZW51Lm1tLWZyb250Lm1tLXJpZ2h0LCAubW0tbWVudS5tbS1uZXh0Lm1tLXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuLm1tLW1lbnUubW0tdG9wIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbi5tbS1tZW51Lm1tLWJvdHRvbSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuXG5odG1sLm1tLW9wZW5pbmcgLm1tLW1lbnUubW0tZnJvbnQsIGh0bWwubW0tb3BlbmluZyAubW0tbWVudS5tbS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5tbS1tZW51Lm1tLXRvcCwgLm1tLW1lbnUubW0tYm90dG9tIHtcbiAgaGVpZ2h0OiA4MCU7XG4gIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICBtYXgtaGVpZ2h0OiA4ODBweDsgfVxuIiwiLyogUHJlbG9hZCBpbWFnZXMgKi9cbmJvZHk6YWZ0ZXIge1xuICBjb250ZW50OiB1cmwoLi4vaW1hZ2VzL2Nsb3NlLnBuZykgdXJsKC4uL2ltYWdlcy9sb2FkaW5nLmdpZikgdXJsKC4uL2ltYWdlcy9wcmV2LnBuZykgdXJsKC4uL2ltYWdlcy9uZXh0LnBuZyk7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkubGItZGlzYWJsZS1zY3JvbGxpbmcge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubGlnaHRib3hPdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtcbiAgb3BhY2l0eTogMC44O1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGlnaHRib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmxpZ2h0Ym94IC5sYi1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ubGlnaHRib3ggYSBpbWcge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5sYi1vdXRlckNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICp6b29tOiAxO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMjUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5sYi1vdXRlckNvbnRhaW5lcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmxiLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDRweDtcbn1cblxuLmxiLWxvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0MyU7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMjUlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmxiLWNhbmNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9sb2FkaW5nLmdpZikgbm8tcmVwZWF0O1xufVxuXG4ubGItbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4ubGItY29udGFpbmVyID4gLm5hdiB7XG4gIGxlZnQ6IDA7XG59XG5cbi5sYi1uYXYgYSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFQQUFBUC8vL3dBQUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PScpO1xufVxuXG4ubGItcHJldiwgLmxiLW5leHQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5sYi1uYXYgYS5sYi1wcmV2IHtcbiAgd2lkdGg6IDM0JTtcbiAgbGVmdDogMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcHJldi5wbmcpIGxlZnQgNDglIG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbn1cblxuLmxiLW5hdiBhLmxiLXByZXY6aG92ZXIge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sYi1uYXYgYS5sYi1uZXh0IHtcbiAgd2lkdGg6IDY0JTtcbiAgcmlnaHQ6IDA7XG4gIGZsb2F0OiByaWdodDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uZXh0LnBuZykgcmlnaHQgNDglIG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbn1cblxuLmxiLW5hdiBhLmxiLW5leHQ6aG92ZXIge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sYi1kYXRhQ29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gICp6b29tOiAxO1xuICB3aWR0aDogMTAwJTtcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDRweDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbn1cblxuLmxiLWRhdGFDb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5sYi1kYXRhIHtcbiAgcGFkZGluZzogMCA0cHg7XG4gIGNvbG9yOiAjY2NjO1xufVxuXG4ubGItZGF0YSAubGItZGV0YWlscyB7XG4gIHdpZHRoOiA4NSU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS4xZW07XG59XG5cbi5sYi1kYXRhIC5sYi1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuLmxiLWRhdGEgLmxiLW51bWJlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogbGVmdDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLmxiLWRhdGEgLmxiLWNsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jbG9zZS5wbmcpIHRvcCByaWdodCBuby1yZXBlYXQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBvdXRsaW5lOiBub25lO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTcwKTtcbiAgb3BhY2l0eTogMC43O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4ubGItZGF0YSAubGItY2xvc2U6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgb3BhY2l0eTogMTtcbn1cbiIsIi8qIFZhcmlhYmxlcyAqL1xuJHB1cnBsZSA6ICM0ZTE5NjU7XG4kZHB1cnBsZTogIzIwMGEzNTtcblxuLyogR2VuZXJhbCBzdHlsZXMgKi9cbmJvZHkgeyBtaW4td2lkdGg6IDMyMHB4OyB9XG5vbCx1bCxsaSB7IGxpc3Qtc3R5bGU6IG5vbmU7fVxuaW1nIHsgbWF4LXdpZHRoOiAxMDAlO31cblxuI3NsaWNrX3NsaWRlciB7IG92ZXJmbG93OiBoaWRkZW47IGNsZWFyOiBib3RoO31cbi5zbGljay1uZXh0OmJlZm9yZSwgLnNsaWNrLXByZXY6YmVmb3JlIHsgY29sb3I6ICMwMDA7fVxuXG4vKiBGb250IHN0eWxlcyAqL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYSwgbGksIHsgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsgfVxuaDF7IGZvbnQtc2l6ZTogMS42ZW07IGNvbG9yOiAkcHVycGxlOyB9XG5oMnsgY29sb3I6ICRkcHVycGxlOyBmb250LXNpemU6IDEuM2VtO31cbmgzeyBmb250LXNpemU6IDFlbTsgY29sb3I6ICRwdXJwbGU7IH1cbmg0eyBmb250LXNpemU6IDEuMmVtOyBjb2xvcjogJHB1cnBsZTsgfVxucCwgdGFibGV7Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogMTAwOyBmb250LXNpemU6IC44NWVtOyBjb2xvcjogJHB1cnBsZTsgfVxuXG5heyBjb2xvcjogJHB1cnBsZTsgfVxuXG5cbnRhYmxleyBtYXJnaW4tYm90dG9tOiAxZW07IHdpZHRoOiAxMDAlO31cbnRkeyBwYWRkaW5nOiA1cHg7IH1cblxuLyogIExpZ2h0Ym94IEltYWdlIFBhdGggKi9cbmJvZHk6YWZ0ZXIge1xuICBjb250ZW50OiB1cmwoL2Fzc2V0cy9pbWFnZXMvY2xvc2UucG5nKSB1cmwoL2Fzc2V0cy9pbWFnZXMvbG9hZGluZy5naWYpIHVybCgvYXNzZXRzL2ltYWdlcy9wcmV2LnBuZykgdXJsKC9hc3NldHMvaW1hZ2VzL25leHQucG5nKTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5sYi1uYXYgYS5sYi1wcmV2IHsgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL3ByZXYucG5nKSBsZWZ0IDQ4JSBuby1yZXBlYXQ7fVxuLmxiLW5hdiBhLmxiLW5leHQgeyBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvbmV4dC5wbmcpIHJpZ2h0IDQ4JSBuby1yZXBlYXQ7fVxuLmxiLWRhdGEgLmxiLWNsb3NlIHsgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2Nsb3NlLnBuZykgdG9wIHJpZ2h0IG5vLXJlcGVhdDt9XG5cbi8qIE1hcCBTY3JvbGxpbmcgKi9cbi5tYXAgLnNjcm9sbG9mZiB7IHBvaW50ZXItZXZlbnRzOiBub25lO31cblxuXG4vKiBCdXR0b24gU3R5bGVzICovXG4ucHVycGxlLWJ0bntcblx0YmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcblx0cGFkZGluZzogN3B4IDEycHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsgXG5cdGZvbnQtd2VpZ2h0OiAxMDA7IFxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogM3B4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC41cyBlYXNlO1xuXHRmb250LXNpemU6IC45ZW07XG59XG4ucHVycGxlLWJ0bjpob3Zlcntcblx0YmFja2dyb3VuZC1jb2xvcjogJGRwdXJwbGU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgLjVzIGVhc2U7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4uZ2VuZXJpY3tcblx0cGFkZGluZzogMmVtIDFlbTtcbn1cblxuLmYtZHJvcGRvd257XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdG1hcmdpbi10b3A6IDFlbTtcblx0b3V0bGluZTogbm9uZTtcblx0cGFkZGluZzogLjVlbSAxZW0gMS41ZW07XG5cdGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XG5cdGxpe1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdFxuXHRcdGF7XG5cdFx0XHRjb2xvcjogI2ZmZiFpbXBvcnRhbnQ7XG5cdFx0XHRmb250LXNpemU6IC44NWVtIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODE2OTk3O1xuXHRcdH1cblx0XHRcblx0fVxuXHRsaTpob3ZlciB7IFxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzgxNjk5NyFpbXBvcnRhbnQ7IFxuXHRcdH1cbn1cblxuLyogSGVhZGVyICovXG5oZWFkZXIge1xuXHRwYWRkaW5nOiAuNWVtIDA7XG5cblx0Lm1haW5fbmF2IHtcblx0XHR1bCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAuNWVtO1xuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdGNvbG9yOiAkcHVycGxlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogLjhlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0bGkubGFzdHsgbWFyZ2luOiAwOyB9XG5cdFx0fVxuXHR9XG5cdC5uYXZ7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cdC5lbnF1aXJle1xuXHRcdHBhZGRpbmc6IDMuNWVtIDAgMWVtO1xuXHR9XG5cdC5sb2dve1xuXHRcdG1heC13aWR0aDogMjgwcHg7XG5cdH1cbn1cblxuXG5cbmhlYWRlciAjbXktbWVudSB7IGRpc3BsYXk6IG5vbmU7fVxuXG5cbmhlYWRlciAubW9iaWxlX21lbnUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAxZW07XG5cdHRvcDogMWVtO1xuXG5cdGltZyB7IG1heC13aWR0aDogMzVweDsgbWF4LWhlaWdodDogMzVweDt9XG59XG5cbi5tYXN0aGVhZHtcblx0cGFkZGluZzogMmVtIDA7XG5cblx0aDJ7IGZvbnQtc2l6ZTogMi42ZW07IGNvbG9yOiAjZmZmOyB9XG5cdGgxeyBmb250LXNpemU6IC45ZW07IGNvbG9yOiAjZmZmOyBtYXJnaW4tdG9wOiAtMWVtOyBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiAxMDA7fVxufVxuXG4ucC1iYWNreyBcblx0YmFja2dyb3VuZC1jb2xvcjogJGRwdXJwbGU7XG5cdHBhZGRpbmc6IC41ZW07XG5cdGgzLCBheyBjb2xvcjogI2ZmZjsgbWFyZ2luOiAwOyBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiAxMDA7IGxldHRlci1zcGFjaW5nOiAzcHg7IGZvbnQtc2l6ZTogMWVtOyB9XG5cdHRyYW5zaXRpb246IDAuNXMgZWFzZSBhbGw7XG5cbn1cblxuLnAtYmFjazpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjogcmdiYSg3OCwyNSwxMDEsIDEpOyB0cmFuc2l0aW9uOiAwLjVzIGVhc2UgYWxsOyBjdXJzb3I6IHBvaW50ZXI7fVxuXG5cbnNlY3Rpb24ge1xuXHRwYWRkaW5nOiAuNWVtIDA7XG59XG5cbiNjb250YWluZXJ7XG5cdGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9zd2lybHMucG5nKSAgbm8tcmVwZWF0O1xuXHRwYWRkaW5nOiAxZW0gMCAyZW07XG59XG5cbi5ibG9jay1jYXB0aW9ue1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc4LDI1LDEwMSwgMC43KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tdG9wOiAtMy41ZW07XG5cdHBhZGRpbmc6IDE1cHggMCAxNXB4IDEwcHg7XG5cdHRyYW5zaXRpb246IDAuNXMgZWFzZSBhbGw7XG5cdGgze1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1x0XHRcblx0XHRtYXJnaW46IDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDNweDtcblx0XHRmb250LXNpemU6IDEuMWVtO1xuXHR9XG59XG5cbi5ibG9jay1jYXB0aW9uOmhvdmVyIHtiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc4LDI1LDEwMSwgMC45OSk7IHRyYW5zaXRpb246IDAuNXMgZWFzZSBhbGw7fVxuXG5cbi5ncmlkLWl0ZW0geyB3aWR0aDogNDglOyBtYXJnaW46IDElOyB9XG5cblxuLypJbm5lciBwYWdlcyovXG4ubWFzdC1iYW5uZXJ7XG5cdHBhZGRpbmc6IDJlbSAwO1xuXHRtYXgtd2lkdGg6IDE2MDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGgxe1xuXHRcdGNvbG9yOiAjZmZmO1xuXHR9XG59XG5cbi5taWRkbGUtaW1hZ2V7IG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG4ucmV2aWV3LCAuZ3JleS1ye1xuXHRwYWRkaW5nOiAxZW07XG5cdG1hcmdpbi1ib3R0b206IDFlbTtcblx0cHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi5ib3R0b20taW1hZ2V7XG5cdG1hcmdpbi10b3A6IDJlbTtcbn1cbi5ncmV5LXJ7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI2LDIyNiwyMjYsIDAuNSk7XG59XG5cbi5nYWxsZXJ5eyBtYXJnaW4tYm90dG9tOiAyZW07IH1cblxuLm1lbnUtZW5ke1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbn1cblxuLypDb250YWN0Ki9cblxuLm1hcCBpZnJhbWV7IG1heC1oZWlnaHQ6IDE1MHB4OyB9XG5cbi5pbmZvLWJsb2Nre1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xuXHRwYWRkaW5nOiAxZW07XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0cHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRmb250LXNpemU6IC44ZW07XG5cdH1cblx0aDQsIGF7IGNvbG9yOiAjZmZmOyB9XG5cdGF7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG59XG5cbmZvcm0ge1xuXHRwYWRkaW5nOiAxZW0gMDtcbn1cbi5ob25leV9jb250YWluZXIgeyBkaXNwbGF5OiBub25lO31cbmZvcm0gaW5wdXRbdHlwZT10ZXh0XSB7IGhlaWdodDogNDBweDt9XG5mb3JtIGlucHV0W3R5cGU9dGV4dF0sIGZvcm0gdGV4dGFyZWEgeyBcblx0Ym9yZGVyOiBub25lO1xuXHRmb250LXNpemU6IC44NWVtO1xuXHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQyLDI0MiwyNDIsIDAuNyk7XG5cdG1hcmdpbi1ib3R0b206IC41ZW07XG59XG5mb3JtIHRleHRhcmVhIHsgXG5cdG1heC1oZWlnaHQ6IDE1MHB4O1xuXHR9XG5mb3JtIDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJHB1cnBsZTsgfVxuZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0geyBcblx0YmFja2dyb3VuZDogJHB1cnBsZTtcblx0Ym9yZGVyOiBub25lO1xuXHRjb2xvcjogI2ZmZjtcblx0cGFkZGluZzogLjVlbSAxZW07XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgLjVzIGVhc2U7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHdpZHRoOiAxMDAlO1xufVxuZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIgeyBcblx0YmFja2dyb3VuZDogJGRwdXJwbGU7XG5cdGNvbG9yOiAjZmZmO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC41cyBlYXNlO1xufVxuLyogRm9vdGVyICovXG5mb290ZXIgeyBcblx0YmFja2dyb3VuZDogJGRwdXJwbGU7IFxuXHRwYWRkaW5nOiAyZW0gMDsgXG5cdGNvbG9yOiAjZmZmO1xuXHRmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiAxMDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogMWVtO1xuXHQudHdpc3R7XG5cdFx0bWF4LXdpZHRoOiAxMzBweDsgbWF4LWhlaWdodDogMjNweDtcblx0fVxuXHRsaSwgYSwgaDYsIHB7XG5cdFx0Y29sb3I6ICNmZmY7IGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDEwMDtcblx0XHRcblx0fVxuXHRsaXsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXHQuYy1kZXRhaWxze1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZy1ib3R0b206IDFlbTtcblx0XHRhOmhvdmVye1xuXHRcdFx0Y29sb3I6IzgxNjk5Nztcblx0XHR9XG5cdH1cblx0LnNvY2lhbF9tZWRpYXtcblx0XHRwYWRkaW5nOiAxZW0gMDtcblx0XHRpbWcgeyBtYXgtd2lkdGg6IDQwcHg7IG1heC1oZWlnaHQ6IDQwcHg7IG1hcmdpbjogMCAuNWVtO31cblxuXHR9XG5cdGEgaW1nOmhvdmVyeyBvcGFjaXR5OiAuODsgfVxuXHRbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gYXtcblx0XHRjb2xvcjogI0MzQjdDRTsgZm9udC1zaXplOiAuODNlbTtcblx0fVxuXHRbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gYTpob3Zlcntcblx0XHRjb2xvcjogI2ZmZjtcblx0fVxuXHQuYm90dG9tLWJhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMTkwNzJhO1xuXHRcdG1hcmdpbi10b3A6IDFlbTtcblx0XHRwYWRkaW5nOiAxZW0gMDtcblx0XHRwe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGZvbnQtc2l6ZTogLjhlbTtcblx0XHRcdGNvbG9yOiAjQzNCN0NFO1xuXHRcdH1cblx0XHRhe2NvbG9yOiAjQzNCN0NFO31cblx0XHRhOmhvdmVye2NvbG9yOiAjZmZmO31cblx0fVxuXHQucHVycGxleyBjb2xvcjogIzgxNjk5Nzt9XG5cdC50YXtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG59XG5cbkBtZWRpYSAjeyRzbWFsbC1vbmx5fXtcblx0LmJvb2tpbmd7XG5cdFx0cGFkZGluZzogMWVtIDA7XG5cdH1cblx0LnRkIHtmb250LXNpemU6IDAuOGVtO31cblx0XG5cdC50d2l0dGVyLWZlZWQge21hcmdpbi10b3A6IDJlbTt9XG59XG5cblxuQG1lZGlhICN7JG1lZGl1bS11cH17XG5cdGgxeyBmb250LXNpemU6IDJlbTsgfVxuXHRoMnsgZm9udC1zaXplOiAxLjZlbTt9XG5cdGg0eyBmb250LXNpemU6IDEuNGVtOyB9XG5cdC5wLWJhY2t7XG5cdFx0aDMsIGF7IGxldHRlci1zcGFjaW5nOiA4cHg7IGZvbnQtc2l6ZTogMS4xZW07fVxuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0fVxuXG5cdCNjb250YWluZXJ7XG5cdFx0cGFkZGluZzogMWVtIDAuNWVtIDJlbTtcblx0fVxuXG5cdC5tYXN0aGVhZHtcblx0XHRwYWRkaW5nOiA1ZW0gMDtcblx0XHRoMnsgZm9udC1zaXplOiA0LjJlbTsgfVxuXHRcdGgxeyBmb250LXNpemU6IDEuNGVtOyBtYXJnaW4tdG9wOiAtMWVtOyBjb2xvcjogI2ZmZjt9XG5cdH1cblx0LmxvZ297XG5cdFx0bWF4LXdpZHRoOiAyNTBweDtcblx0fVxuXG5cdGhlYWRlciB7XG5cdFx0Lm1haW5fbmF2IHtcblx0XHRcdHVsIGxpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAuNDVlbTtcblx0XHRcdFx0XHRhe1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRwdXJwbGU7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IC44NWVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRhOmhvdmVye1xuXHRcdFx0XHRcdFx0Y29sb3I6ICM4MTY5OTc7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHR9XG5cdH1cblxuXHQuZ3JpZC1pdGVtIHsgd2lkdGg6IDMyJTsgbWFyZ2luOiAuNSU7IH1cblx0LmludHJve1xuXHRcdHBhZGRpbmctcmlnaHQ6IDE5cHg7XG5cdH1cblx0c2VjdGlvbntcblx0XHRwYWRkaW5nOiAxZW0gMDtcblx0fVxuXG5cdC8qSW5uZXIqL1xuXHQubWFzdC1iYW5uZXJ7XG5cdFx0cGFkZGluZzogM2VtIDA7XG5cdH1cblxuXHQucmV2aWV3LCAuZ3JleS1ye1xuXHRcdHBhZGRpbmc6IDEuNWVtO1xuXHR9XG5cblxuXHQvKkNvbnRhY3QqL1xuXHQubWFwIGlmcmFtZXsgbWluLWhlaWdodDogMjYwcHg7IH1cblx0LmluZm8tYmxvY2t7XG5cdFx0cGFkZGluZzogMS41ZW0gMmVtO1xuXHRcdG1hcmdpbjogMmVtIDA7XG5cdFx0cHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0Zm9vdGVyeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbn1cblxuXG5AbWVkaWEgI3skbGFyZ2UtdXB9e1xuXG5cdGgxeyBmb250LXNpemU6IDIuNGVtOyB9XG5cblx0Lm1hc3RoZWFke1xuXHRcdHBhZGRpbmc6IDVlbSAwIDZlbTtcblx0XHRoMnsgZm9udC1zaXplOiA2ZW07IH1cblx0XHRoMXsgZm9udC1zaXplOiAyZW07IH1cblx0fVxuXG5cdGhlYWRlciB7XG5cdFx0cGFkZGluZzogLjVlbSAwO1xuXG5cdFx0Lm1haW5fbmF2IHtcblx0XHRcdHVsIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMWVtO1xuXHRcdFx0XHRcdGF7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHB1cnBsZTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQubmF2eyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXHRcdC5lbnF1aXJle1xuXHRcdFx0cGFkZGluZzogMmVtIDBlbTtcblx0XHR9XG5cblx0fVxuXG5cdC8qQ29udGFjdCovXG5cdC5tYXAgaWZyYW1leyBtaW4taGVpZ2h0OiAzNTBweDsgfVxuXG5cbn1cblxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
