html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 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.3333333333%;
    right: auto;
  }
  .small-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .small-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .small-pull-2 {
    position: relative;
    right: 16.6666666667%;
    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.3333333333%;
    right: auto;
  }
  .small-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .small-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .small-pull-5 {
    position: relative;
    right: 41.6666666667%;
    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.3333333333%;
    right: auto;
  }
  .small-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .small-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .small-pull-8 {
    position: relative;
    right: 66.6666666667%;
    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.3333333333%;
    right: auto;
  }
  .small-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .small-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .small-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .small-1 {
    width: 8.3333333333%;
  }
  .small-2 {
    width: 16.6666666667%;
  }
  .small-3 {
    width: 25%;
  }
  .small-4 {
    width: 33.3333333333%;
  }
  .small-5 {
    width: 41.6666666667%;
  }
  .small-6 {
    width: 50%;
  }
  .small-7 {
    width: 58.3333333333%;
  }
  .small-8 {
    width: 66.6666666667%;
  }
  .small-9 {
    width: 75%;
  }
  .small-10 {
    width: 83.3333333333%;
  }
  .small-11 {
    width: 91.6666666667%;
  }
  .small-12 {
    width: 100%;
  }
  .small-offset-0 {
    margin-left: 0 !important;
  }
  .small-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .small-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .small-offset-3 {
    margin-left: 25% !important;
  }
  .small-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .small-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .small-offset-6 {
    margin-left: 50% !important;
  }
  .small-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .small-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .small-offset-9 {
    margin-left: 75% !important;
  }
  .small-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .small-offset-11 {
    margin-left: 91.6666666667% !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.3333333333%;
    right: auto;
  }
  .medium-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .medium-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .medium-pull-2 {
    position: relative;
    right: 16.6666666667%;
    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.3333333333%;
    right: auto;
  }
  .medium-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .medium-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .medium-pull-5 {
    position: relative;
    right: 41.6666666667%;
    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.3333333333%;
    right: auto;
  }
  .medium-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .medium-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .medium-pull-8 {
    position: relative;
    right: 66.6666666667%;
    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.3333333333%;
    right: auto;
  }
  .medium-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .medium-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .medium-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .medium-1 {
    width: 8.3333333333%;
  }
  .medium-2 {
    width: 16.6666666667%;
  }
  .medium-3 {
    width: 25%;
  }
  .medium-4 {
    width: 33.3333333333%;
  }
  .medium-5 {
    width: 41.6666666667%;
  }
  .medium-6 {
    width: 50%;
  }
  .medium-7 {
    width: 58.3333333333%;
  }
  .medium-8 {
    width: 66.6666666667%;
  }
  .medium-9 {
    width: 75%;
  }
  .medium-10 {
    width: 83.3333333333%;
  }
  .medium-11 {
    width: 91.6666666667%;
  }
  .medium-12 {
    width: 100%;
  }
  .medium-offset-0 {
    margin-left: 0 !important;
  }
  .medium-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .medium-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .medium-offset-3 {
    margin-left: 25% !important;
  }
  .medium-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .medium-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .medium-offset-6 {
    margin-left: 50% !important;
  }
  .medium-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .medium-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .medium-offset-9 {
    margin-left: 75% !important;
  }
  .medium-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .medium-offset-11 {
    margin-left: 91.6666666667% !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.3333333333%;
    right: auto;
  }
  .pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .pull-11 {
    position: relative;
    right: 91.6666666667%;
    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.3333333333%;
    right: auto;
  }
  .large-pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .large-push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .large-pull-2 {
    position: relative;
    right: 16.6666666667%;
    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.3333333333%;
    right: auto;
  }
  .large-pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .large-push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .large-pull-5 {
    position: relative;
    right: 41.6666666667%;
    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.3333333333%;
    right: auto;
  }
  .large-pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .large-push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .large-pull-8 {
    position: relative;
    right: 66.6666666667%;
    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.3333333333%;
    right: auto;
  }
  .large-pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .large-push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .large-pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left;
  }
  .large-1 {
    width: 8.3333333333%;
  }
  .large-2 {
    width: 16.6666666667%;
  }
  .large-3 {
    width: 25%;
  }
  .large-4 {
    width: 33.3333333333%;
  }
  .large-5 {
    width: 41.6666666667%;
  }
  .large-6 {
    width: 50%;
  }
  .large-7 {
    width: 58.3333333333%;
  }
  .large-8 {
    width: 66.6666666667%;
  }
  .large-9 {
    width: 75%;
  }
  .large-10 {
    width: 83.3333333333%;
  }
  .large-11 {
    width: 91.6666666667%;
  }
  .large-12 {
    width: 100%;
  }
  .large-offset-0 {
    margin-left: 0 !important;
  }
  .large-offset-1 {
    margin-left: 8.3333333333% !important;
  }
  .large-offset-2 {
    margin-left: 16.6666666667% !important;
  }
  .large-offset-3 {
    margin-left: 25% !important;
  }
  .large-offset-4 {
    margin-left: 33.3333333333% !important;
  }
  .large-offset-5 {
    margin-left: 41.6666666667% !important;
  }
  .large-offset-6 {
    margin-left: 50% !important;
  }
  .large-offset-7 {
    margin-left: 58.3333333333% !important;
  }
  .large-offset-8 {
    margin-left: 66.6666666667% !important;
  }
  .large-offset-9 {
    margin-left: 75% !important;
  }
  .large-offset-10 {
    margin-left: 83.3333333333% !important;
  }
  .large-offset-11 {
    margin-left: 91.6666666667% !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.3333333333%;
    right: auto;
  }
  .pull-1 {
    position: relative;
    right: 8.3333333333%;
    left: auto;
  }
  .push-2 {
    position: relative;
    left: 16.6666666667%;
    right: auto;
  }
  .pull-2 {
    position: relative;
    right: 16.6666666667%;
    left: auto;
  }
  .push-3 {
    position: relative;
    left: 25%;
    right: auto;
  }
  .pull-3 {
    position: relative;
    right: 25%;
    left: auto;
  }
  .push-4 {
    position: relative;
    left: 33.3333333333%;
    right: auto;
  }
  .pull-4 {
    position: relative;
    right: 33.3333333333%;
    left: auto;
  }
  .push-5 {
    position: relative;
    left: 41.6666666667%;
    right: auto;
  }
  .pull-5 {
    position: relative;
    right: 41.6666666667%;
    left: auto;
  }
  .push-6 {
    position: relative;
    left: 50%;
    right: auto;
  }
  .pull-6 {
    position: relative;
    right: 50%;
    left: auto;
  }
  .push-7 {
    position: relative;
    left: 58.3333333333%;
    right: auto;
  }
  .pull-7 {
    position: relative;
    right: 58.3333333333%;
    left: auto;
  }
  .push-8 {
    position: relative;
    left: 66.6666666667%;
    right: auto;
  }
  .pull-8 {
    position: relative;
    right: 66.6666666667%;
    left: auto;
  }
  .push-9 {
    position: relative;
    left: 75%;
    right: auto;
  }
  .pull-9 {
    position: relative;
    right: 75%;
    left: auto;
  }
  .push-10 {
    position: relative;
    left: 83.3333333333%;
    right: auto;
  }
  .pull-10 {
    position: relative;
    right: 83.3333333333%;
    left: auto;
  }
  .push-11 {
    position: relative;
    left: 91.6666666667%;
    right: auto;
  }
  .pull-11 {
    position: relative;
    right: 91.6666666667%;
    left: auto;
  }
}

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

.inline-list {
  list-style: none;
  margin-top: 0;
  margin-bottom: 1.0625rem;
  margin-left: -1.375rem;
  margin-right: 0;
  overflow: hidden;
  padding: 0;
}

.inline-list > li {
  display: block;
  float: left;
  list-style: none;
  margin-left: 1.375rem;
}

.inline-list > li > * {
  display: block;
}

table {
  background: #FFFFFF;
  border: solid 1px #DDDDDD;
  margin-bottom: 1.25rem;
  table-layout: auto;
}

table caption {
  background: transparent;
  color: #222222;
  font-size: 1rem;
  font-weight: bold;
}

table thead {
  background: #F5F5F5;
}

table thead tr th,
table thead tr td {
  color: #222222;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 0.5rem 0.625rem 0.625rem;
}

table tfoot {
  background: #F5F5F5;
}

table tfoot tr th,
table tfoot tr td {
  color: #222222;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 0.5rem 0.625rem 0.625rem;
}

table tr th,
table tr td {
  color: #222222;
  font-size: 0.875rem;
  padding: 0.5625rem 0.625rem;
  text-align: left;
  vertical-align: middle;
}

table tr.even, table tr.alt, table tr:nth-of-type(even) {
  background: #F9F9F9;
}

table thead tr th,
table tfoot tr th,
table tfoot tr td,
table tbody tr th,
table tbody tr td,
table tr td {
  display: table-cell;
  line-height: 1.6rem; // TJWOLF
}

body {
  background: #FFFFFF;
  font-family: 'PT Sans', sans-serif;
  color: #333;
}

.row {
  max-width: 1450px;
}

.row:nth-child(even) {
  background: gray;
}

.int-page main {
  padding: 40px 0;
}

.row-info {
  padding-bottom: 50px;
  padding-top: 30px;
}

.row-info .columns {
  padding-bottom: 20px;
}

.row-info .columns:last-child {
  padding-bottom: 0;
}

@media only screen and (min-width: 40.0625em) {
  .row-info {
    padding-bottom: 100px;
    padding-top: 50px;
  }
}

.row--full {
  max-width: 100%;
}

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

@media screen and (max-width: 1024px) {
  .flexbox-container--medium-up {
    display: inline-block !important;
  }
}

@media only screen and (min-width: 40.0625em) {
  .content-block {
    padding: 50px 0;
  }
}

.content-block:nth-child(even) {
  background: rgba(163, 152, 130, 0.14);
}

.content-block .columns {
  margin-top: 20px;
  margin-bottom: 20px;
}

a {
  transition: 0.2s 300ms ease-out;
  text-decoration: none;
}

sup {
  font-size: 50%;
}

.h-text-orange, .h-link-orange {
  color: #EA6841 !important;
}

.h-text-white {
  color: #FFFFFF;
}

.h-link-orange:hover, .h-link-orange:active, .h-link-orange:visited {
  color: #EA6841;
}

.h-font-30 {
  font-size: 30px;
}

.h-font-bold {
  font-weight: 600;
}

.h-display-inline {
  display: inline-block;
}

.h-color-blue {
  color: #192F58;
}

.h-nowrap {
  white-space: nowrap;
}

.h-hover-white:hover {
  color: #FFFFFF;
}

.h-text-yellow {
  color: #F1FA06 !important;
}

.h-text-yellow2 {
  color: #F8D303 !important;
}

.h-text-blue-light {
  color: #0680FA;
}

.h-inline-block {
  display: inline-block;
}

.h-o {
  position: relative;
}

.h-o:before {
  background: #EA6841;
  content: '';
  height: 10px;
  left: -15px;
  margin: 0 30px;
  position: absolute;
  right: 0;
  top: 20px;
  width: 50%;
}

@media only screen and (min-width: 40.0625em) {
  .h-o:before {
    left: 0;
    top: 60px;
  }
}

@media only screen and (min-width: 64.0625em) {
  .h-o:before {
    height: 20px;
    top: 50px;
  }
}

.h-o--alt:before {
  left: -23px;
  top: 5px;
}

@media only screen and (min-width: 40.0625em) {
  .h-o--alt:before {
    left: -12px;
    top: 30px;
  }
}

@media only screen and (min-width: 64.0625em) {
  .h-o--alt:before {
    left: 0;
    top: 50px;
  }
}

.h-o--offset-left {
  margin-left: -25px;
}

@media only screen and (min-width: 40.0625em) {
  .h-o--offset-left {
    margin-left: -30px;
  }
}

@media only screen and (min-width: 64.0625em) {
  .h-o--offset-left {
    margin-left: -50px;
  }
}

.h-o--offset-right {
  margin-right: -15px;
}

@media only screen and (min-width: 40.0625em) {
  .h-o--offset-right {
    margin-right: -30px;
  }
}

@media only screen and (min-width: 64.0625em) {
  .h-o--offset-right {
    margin-right: -50px;
  }
}

.h-background-yellow {
  background: rgba(241, 250, 6, 0.8);
}

.h-padding-100-15-0 {
  padding: 30px 15px 100px;
}

@media only screen and (min-width: 40.0625em) {
  .h-padding-100-15-0 {
    padding: 100px 15px 0;
  }
}

.h-padding-25-15 {
  padding: 25px 15px;
}

.h-no-padding {
  padding: 0 !important;
}

h1, h2, h3, h4 {
  font-family: 'PT Sans', Helvetica, Arial, sans-serif;
}

p {
  color: #222222;
  font-size: 25px;
  font-weight: 600;
  line-height: 30px;
  margin-bottom: 10px;
}

p + iframe {
  margin-top: 20px;
}

.title__heading {
  color: #192F58;
  font-size: 30px;
  font-weight: 600;
  line-height: 45px;
}

@media only screen and (min-width: 40.0625em) {
  .title__heading {
    font-size: 60px;
    line-height: 60px;
  }
}

.title__subheading {
  color: #222222;
  font-size: 25px;
  font-weight: 600;
  line-height: 30px;
}

@media only screen and (min-width: 40.0625em) {
  .title__subheading {
    font-size: 35px;
    line-height: 40px;
  }
}

.title__blurb {
  font-size: 15px;
  font-weight: 100;
}

@media only screen and (min-width: 1025px) and (max-width: 1335px) {
  .title__blurb {
    position: absolute;
    bottom: 10px;
    width: 90%;
    line-height: 25px;
    font-size: 20px;
  }
  .title__blurb br {
    display: none;
  }
}

@media only screen and (min-width: 40.0625em) {
  .title__blurb {
    font-size: 25px;
  }
}

footer {
  background: #192F58;   /* #52544E; */
  overflow: auto;
  padding: 30px 0 10px;
}

@media only screen and (min-width: 40.0625em) {
  footer {
    padding: 100px 0 40px;
  }
}

footer .logo {
  height: 43px;
  margin: 50px 0 15px;
  width: 102px;
}

@media only screen and (min-width: 40.0625em) {
  footer .logo {
    height: 83px;
    margin: 100px 0 25px;
    width: 292px;
  }
}

footer p {
  font-size: 20px;
}

@media only screen and (min-width: 40.0625em) {
  footer p {
    font-size: 30px;
  }
}

footer a {
  transition: 0.2s 300ms ease-out;
  color: #FFFFFF;
  font-weight: 600;
}

footer a:hover {
  color: #222222;
}

header {
  background: #192F58;
  padding: 20px 0;
}

@media only screen and (min-width: 40.0625em) {
  header {
    padding: 40px 0;
  }
}

header .logo {
  display: none;
  float: left;
  height: 37px;
  margin-right: 30px;
  width: 129px;
}

header nav {
  float: left;
}

.int-page header .logo {
  display: block;
}

nav ul {
  margin: 0;
}

#membership-levels {
  padding: 40px 0 15px;
}

@media only screen and (min-width: 64.0625em) {
  #membership-levels {
    padding: 114px 0 45px;
  }
}

#membership-levels .button {
  position: relative;
  top: -12px;
}

@media only screen and (min-width: 64.0625em) {
  #membership-levels .button {
    margin: 0 0 0 20px;
  }
}

#member-benefits {
  padding: 40px 0 15px;
}

@media only screen and (min-width: 40.0625em) {
  #member-benefits {
    padding: 42px 0 150px;
  }
}

.content__icons {
  margin: 50px 0 0;
}

@media only screen and (min-width: 64.0625em) {
  .content__icons {
    margin: 150px 0 0;
  }
}

.content__icons img {
  margin: 0 0 20px;
  max-width: 50%;
}

@media only screen and (min-width: 64.0625em) {
  .content__icons img {
    margin: 0;
    max-width: 90%;
  }
}

.content__icons p {
  margin-top: 50px;
  margin-left: 20px;
}

@media only screen and (max-width: 40em) {
  .content__icons p {
    font-size: 18px;
    line-height: 20px;
  }
}

.background-membership-levels-OLD {
  background: transparent url("../images/membership-levels-bg.png") right 0 no-repeat;
  background-size: cover;
}

.background-membership-levels {
  background: transparent url("../images/features_background.jpg") right 0 no-repeat;
  background-size: cover;
}

.background-membership-benefits {
  background: transparent url("../images/membership-benefits-mobile.png") 100% 0 no-repeat;
  background-size: cover;
}

@media only screen and (min-width: 64.0625em) {
  .background-membership-benefits {
    background: transparent url("../images/even-bigger.jpg") 100% bottom no-repeat;
    background-size: cover;
  }
}

@media only screen and (min-width: 40.0625em) {
  .background-image--kurt {
    padding-bottom: 100px !important;
    padding-top: 100px !important;
  }
}

@media only screen and (min-width: 64.0625em) {
  .background-image--kurt {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }
}

.button {
  color: #FFFFFF;
  font-family: inherit;
  font-size: 20px;
  font-weight: 600;
  line-height: 20px;
  margin: 10px 0;
}

@media only screen and (min-width: 40.0625em) {
  .button {
    font-size: 30px;
    line-height: 30px;
  }
}

.button--block {
  display: block;
}

.button--inline {
  display: inline;
}

.button--inline-block {
  display: inline-block;
}

.button--orange {
  background: #EA6841;
}

.button--blue {
  background: #192F58;
}

.button--small {
  padding: 10px;
}

.button--medium {
  padding: 25px 10px;
}

.button--rounded {
  border-radius: 10px;
}

.button--border-blue-light {
  border: 10px solid #0680FA;
}

.button:hover {
  background: #FFFFFF;
  color: #192F58;
}

nav.footer-navigation li {
  display: inline-block;
}

nav.footer-navigation li:first-child {
  margin-right: 95px;
}

nav.footer-navigation a {
  color: #EA6841;
  font-size: 20px;
}

@media only screen and (min-width: 40.0625em) {
  nav.footer-navigation a {
    font-size: 35px;
  }
}

nav.footer-navigation a:hover {
  color: #FFFFFF;
}

.hero {
  background: #192F58;
  overflow: hidden;
  padding: 25px 10px;
  position: relative;
}

@media only screen and (min-width: 40.0625em) {
  .hero {
    padding: 15px 10px;
  }
}

.hero .background-dots {
  /*---  transition: 0.8s 2.5s ease-out;  ---*/
  background: transparent url(../images/hero-bg.png);
  background-position: center 0px;
  background-repeat: no-repeat;
  background-size: 100%;
  height: 600px;
  width: 100%;
  max-width: 1450px;
  margin: 0 auto;
  position: absolute;
  top: 65px;
  right: 0;
  left: 0;
  opacity: 0;
}

.hero .columns {
  margin-top: -25px;
}

.hero img {
  max-width: 900px;
  position: relative;
  top: 25px;
  width: 100%;
}

.hero__image, .hero__text {
  position: relative;
  z-index: 2;
}

.hero__image {
  display: block;
}

@media only screen and (min-width: 64.0625em) {
  .hero__image {
    display: none;
  }
}

.hero__text {
  display: none;
  max-width: 70%;
  overflow: hidden;
  padding: 75px 0;
}

@media only screen and (min-width: 64.0625em) {
  .hero__text {
    display: block;
  }
}

.hero__phello, .hero__opportunities, .hero__rise, .hero__99 {
  position: relative;
  top: 900px;
}

.hero__phello {
  transition: 0.7s 0.2s ease-in-out;
  background: transparent url("../images/hero-text-phello.png") 0 0 no-repeat;
  background-size: 100%;
  width: 100%;
  max-width: 571px;
  height: 163px;
  display: block;
}

.hero__opportunities {
  transition: 0.7s 1s ease-in-out;
  background: transparent url("../images/hero-text-opportunities.png") 0 0 no-repeat;
  background-size: 100%;
  width: 100%;
  max-width: 1308px;
  height: 220px;
  display: block;
}

.hero__rise {
  transition: 0.7s 1.5s ease-in-out;
  background: transparent url("../images/hero-text-rise.png") 0 0 no-repeat;
  background-size: 100%;
  width: 25%;
  max-width: 383px;
  height: 181px;
  display: block;
  float: left;
}

.hero__99 {
  transition: 0.7s 2s ease-in-out;
  background: transparent url("../images/hero-text-99.png") 0 0 no-repeat;
  background-size: 100%;
  width: 75%;
  max-width: 907px;
  height: 169px;
  display: block;
  float: left;
}

.hero.scrolled .background-dots {
  opacity: 1;
}

.hero.scrolled .hero__phello, .hero.scrolled .hero__opportunities, .hero.scrolled .hero__rise, .hero.scrolled .hero__99 {
  top: 0;
}

.hero--int {
  padding: 70px 0 50px;
}

.hero--int .row {
  background: none;
}

.hero--int p {
  color: #FFFFFF;
}

.list {
  margin: 0;
}

.list--member-benefits .list__item {
  font-size: 25px;
  font-weight: 600;
  line-height: 30px;
  margin: 0 0 43px;
}

@media only screen and (min-width: 40.0625em) {
  .list--member-benefits .list__item {
    font-size: 29px;
    line-height: 39px;
  }
}

.logo {
  background: transparent url("../images/logo.png") 0 0 no-repeat;
  background-size: 100%;
  max-width: 292px;
}

.logo a {
  display: block;
  height: inherit;
  text-indent: -8400px;
  width: inherit;
}

nav.main-navigation {
  position: relative;
  top: 12px;
}

@media (max-width: 986px) {
  nav.main-navigation {
    transition: all 300ms ease-out;
    position: absolute;
    top: -320px;
    width: 100%;
    background: #192F58;
    left: 0;
    padding: 20px 0;
    z-index: 12;
  }
  .nav-open nav.main-navigation {
    top: -20px;
  }
}

nav.main-navigation li {
  display: inline-block;
}

@media (max-width: 986px) {
  nav.main-navigation li {
    width: 100%;
    text-align: center;
  }
}

nav.main-navigation li:first-child a {
  padding: 0;
}

nav.main-navigation a {
  transition: 0.2s 300ms ease-out;
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 600;
  padding: 0 0 0 25px;
}

@media (max-width: 986px) {
  nav.main-navigation a {
    padding: 0;
  }
}

nav.main-navigation a:hover {
  color: #EA6841;
}

nav.main-navigation a.member-login {
  color: #F1FA06;
}

.table {
  border: 0;
  margin-left: -6px;  // TJWOLF
  width: 100%; // TJWOLF
}

@media only screen and (min-width: 40.0625em) {
  .table {
    display: inherit;
  }
}

.table--border {
  background: transparent;
}

.table--border td {
  border: 1px solid #222222;
  color: #333333;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 0px 5px 5px;
  text-align: center;
  width: 250px; // TJWOLF
}

.table-subnote {
  color: #222222;
  font-size: 16px;
  font-weight: normal;
  padding: 12px 0px 16px 0px;
  text-align: left;
}

@media only screen and (min-width: 40.0625em) {
  .table--border td {
    font-size: 18px;   // TJWOLF
    padding: 10px 6px 10px 6px;
  }
}

.table--border td:first-child {  /* FIRST COLUMN */
  color: #222222;
  text-align: left;
  line-height: 28px;
  width: 600px;
}

.table--border th {
  border: 1px solid #222222;
  color: #222222;
  font-size: 14px;
  height: 90px;
  line-height: 17px;
  text-align: center;
  vertical-align: middle;
}

@media only screen and (min-width: 40.0625em) {
  .table--border th {
    font-size: 18px;
    line-height: 32px;
    /* width: 25%; */
  }
}

.table--border th:first-child {
  font-weight: 100;
  font-style: italic;
  vertical-align: bottom;
}

.table--border td, .table--border th, .table--border tr {
  background: transparent !important;
}


.table--border thead {
  background: #D9E3F3;   /* table header light blue background */
}


.table--border .title {
  color: #F1FA06;
  font-size: 14px;
}

@media only screen and (min-width: 40.0625em) {
  .table--border .title {
    font-size: 27px;
  }
}

.testimonial__content {
  font-size: 30px;
}

.testimonial__content p {
  margin: 0;
}

.testimonial__title {
  color: #192F58;
}

.testimonial__text {
  color: #222222;
}

.testimonial__author, .testimonial__link {
  font-size: 24px;
  font-style: italic;
  font-weight: 100;
}

.testimonial__author {
  color: #0680FA;
  padding: 30px 0 0;
}

.testimonial__link {
  color: #EA6841;
  text-decoration: none;
}

.testimonial__highlight {
  color: #EA6841;
}

.testimonial + a {
  display: block;
  margin-top: 100px;
}

.video__title {
  color: #192F58;
  font-size: 24px;
  font-style: italic;
  font-weight: 100;
}

.member_benefits_title {
    padding-top:24px;
    padding-bottom:4px;
}

.hamburger-menu {
  display: none;
  position: absolute;
  top: 30px;
  right: 15px;
  bottom: 0;
  margin: auto;
  width: 40px;
  height: 35px;
  cursor: pointer;
  z-index: 13;
}

.int-page .hamburger-menu {
  top: 0;
}

@media (max-width: 986px) {
  .hamburger-menu {
    display: block;
  }
}

.bar,
.bar:after,
.bar:before {
  width: 100%;
  height: 5px;
}

.bar {
  position: relative;
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
  background: white;
  transition: all 0ms 300ms;
}

.bar.animate {
  background: rgba(255, 255, 255, 0);
}

.bar:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 15px;
  background: white;
  transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar:after {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  background: white;
  transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar.animate:after {
  top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar.animate:before {
  bottom: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
}


@charset "UTF-8";
/* CSS Document */

header {
    position:fixed;
    top:0px;
    left:0px;
    z-index: 10000;
    width:100%;
    height:117px;
}
body {
    padding-top:117px;
}

@media (max-width: 986px) {
    header .logo {
        display:block !important;
    }
    .hamburger-menu {
        top:0px;
    }
}
@media (max-width: 640px) {
    body {
        padding-top:77px;
    }
    header {
        height:77px;
    }
}

.footer_link_section {
  margin-top:40px;
  margin-bottom:20px;
  margin-left:20px;
  font-family: inherit;
  font-weight: normal;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvcmVzZXQtc2Nzcy9fcmVzZXQtc3JjLnNjc3MiLCJmb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19nbG9iYWwuc2NzcyIsImZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsImZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL19mdW5jdGlvbnMuc2NzcyIsIm1haW4uY3NzIiwiZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2lubGluZS1saXN0cy5zY3NzIiwiZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJiYXNlL19nbG9iYWxzLnNjc3MiLCJiYXNlL192YXJzLnNjc3MiLCJiYXNlL19oZWxwZXJzLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3Nhc3MtbWVkaWFxdWVyaWVzL19tZWRpYS1xdWVyaWVzLnNjc3MiLCJsYXlvdXRzL19mb290ZXIuc2NzcyIsImxheW91dHMvX2hlYWRlci5zY3NzIiwibGF5b3V0cy9fbmF2aWdhdGlvbi5zY3NzIiwibGF5b3V0cy9fc2VjdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvX2JhY2tncm91bmRzLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXItbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9faGVyby5zY3NzIiwiY29tcG9uZW50cy9fbGlzdHMuc2NzcyIsImNvbXBvbmVudHMvX2xvZ28uc2NzcyIsImNvbXBvbmVudHMvX21haW4tbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fdGFibGUuc2NzcyIsImNvbXBvbmVudHMvX3Rlc3RpbW9uaWFsLnNjc3MiLCJjb21wb25lbnRzL192aWRlby5zY3NzIiwiY29tcG9uZW50cy9faGFtYnVyZ2VyLW1lbnUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7Ozs7Ozs7Ozs7OztFQWFFLFVBQVU7RUFDVixXQUFXO0VBQ1gsVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QseUJBQXlCO0NBQzFCOztBQUVEOztFQUVFLGVBQWU7Q0FDaEI7O0FBQ0Q7RUFDRSxlQUFlO0NBQ2hCOztBQUNEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUNEO0VBQ0UsYUFBYTtDQUNkOztBQUNEOztFQUVFLFlBQVk7RUFDWixjQUFjO0NBQ2Y7O0FBQ0Q7RUFDRSwwQkFBMEI7RUFDMUIsa0JBQWtCO0NBQ25COztBQ2dZRztFQUNFLHVCQUF1QjtDQUN4Qjs7QUFFRDtFQUNFLDZCQUFnQjtFQUNoQixTQWpFWTtDQWtFYjs7QUFFRDtFQUNFLG1EQUFnQjtFQUNoQixTQXRFWTtDQXVFYjs7QUFFRDtFQUNFLHVEQUFnQjtFQUNoQixpQkExRTRCO0NBMkU3Qjs7QUFFRDtFQUNFLDRFQUFnQjtFQUNoQixpQkEvRTRCO0NBZ0Y3Qjs7QUFFRDtFQUNFLHVEQUFnQjtFQUNoQixpQkFuRjZCO0NBb0Y5Qjs7QUFFRDtFQUNFLDRFQUFnQjtFQUNoQixpQkF4RjZCO0NBeUY5Qjs7QUFFRDtFQUNFLHVEQUFnQjtFQUNoQixpQkE1RjRCO0NBNkY3Qjs7QUFFRDtFQUNFLDZFQUFnQjtFQUNoQixpQkFqRzRCO0NBa0c3Qjs7QUFFRDtFQUNFLHdEQUFnQjtFQUNoQixrQkFyRzZCO0NBc0c5Qjs7QUFFRDtFQUNFLG1CQUFhO0NBQ2Q7O0FBT0Q7RUFBYSxhQUFhO0NBQUk7O0FBRzlCOzs7RUFyVk0sdUJBd1YwQjtDQUMvQjs7QUFFRDs7RUFDTyxnQkEvZFU7Q0ErZG9COztBQUdyQztFQUNFLGlCQS9LUTtFQWdMUixZQS9LZ0I7RUFnTGhCLGFBM0Zr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LFlBQVk7RUFDWixhQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsWUFBWTtDQVFiOztBQWxCRDtFQWFJLE9BQU87Q0FDUjs7QUFDRDtFQWZGO0lBZ0JJLGVBQWU7R0FFbEI7Q3hCaThGQTs7QXdCLzdGRDs7O0VBR0UsWUExQmM7RUEyQmQsWUExQmM7Q0EyQmY7O0FBRUQ7RUFDRSxtQkFBbUI7RUFDbkIsb0NBQXFCO1VBQXJCLDRCQUFxQjtFQUNyQixrQkFBZ0I7RUFDaEIsMEJBQTBCO0NBSTNCOztBQVJEO0VBTUksbUNBQWdCO0NBQ2pCOztBQUdIO0VBQ0UsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixRQUFRO0VBQ1IsYUExQ2dCO0VBMkNoQixrQkFBZ0I7RUFDaEIsc0hBQTJGO0VBQTNGLDhHQUEyRjtFQUEzRixzS0FBMkY7Q0FDNUY7O0FBRUQ7RUFDRSxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLFFBQVE7RUFDUixVQW5EZ0I7RUFvRGhCLGtCQUFnQjtFQUNoQixtSEFBd0Y7RUFBeEYsMkdBQXdGO0VBQXhGLG1LQUF3RjtDQUN6Rjs7QUFFRDtFQUNFLE9BQU87RUFDUCxpQ0FBaUI7VUFBakIseUJBQWlCO0VBQ2pCLG1IQUF3RjtFQUF4RiwyR0FBd0Y7RUFBeEYseUtBQXdGO0NBRXpGOztBQUVEO0VBQ0UsVUFBVTtFQUNWLGtDQUFpQjtVQUFqQiwwQkFBaUI7RUFDakIsc0hBQTJGO0VBQTNGLDhHQUEyRjtFQUEzRiw0S0FBMkY7Q0FFNUYiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xuLy8gIHYyLjAgfCAyMDExMDEyNlxuLy8gIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vLyBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgY29udGVudDogbm9uZTtcbn1cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59IiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnLi4vZnVuY3Rpb25zJztcbi8vXG4vLyBGb3VuZGF0aW9uIFZhcmlhYmxlc1xuLy9cblxuLy8gRGF0YSBhdHRyaWJ1dGUgbmFtZXNwYWNlXG4vLyBzdHlsZXMgZ2V0IGFwcGxpZWQgdG8gW2RhdGEtbXlzaXRlLXBsdWdpbl0sIGV0Y1xuJG5hbWVzcGFjZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxuLy8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBicm93c2VyLWJhc2VkIHRleHQgem9vbSBvciB1c2VyLXNldCBkZWZhdWx0cy5cblxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxuLy8gSWYgeW91IHdhbnQgeW91ciBiYXNlIGZvbnQtc2l6ZSB0byBiZSBkaWZmZXJlbnQgYW5kIG5vdCBoYXZlIGl0IGFmZmVjdCB0aGUgZ3JpZCBicmVha3BvaW50cyxcbi8vIHNldCAkcmVtLWJhc2UgdG8gJGJhc2UtZm9udC1zaXplIGFuZCBtYWtlIHN1cmUgJGJhc2UtZm9udC1zaXplIGlzIGEgcHggdmFsdWUuXG4kYmFzZS1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vICRiYXNlLWxpbmUtaGVpZ2h0IGlzIDI0cHggd2hpbGUgJGJhc2UtZm9udC1zaXplIGlzIDE2cHhcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBHbG9iYWwgRm91bmRhdGlvbiBNaXhpbnNcbi8vXG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXMuXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogJGdsb2JhbC1yYWRpdXMgfHwgNHB4XG5AbWl4aW4gcmFkaXVzKCRyYWRpdXM6JGdsb2JhbC1yYWRpdXMpIHtcbiAgQGlmICRyYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBlcXVhbCBzaWRlIGJvcmRlciByYWRpdXMgb24gZWxlbWVudHMuXG4vLyAkc2lkZSAtIE9wdGlvbnM6IGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbVxuQG1peGluIHNpZGUtcmFkaXVzKCRzaWRlLCAkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XG4gIEBpZiAoJHNpZGUgPT0gbGVmdCBvciAkc2lkZSA9PSByaWdodCkge1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgLXdlYmtpdC0jeyRzaWRlfS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAtd2Via2l0LSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3Qgd2UgaGF2ZSBpbnNldCBzaGFkb3dzIGVkZ2VzLlxuLy8gJGFjdGl2ZSAtIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG5AbWl4aW4gaW5zZXQtc2hhZG93KCRhY3RpdmU6dHJ1ZSkge1xuICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWNvbG9yIGluc2V0O1xuXG4gIEBpZiAkYWN0aXZlIHsgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yIGluc2V0OyB9IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCB0cmFuc2l0aW9ucyB0byBlbGVtZW50c1xuLy8gJHByb3BlcnR5IC0gRGVmYXVsdDogYWxsLCBPcHRpb25zOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRyYW5zaXRpb25zLyNhbmltYXRhYmxlLXByb3BlcnRpZXNcbi8vICRzcGVlZCAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZWFzZSAtIERlZmF1bHQ6IGVhc2Utb3V0LCBPcHRpb25zOiBodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL3QvdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24vXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCkge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9wZXJ0eSwgJHNwZWVkLCAkZWFzZSk7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgc2luZ2xlIG9yIG11bHRpcGxlIHRyYW5zaXRpb25zIHRvIGVsZW1lbnRzXG4vLyAkcHJvcGVydHkgLSBEZWZhdWx0OiBhbGwsIE9wdGlvbnM6IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdHJhbnNpdGlvbnMvI2FuaW1hdGFibGUtcHJvcGVydGllc1xuLy8gJHNwZWVkIC0gRGVmYXVsdDogMzAwbXNcbi8vICRlYXNlIC0gRGVmYXVsdDogZWFzZS1vdXQsIE9wdGlvbnM6IGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3Byb3BlcnRpZXMvdC90cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbi9cbi8vICRkZWxheSAtIERlZmF1bHQ6IG51bGwgKDBzKVxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnR5OmFsbCwgJHNwZWVkOjMwMG1zLCAkZWFzZTplYXNlLW91dCwgJGRlbGF5Om51bGwpIHtcbiAgJHRyYW5zaXRpb246IG5vbmU7XG5cbiAgQGlmIGxlbmd0aCgkcHJvcGVydHkpID4gMSB7XG5cbiAgICBAZWFjaCAkdHJhbnNpdGlvbl9saXN0IGluICRwcm9wZXJ0eSB7XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpIHtcblxuICAgICAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAgICAgJF9wcm9wZXJ0eTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkgPiAxIHtcbiAgICAgICAgICBAaWYgJGkgPT0gMiB7XG4gICAgICAgICAgICAkX3NwZWVkOiBudGgoJHRyYW5zaXRpb25fbGlzdCwgJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgJF9zcGVlZDogJHNwZWVkO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSA+IDIge1xuICAgICAgICAgIEBpZiAkaSA9PSAzIHtcbiAgICAgICAgICAgICRfZWFzZTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfZWFzZTogJGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpID4gMyB7XG4gICAgICAgICAgQGlmICRpID09IDQge1xuICAgICAgICAgICAgJF9kZWxheTogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfZGVsYXk6ICRkZWxheTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJHRyYW5zaXRpb24gPT0gbm9uZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkX3Byb3BlcnR5ICRfc3BlZWQgJF9lYXNlICRfZGVsYXk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLCAkX3Byb3BlcnR5ICRfc3BlZWQgJF9lYXNlICRfZGVsYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBlYWNoICRwcm9wIGluICRwcm9wZXJ0eSB7XG5cbiAgICAgIEBpZiAkdHJhbnNpdGlvbiA9PSBub25lIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICRwcm9wICRzcGVlZCAkZWFzZSAkZGVsYXk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLCAkcHJvcCAkc3BlZWQgJGVhc2UgJGRlbGF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGJveC1zaXppbmcgYWNyb3NzIGJyb3dzZXIgcHJlZml4ZXNcbkBtaXhpbiBib3gtc2l6aW5nKCR0eXBlOmJvcmRlci1ib3gpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gQW5kcm9pZCA8IDIuMywgaU9TIDwgNFxuICAgICAtbW96LWJveC1zaXppbmc6ICR0eXBlOyAvLyBGaXJlZm94IDwgMjlcbiAgICAgICAgICBib3gtc2l6aW5nOiAkdHlwZTsgLy8gQ2hyb21lLCBJRSA4KywgT3BlcmEsIFNhZmFyaSA1LjFcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpc29zY2VsZXMgdHJpYW5nbGVzXG4vLyAkdHJpYW5nbGUtc2l6ZSAtIFVzZWQgdG8gc2V0IGJvcmRlci1zaXplLiBObyBkZWZhdWx0LCBzZXQgYSBweCBvciBlbSBzaXplLlxuLy8gJHRyaWFuZ2xlLWNvbG9yIC0gVXNlZCB0byBzZXQgYm9yZGVyLWNvbG9yIHdoaWNoIG1ha2VzIHVwIHRyaWFuZ2xlLiBObyBkZWZhdWx0XG4vLyAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gVXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggZGlyZWN0aW9uIHRyaWFuZ2xlIHBvaW50cy4gT3B0aW9uczogdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0XG5AbWl4aW4gY3NzLXRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB0b3ApIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gYm90dG9tKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBpY29uIHdpdGggdGhyZWUgbGluZXMgYWthIHRoZSBoYW1idXJnZXIgaWNvbiwgdGhlIG1lbnUtaWNvbiBvciB0aGUgbmF2aWNvblxuLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtXG4vLyAkbGVmdCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbVxuLy8gJHRvcCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgdmVydGljYWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cbi8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuLy8gJGdhcCAtIHNwYWNpbmcgYmV0d2VlbiB0aGUgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxuLy8gJGNvbG9yIC0gaWNvbiBjb2xvclxuLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciBkdXJpbmcgaG92ZXJcbi8vICRvZmZjYW52YXMgLSBTZXQgdG8gdHJ1ZSBvZiBAaW5jbHVkZSBpbiBvZmZjYW52YXNcbkBtaXhpbiBoYW1idXJnZXIoJHdpZHRoLCAkbGVmdCwgJHRvcCwgJHRoaWNrbmVzcywgJGdhcCwgJGNvbG9yLCAkaG92ZXItY29sb3IsICRvZmZjYW52YXMpIHtcbiAgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIEBpZiAkb2ZmY2FudmFzIHtcbiAgICAgIEBpZiAkdG9wIHtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kd2lkdGgvMik7XG4gICAgICB9XG4gICAgICBAaWYgJGxlZnQge1xuICAgICAgICBsZWZ0OiAkbGVmdDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogKCR0YWJiYXItbWVudS1pY29uLXdpZHRoIC0gJHdpZHRoKS8yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtKCR3aWR0aC8yKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkY29sb3I7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfVxuICBzcGFuOmhvdmVyOmFmdGVyIHtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAwIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsXG4gICAgICAwICgyICogJGdhcCArIDIqJHRoaWNrbmVzcykgMCAkdGhpY2tuZXNzICRob3Zlci1jb2xvcjtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBkbyBjbGVhciBmbG9hdHNcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHsgY29udGVudDogXCIgXCI7IGRpc3BsYXk6IHRhYmxlOyB9XG4gICY6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGEgZ2xvd2luZyBlZmZlY3QgdG8gYmxvY2sgZWxlbWVudHNcbi8vICRzZWxlY3RvciAtIFVzZWQgZm9yIHNlbGVjdG9yIHN0YXRlLiBEZWZhdWx0OiBmb2N1cywgT3B0aW9uczogaG92ZXIsIGFjdGl2ZSwgdmlzaXRlZFxuLy8gJGZhZGUtdGltZSAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZ2xvd2luZy1lZmZlY3QtY29sb3IgLSBEZWZhdWx0OiBmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KVxuQG1peGluIGJsb2NrLWdsb3dpbmctZWZmZWN0KCRzZWxlY3Rvcjpmb2N1cywgJGZhZGUtdGltZTozMDBtcywgJGdsb3dpbmctZWZmZWN0LWNvbG9yOmZhZGUtb3V0KCRwcmltYXJ5LWNvbG9yLCAuMjUpKSB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGZhZGUtdGltZSwgYm9yZGVyLWNvbG9yICRmYWRlLXRpbWUgZWFzZS1pbi1vdXQ7XG5cbiAgJjojeyRzZWxlY3Rvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJGdsb3dpbmctZWZmZWN0LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggJGdsb3dpbmctZWZmZWN0LWNvbG9yO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byB0cmFuc2xhdGUgZWxlbWVudHMgaW4gMkRcbi8vICRob3Jpem9udGFsOiBEZWZhdWx0OiAwXG4vLyAkdmVydGljYWw6IERlZmF1bHQ6IDBcbkBtaXhpbiB0cmFuc2xhdGUyZCgkaG9yaXpvbnRhbDowLCAkdmVydGljYWw6MCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkaG9yaXpvbnRhbCwgJHZlcnRpY2FsKVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBhY2Nlc3NpYmxlLlxuLy8gQHNlZSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFR1cm5zIG9mZiB0aGUgZWxlbWVudC1pbnZpc2libGUgZWZmZWN0LlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbiR3aGl0ZSAgICAgICAgIDogI0ZGRkZGRiAhZGVmYXVsdDtcbiRnaG9zdCAgICAgICAgIDogI0ZBRkFGQSAhZGVmYXVsdDtcbiRzbm93ICAgICAgICAgIDogI0Y5RjlGOSAhZGVmYXVsdDtcbiR2YXBvciAgICAgICAgIDogI0Y2RjZGNiAhZGVmYXVsdDtcbiR3aGl0ZS1zbW9rZSAgIDogI0Y1RjVGNSAhZGVmYXVsdDtcbiRzaWx2ZXIgICAgICAgIDogI0VGRUZFRiAhZGVmYXVsdDtcbiRzbW9rZSAgICAgICAgIDogI0VFRUVFRSAhZGVmYXVsdDtcbiRnYWluc2Jvcm8gICAgIDogI0RERERERCAhZGVmYXVsdDtcbiRpcm9uICAgICAgICAgIDogI0NDQ0NDQyAhZGVmYXVsdDtcbiRiYXNlICAgICAgICAgIDogI0FBQUFBQSAhZGVmYXVsdDtcbiRhbHVtaW51bSAgICAgIDogIzk5OTk5OSAhZGVmYXVsdDtcbiRqdW1ibyAgICAgICAgIDogIzg4ODg4OCAhZGVmYXVsdDtcbiRtb25zb29uICAgICAgIDogIzc3Nzc3NyAhZGVmYXVsdDtcbiRzdGVlbCAgICAgICAgIDogIzY2NjY2NiAhZGVmYXVsdDtcbiRjaGFyY29hbCAgICAgIDogIzU1NTU1NSAhZGVmYXVsdDtcbiR0dWF0YXJhICAgICAgIDogIzQ0NDQ0NCAhZGVmYXVsdDtcbiRvaWwgICAgICAgICAgIDogIzMzMzMzMyAhZGVmYXVsdDtcbiRqZXQgICAgICAgICAgIDogIzIyMjIyMiAhZGVmYXVsdDtcbiRibGFjayAgICAgICAgIDogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGFzIGRlZmF1bHQgY29sb3JzIHRocm91Z2hvdXRcbiRwcmltYXJ5LWNvbG9yOiAjMDA4Q0JBICFkZWZhdWx0OyAgIC8vIGJvbmRpLWJsdWVcbiRzZWNvbmRhcnktY29sb3I6ICNlN2U3ZTcgIWRlZmF1bHQ7IC8vIHdoaXRlLWxpbGFjXG4kYWxlcnQtY29sb3I6ICNmMDQxMjQgIWRlZmF1bHQ7ICAgICAvLyBjaW5uYWJhclxuJHN1Y2Nlc3MtY29sb3I6ICM0M0FDNkEgIWRlZmF1bHQ7ICAgLy8gc2VhLWdyZWVuXG4kd2FybmluZy1jb2xvcjogI2YwOGEyNCAhZGVmYXVsdDsgICAvLyBjYXJyb3RcbiRpbmZvLWNvbG9yOiAjYTBkM2U4ICFkZWZhdWx0OyAgICAgIC8vIGNvcm5mbG93ZXJcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgc3RhY2tzXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6IEdlb3JnaWEsIENhbWJyaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHdlaWdodHNcbiRmb250LXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2YXJpb3VzIGdsb2JhbCBzdHlsZXNcbiRib2R5LWJnOiAjZmZmICFkZWZhdWx0O1xuJGJvZHktZm9udC1jb2xvcjogIzIyMiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJvZHktZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXG4kZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xuJHRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG4kZGVmYXVsdC1mbG9hdDogbGVmdCAhZGVmYXVsdDtcbiRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0ICFkZWZhdWx0O1xuQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBsdHIge1xuICAkZGVmYXVsdC1mbG9hdDogbGVmdDtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XG59IEBlbHNlIHtcbiAgJGRlZmF1bHQtZmxvYXQ6IHJpZ2h0O1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xufVxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSBzdXJlIGJvcmRlciByYWRpdXMgbWF0Y2hlcyB1bmxlc3Mgd2Ugd2FudCBpdCBkaWZmZXJlbnQuXG4kZ2xvYmFsLXJhZGl1czogM3B4ICFkZWZhdWx0O1xuJGdsb2JhbC1yb3VuZGVkOiAxMDAwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGluc2V0IHNoYWRvdyBzaGlueSBlZGdlcyBhbmQgZGVwcmVzc2lvbnMuXG4kc2hpbnktZWRnZS1zaXplOiAwIDFweCAwICFkZWZhdWx0O1xuJHNoaW55LWVkZ2UtY29sb3I6IHJnYmEoI2ZmZiwgLjUpICFkZWZhdWx0O1xuJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yOiByZ2JhKCMwMDAsIC4yKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBDU1MgY2xhc3NlcyBjb21lIHRocm91Z2ggaW4gdGhlIGdlbSBmaWxlcy5cbiRpbmNsdWRlLWh0bWwtY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLXByaW50LXN0eWxlczogdHJ1ZSAhZGVmYXVsdDtcbiRpbmNsdWRlLWpzLW1ldGEtc3R5bGVzOiB0cnVlICFkZWZhdWx0OyAvLyBXYXJuaW5nISBNZXRhIHN0eWxlcyBhcmUgYSBkZXBlbmRhbmN5IG9mIHRoZSBKYXZhc2NyaXB0LlxuJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApICFkZWZhdWx0O1xuXG4vLyBNZWRpYSBRdWVyeSBSYW5nZXNcbiRzbWFsbC1icmVha3BvaW50OiAgZW0tY2FsYyg2NDApICAhZGVmYXVsdDtcbiRtZWRpdW0tYnJlYWtwb2ludDogZW0tY2FsYygxMDI0KSAhZGVmYXVsdDtcbiRsYXJnZS1icmVha3BvaW50OiAgZW0tY2FsYygxNDQwKSAhZGVmYXVsdDtcbiR4bGFyZ2UtYnJlYWtwb2ludDogZW0tY2FsYygxOTIwKSAhZGVmYXVsdDtcblxuJHNtYWxsLXJhbmdlOiAgICgwLCAkc21hbGwtYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4kbWVkaXVtLXJhbmdlOiAgKCRzbWFsbC1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICRtZWRpdW0tYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4kbGFyZ2UtcmFuZ2U6ICAgKCRtZWRpdW0tYnJlYWtwb2ludCArIGVtLWNhbGMoMSksICRsYXJnZS1icmVha3BvaW50KSAgIWRlZmF1bHQ7XG4keGxhcmdlLXJhbmdlOiAgKCRsYXJnZS1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICR4bGFyZ2UtYnJlYWtwb2ludCkgIWRlZmF1bHQ7XG4keHhsYXJnZS1yYW5nZTogKCR4bGFyZ2UtYnJlYWtwb2ludCArIGVtLWNhbGMoMSksIGVtLWNhbGMoOTk5OTk5OTkpKSAhZGVmYXVsdDtcblxuJHNjcmVlbjogXCJvbmx5IHNjcmVlblwiICFkZWZhdWx0O1xuXG4kbGFuZHNjYXBlOiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKVwiICFkZWZhdWx0O1xuJHBvcnRyYWl0OiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXCIgIWRlZmF1bHQ7XG5cbiRzbWFsbC11cDogJHNjcmVlbiAhZGVmYXVsdDtcbiRzbWFsbC1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQoJHNtYWxsLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRtZWRpdW0tdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiRtZWRpdW0tb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuJHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4keHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiR4eGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHJldGluYTogKFxuICBcIiN7JHNjcmVlbn0gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpXCJcbik7XG5cbi8vIExlZ2FjeVxuJHNtYWxsOiAkc21hbGwtdXA7XG4kbWVkaXVtOiAkbWVkaXVtLXVwO1xuJGxhcmdlOiAkbGFyZ2UtdXA7XG5cblxuLy9XZSB1c2UgdGhpcyBhcyBjdXJzb3JzIHZhbHVlcyBmb3IgZW5hYmxpbmcgdGhlIG9wdGlvbiBvZiBoYXZpbmcgY3VzdG9tIGN1cnNvcnMgaW4gdGhlIHdob2xlIHNpdGUncyBzdHlsZXNoZWV0XG4kY3Vyc29yLWF1dG8tdmFsdWU6IGF1dG8gIWRlZmF1bHQ7XG4kY3Vyc29yLWNyb3NzaGFpci12YWx1ZTogY3Jvc3NoYWlyICFkZWZhdWx0O1xuJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0ICFkZWZhdWx0O1xuJGN1cnNvci1kaXNhYmxlZC12YWx1ZTogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG4kY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHAgIWRlZmF1bHQ7XG4kY3Vyc29yLXRleHQtdmFsdWU6IHRleHQgIWRlZmF1bHQ7XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdsb2JhbFwiKSB7XG5cbiAgLy8gTWV0YSBzdHlsZXMgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cbiAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxuICAvLyBGb3J3YXJkIHNsYXNoIHBsYWNlZCBhcm91bmQgZXZlcnl0aGluZyB0byBjb252aW5jZSBQaGFudG9tSlMgdG8gcmVhZCB0aGUgdmFsdWUuXG5cbiAgQGlmICRpbmNsdWRlLWpzLW1ldGEtc3R5bGVzIHtcblxuICAgIG1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi81LjUuMy9cIjtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwtb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRzbWFsbC1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLW1lZGl1bS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJG1lZGl1bS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJGxhcmdlLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeGxhcmdlLW9ubHkpICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXh4bGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeHhsYXJnZS11cCkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLWRhdGEtYXR0cmlidXRlLW5hbWVzcGFjZSB7XG4gICAgICBmb250LWZhbWlseTogI3skbmFtZXNwYWNlfTtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzIHtcblxuICAgIC8vIE11c3QgYmUgMTAwJSBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrXG4gICAgaHRtbCwgYm9keSB7IGhlaWdodDogMTAwJTsgfVxuXG4gICAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICB9XG5cbiAgICBodG1sLFxuICAgIGJvZHkgeyBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTsgfVxuXG4gICAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICAgIGJvZHkge1xuICAgICAgYmFja2dyb3VuZDogJGJvZHktYmc7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1hdXRvLXZhbHVlO1xuICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zdHlsZTogJGJvZHktZm9udC1zdHlsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYm9keS1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDsgLy8gU2V0IHRvICRiYXNlLWxpbmUtaGVpZ2h0IHRvIHRha2Ugb24gYnJvd3NlciBkZWZhdWx0IG9mIDE1MCVcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gIGE6aG92ZXIgeyBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTsgfVxuXG4gICAgLy8gR3JpZCBEZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG5cbiAgICBpbWcgeyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbiAgICAjbWFwX2NhbnZhcyxcbiAgICAubWFwX2NhbnZhcyxcbiAgICAubXFhLWRpc3BsYXkge1xuICAgICAgaW1nLFxuICAgICAgZW1iZWQsXG4gICAgICBvYmplY3QgeyBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNaXNjZWxsYW5lb3VzIHVzZWZ1bCBIVE1MIGNsYXNzZXNcbiAgICAubGVmdCB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAucmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5jbGVhcmZpeCB7IEBpbmNsdWRlIGNsZWFyZml4OyB9XG5cbiAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gICAgLmhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLCBidXQgbWFpbnRhaW4gbGF5b3V0XG4gICAgLmludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4gICAgLy8gRm9udCBzbW9vdGhpbmdcbiAgICAvLyBBbnRpYWxpYXNlZCBmb250IHNtb290aGluZyB3b3JrcyBiZXN0IGZvciBsaWdodCB0ZXh0IG9uIGEgZGFyayBiYWNrZ3JvdW5kLlxuICAgIC8vIEFwcGx5IHRvIHNpbmdsZSBlbGVtZW50cyBpbnN0ZWFkIG9mIGdsb2JhbGx5IHRvIGJvZHkuXG4gICAgLy8gTm90ZSB0aGlzIG9ubHkgYXBwbGllcyB0byB3ZWJraXQtYmFzZWQgZGVza3RvcCBicm93c2VycyBhbmQgRmlyZWZveCAyNSAoYW5kIGxhdGVyKSBvbiB0aGUgTWFjLlxuICAgIC5hbnRpYWxpYXNlZCB7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBHbG9iYWwgcmVzZXRzIGZvciBmb3Jtc1xuICAgIC8vXG5cbiAgICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgICB0ZXh0YXJlYSB7IGhlaWdodDogYXV0bzsgbWluLWhlaWdodDogNTBweDsgfVxuXG4gICAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gICAgc2VsZWN0IHsgd2lkdGg6IDEwMCU7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4kcm93LXdpZHRoOiByZW0tY2FsYygxMDAwKSAhZGVmYXVsdDtcbiR0b3RhbC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuJGxhc3QtY2hpbGQtZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb24gIWRlZmF1bHQ7XG5cbi8vXG4vLyBHcmlkIEZ1bmN0aW9uc1xuLy9cblxuLy8gRGVwcmVjYXRlZDogV2UnbGwgZHJvcCBzdXBwb3J0IGZvciB0aGlzIGluIDUuMSwgdXNlIGdyaWQtY2FsYygpXG5AZnVuY3Rpb24gZ3JpZENhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xuICBAd2FybiBcImdyaWRDYWxjKCkgaXMgZGVwcmVjYXRlZCwgdXNlIGdyaWQtY2FsYygpXCI7XG4gIEByZXR1cm4gZ3JpZC1jYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpO1xufVxuXG4vLyBARlVOQ1RJT05cbi8vICRjb2xOdW1iZXIgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXG4vLyAkdG90YWxDb2x1bW5zIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuQGZ1bmN0aW9uIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKSB7XG4gICRyZXN1bHQ6IHBlcmNlbnRhZ2UoKCRjb2xOdW1iZXIgLyAkdG90YWxDb2x1bW5zKSk7XG4gIEBpZiAkcmVzdWx0ID09IDAlIHsgJHJlc3VsdDogMDsgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBGb3IgY3JlYXRpbmcgY29udGFpbmVyLCBuZXN0ZWQsIGFuZCBjb2xsYXBzZWQgcm93cy5cbi8vXG4vL1xuLy8gJGJlaGF2aW9yIC0gQW55IHNwZWNpYWwgYmVoYXZpb3IgZm9yIHRoaXMgcm93PyBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogbmVzdCwgY29sbGFwc2UsIG5lc3QtY29sbGFwc2UsIGZhbHNlLlxuQG1peGluIGdyaWQtcm93KCRiZWhhdmlvcjogZmFsc2UpIHtcblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3cobmVzdCk7IHRvIGluY2x1ZGUgYSBuZXN0ZWQgcm93XG4gIEBpZiAkYmVoYXZpb3IgPT0gbmVzdCB7XG4gICAgbWFyZ2luOiAwICgtKCRjb2x1bW4tZ3V0dGVyLzIpKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3coY29sbGFwc2UpOyB0byBjb2xsYXBzZWQgYSBjb250YWluZXIgcm93IG1hcmdpbnNcbiAgQGVsc2UgaWYgJGJlaGF2aW9yID09IGNvbGxhcHNlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KG5lc3QtY29sbGFwc2UpOyB0byBjb2xsYXBzZSBvdXRlciBtYXJnaW5zIG9uIGEgbmVzdGVkIHJvd1xuICBAZWxzZSBpZiAkYmVoYXZpb3IgPT0gbmVzdC1jb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdzsgdG8gdXNlIGEgY29udGFpbmVyIHJvd1xuICBAZWxzZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXJmaXggZm9yIGFsbCByb3dzXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi8vIENyZWF0ZXMgYSBjb2x1bW4sIHNob3VsZCBiZSB1c2VkIGluc2lkZSBvZiBhIG1lZGlhIHF1ZXJ5IHRvIGNvbnRyb2wgbGF5b3V0c1xuLy9cbi8vICRjb2x1bW5zIC0gVGhlIG51bWJlciBvZiBjb2x1bW5zIHRoaXMgc2hvdWxkIGJlXG4vLyAkbGFzdC1jb2x1bW4gLSBJcyB0aGlzIHRoZSBsYXN0IGNvbHVtbj8gRGVmYXVsdDogZmFsc2UuXG4vLyAkY2VudGVyIC0gQ2VudGVyIHRoZXNlIGNvbHVtbnM/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJG9mZnNldCAtICMgb2YgY29sdW1ucyB0byBvZmZzZXQuIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHB1c2ggLSAjIG9mIGNvbHVtbnMgdG8gcHVzaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkcHVsbCAtICMgb2YgY29sdW1ucyB0byBwdWxsLiBEZWZhdWx0OiBmYWxzZS5cbi8vICRjb2xsYXBzZSAtIEdldCByaWQgb2YgZ3V0dGVyIHBhZGRpbmcgb24gY29sdW1uPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRmbG9hdCAtIFNob3VsZCB0aGlzIGZsb2F0PyBEZWZhdWx0OiB0cnVlLiBPcHRpb25zOiB0cnVlLCBmYWxzZSwgbGVmdCwgcmlnaHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOmZhbHNlLFxuICAkbGFzdC1jb2x1bW46ZmFsc2UsXG4gICRjZW50ZXI6ZmFsc2UsXG4gICRvZmZzZXQ6ZmFsc2UsXG4gICRwdXNoOmZhbHNlLFxuICAkcHVsbDpmYWxzZSxcbiAgJGNvbGxhcHNlOmZhbHNlLFxuICAkZmxvYXQ6dHJ1ZSxcbiAgJHBvc2l0aW9uOmZhbHNlKSB7XG5cbiAgLy8gSWYgcG9zaXRpb25lZCBmb3IgZGVmYXVsdCAuY29sdW1uLCBpbmNsdWRlIHJlbGF0aXZlIHBvc2l0aW9uXG4gIC8vIHB1c2ggYW5kIHB1bGwgcmVxdWlyZSBwb3NpdGlvbiBzZXRcbiAgQGlmICRwb3NpdGlvbiBvciAkcHVzaCBvciAkcHVsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gSWYgY29sbGFwc2VkLCBnZXQgcmlkIG9mIGd1dHRlciBwYWRkaW5nXG4gIEBpZiAkY29sbGFwc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLy8gR3V0dGVyIHBhZGRpbmcgd2hlbmV2ZXIgYSBjb2x1bW4gaXNuJ3Qgc2V0IHRvIGNvbGxhcHNlXG4gIC8vICh1c2UgJGNvbGxhcHNlOm51bGwgdG8gZG8gbm90aGluZylcbiAgQGVsc2UgaWYgJGNvbGxhcHNlID09IGZhbHNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xuICB9XG5cbiAgLy8gSWYgYSBjb2x1bW4gbnVtYmVyIGlzIGdpdmVuLCBjYWxjdWxhdGUgd2lkdGhcbiAgQGlmICRjb2x1bW5zIHtcbiAgICB3aWR0aDogZ3JpZC1jYWxjKCRjb2x1bW5zLCAkdG90YWwtY29sdW1ucyk7XG5cbiAgICAvLyBJZiBsYXN0IGNvbHVtbiwgZmxvYXQgbmF0dXJhbGx5IGluc3RlYWQgb2YgdG8gdGhlIHJpZ2h0XG4gICAgQGlmICRsYXN0LWNvbHVtbiB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gIH1cblxuICAvLyBTb3VyY2UgT3JkZXJpbmcsIGFkZHMgbGVmdC9yaWdodCBkZXBlbmRpbmcgb24gd2hpY2ggeW91IHVzZS5cbiAgQGlmICRwdXNoIHsgI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkcHVzaCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvOyB9XG4gIEBpZiAkcHVsbCB7ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGdyaWQtY2FsYygkcHVsbCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bzsgfVxuXG4gIEBpZiAkZmxvYXQgYW5kICRsYXN0LWNvbHVtbiA9PSBmYWxzZSB7XG4gICAgQGlmICRmbG9hdCA9PSBsZWZ0IG9yICRmbG9hdCA9PSB0cnVlIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XG4gICAgQGVsc2UgaWYgJGZsb2F0ID09IHJpZ2h0IHsgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247IH1cbiAgICBAZWxzZSB7IGZsb2F0OiBub25lOyB9XG4gIH1cblxuICAvLyBJZiBjZW50ZXJlZCwgZ2V0IHJpZCBvZiBmbG9hdCBhbmQgYWRkIGFwcHJvcHJpYXRlIG1hcmdpbnNcbiAgQGlmICRjZW50ZXIge1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIElmIG9mZnNldCwgY2FsY3VsYXRlIGFwcHJvcHJpYXRlIG1hcmdpbnNcbiAgQGlmICRvZmZzZXQgeyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkb2Zmc2V0LCAkdG90YWwtY29sdW1ucykgIWltcG9ydGFudDsgfVxuXG59XG5cbi8vIENyZWF0ZSBwcmVzZW50YXRpb25hbCBjbGFzc2VzIGZvciBncmlkXG4vL1xuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtMSwgLmxhcmdlLTIsIGV0Yy5cbkBtaXhpbiBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZSkge1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tcHVzaC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICAgIC4jeyRzaXplfS1wdWxsLSN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOmZhbHNlLCAkcG9zaXRpb246dHJ1ZSk7IH1cblxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMge1xuICAgIC4jeyRzaXplfS0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgIC4jeyRzaXplfS1vZmZzZXQtI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkb2Zmc2V0OiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxuICB9XG5cbiAgLiN7JHNpemV9LXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS1jZW50ZXJlZCB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjZW50ZXI6dHJ1ZSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cblxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gIH1cblxuICAvLyBGaWdodGluZyBbY2xhc3MqPVwiY29sdW1uXCJdICsgW2NsYXNzKj1cImNvbHVtblwiXTpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ2h0aW5nIC5jb2x1bW4uPHByZXZpb3VzLXNpemU+LWNlbnRlcmVkOmxhc3QtY2hpbGRcbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgfVxuXG4gIC5yb3cge1xuICAgICYuI3skc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uLFxuICAgICAgPiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgICAgIC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbiAgICB9XG4gICAgJi4jeyRzaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbixcbiAgICAgID4gLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImdyaWRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXMge1xuICAgIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICAgPiAuY29sdW1uLFxuICAgICAgICAgPiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgICAgICAgLnJvdyB7bWFyZ2luLWxlZnQ6MDsgbWFyZ2luLXJpZ2h0OjA7fVxuICAgICAgfVxuXG4gICAgICAucm93IHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOm5lc3QpO1xuICAgICAgICAmLmNvbGxhcHNlIHsgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOm5lc3QtY29sbGFwc2UpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiR0b3RhbC1jb2x1bW5zKTsgfVxuXG4gICAgLmNvbHVtbixcbiAgICAuY29sdW1ucyB7XG4gICAgICAmICsgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6ICRsYXN0LWNoaWxkLWZsb2F0O1xuICAgICAgfVxuICAgICAgJiArICYuZW5kIHtcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzbWFsbC11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6c21hbGwpO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOm1lZGl1bSk7XG4gICAgICAvLyBPbGQgcHVzaCBhbmQgcHVsbCBjbGFzc2VzXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlKTtcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAgICAgLnB1c2gtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICAucHVsbC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkaW5jbHVkZS14bC1odG1sLWdyaWQtY2xhc3NlcyB7XG4gICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eGxhcmdlKTtcbiAgICB9XG4gICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnh4bGFyZ2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCBodG1sIGFuZCBib2R5IGZvbnQtc2l6ZSBmb3IgdGhlIGJhc2UgcmVtIHZhbHVlLlxuJHJlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBJTVBPUlQgT05DRVxuLy8gV2UgdXNlIHRoaXMgdG8gcHJldmVudCBzdHlsZXMgZnJvbSBiZWluZyBsb2FkZWQgbXVsdGlwbGUgdGltZXMgZm9yIGNvbXBvbmVudHMgdGhhdCByZWx5IG9uIG90aGVyIGNvbXBvbmVudHMuXG4kbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbkBtaXhpbiBleHBvcnRzKCRuYW1lKSB7XG4gIC8vIEltcG9ydCBmcm9tIGdsb2JhbCBzY29wZVxuICAkbW9kdWxlczogJG1vZHVsZXMgIWdsb2JhbDtcbiAgLy8gQ2hlY2sgaWYgYSBtb2R1bGUgaXMgYWxyZWFkeSBvbiB0aGUgbGlzdFxuICAkbW9kdWxlX2luZGV4OiBpbmRleCgkbW9kdWxlcywgJG5hbWUpO1xuICBAaWYgKCgkbW9kdWxlX2luZGV4ID09IG51bGwpIG9yICgkbW9kdWxlX2luZGV4ID09IGZhbHNlKSkge1xuICAgICRtb2R1bGVzOiBhcHBlbmQoJG1vZHVsZXMsICRuYW1lKSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vXG4vLyBAZnVuY3Rpb25zXG4vL1xuXG5cbi8vIFJBTkdFU1xuLy8gV2UgdXNlIHRoZXNlIGZ1bmN0aW9ucyB0byBkZWZpbmUgcmFuZ2VzIGZvciB2YXJpb3VzIHRoaW5ncywgbGlrZSBtZWRpYSBxdWVyaWVzLlxuQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPD0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMSk7XG59XG5cbkBmdW5jdGlvbiB1cHBlci1ib3VuZCgkcmFuZ2UpIHtcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDwgMiB7XG4gICAgQHJldHVybiA5OTk5OTk5OTk5OTk7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAyKTtcbn1cblxuLy8gU1RSSVAgVU5JVFxuLy8gSXQgc3RyaXBzIHRoZSB1bml0IG9mIG1lYXN1cmUgYW5kIHJldHVybnMgaXRcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vIFRFWFQgSU5QVVQgVFlQRVNcblxuQGZ1bmN0aW9uIHRleHQtaW5wdXRzKCAkdHlwZXM6IGFsbCwgJHNlbGVjdG9yOiBpbnB1dCApIHtcblxuICAkcmV0dXJuOiAoKTtcblxuICAkYWxsLXRleHQtaW5wdXQtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvclxuICAgIHRleHRhcmVhO1xuXG4gIEBpZiAkdHlwZXMgPT0gYWxsIHsgJHR5cGVzOiAkYWxsLXRleHQtaW5wdXQtdHlwZXM7IH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgIEBpZiAkdHlwZSA9PSB0ZXh0YXJlYSB7XG4gICAgICBAaWYgJHNlbGVjdG9yID09IGlucHV0IHtcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9JyksIGNvbW1hKVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfSN7JHNlbGVjdG9yfScpLCBjb21tYSlcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyRzZWxlY3Rvcn1bdHlwZT1cIiN7JHR5cGV9XCJdJyksIGNvbW1hKVxuICAgIH1cbiAgfVxuXG4gICAgQHJldHVybiAkcmV0dXJuO1xuXG59XG5cbi8vIENPTlZFUlQgVE8gUkVNXG5AZnVuY3Rpb24gY29udmVydC10by1yZW0oJHZhbHVlLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZS12YWx1ZSkgKiAxcmVtO1xuICBAaWYgKCR2YWx1ZSA9PSAwcmVtKSB7ICR2YWx1ZTogMDsgfSAvLyBUdXJuIDByZW0gaW50byAwXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gZGF0YSgkYXR0cikge1xuICBAaWYgJG5hbWVzcGFjZSB7XG4gICAgQHJldHVybiAnW2RhdGEtJyArICRuYW1lc3BhY2UgKyAnLScgKyAkYXR0ciArICddJztcbiAgfVxuXG4gIEByZXR1cm4gJ1tkYXRhLScgKyAkYXR0ciArICddJztcbn1cblxuLy8gUkVNIENBTENcblxuLy8gTmV3IFN5bnRheCwgYWxsb3dzIHRvIG9wdGlvbmFsbHkgY2FsY3VsYXRlIG9uIGEgZGlmZmVyZW50IGJhc2UgdmFsdWUgdG8gY291bnRlciBjb21wb3VuZGluZyBlZmZlY3Qgb2YgcmVtJ3MuXG4vLyBDYWxsIHdpdGggMSwgMiwgMyBvciA0IHBhcmFtZXRlcnMsICdweCcgaXMgbm90IHJlcXVpcmVkIGJ1dCBzdXBwb3J0ZWQ6XG4vL1xuLy8gICByZW0tY2FsYygxMCAyMCAzMHB4IDQwKTtcbi8vXG4vLyBTcGFjZSBkZWxpbWl0ZWQsIGlmIHlvdSB3YW50IHRvIGRlbGltaXQgdXNpbmcgY29tbWEncywgd3JhcCBpdCBpbiBhbm90aGVyIHBhaXIgb2YgYnJhY2tldHNcbi8vXG4vLyAgIHJlbS1jYWxjKCgxMCwgMjAsIDMwLCA0MHB4KSk7XG4vL1xuLy8gT3B0aW9uYWxseSBjYWxsIHdpdGggYSBkaWZmZXJlbnQgYmFzZSAoZWc6IDhweCkgdG8gY2FsY3VsYXRlIHJlbS5cbi8vXG4vLyAgIHJlbS1jYWxjKDE2cHggMzJweCA0OHB4LCA4cHgpO1xuLy9cbi8vIElmIHlvdSByZXF1aXJlIHRvIGNvbW1hIHNlcGFyYXRlIHlvdXIgbGlzdFxuLy9cbi8vICAgcmVtLWNhbGMoKDE2cHgsIDMycHgsIDQ4KSwgOHB4KTtcblxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJG1heDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAxKSwgJGJhc2UtdmFsdWUpOyB9XG5cbiAgJHJlbVZhbHVlczogKCk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgJHJlbVZhbHVlczogYXBwZW5kKCRyZW1WYWx1ZXMsIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlLXZhbHVlKSk7XG4gIH1cbiAgQHJldHVybiAkcmVtVmFsdWVzO1xufVxuXG5cbkBmdW5jdGlvbiBlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJHJlbVZhbHVlczogcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSk7XG5cbiAgJG1heDogbGVuZ3RoKCRyZW1WYWx1ZXMpO1xuXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsIDEpKSAqIDFlbTsgfVxuXG4gICRlbVZhbHVlczogKCk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgJGVtVmFsdWVzOiBhcHBlbmQoJGVtVmFsdWVzLCBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAkaSkpICogMWVtKTtcbiAgfVxuICBAcmV0dXJuICRlbVZhbHVlcztcbn1cblxuXG4vLyBEZXByZWNhdGVkOiBPTEQgRU0gQ0FMQ1xuQGZ1bmN0aW9uIGVtQ2FsYygkdmFsdWVzKSB7XG4gIEByZXR1cm4gZW0tY2FsYygkdmFsdWVzKTtcbn1cbiIsImh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5ibG9ja3F1b3RlLCBxIHtcbiAgcXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbm1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiLzUuNS4zL1wiO1xufVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtc21hbGwge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4vXCI7XG4gIHdpZHRoOiAwO1xufVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtc21hbGwtb25seSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDBlbSkvXCI7XG4gIHdpZHRoOiAwO1xufVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwLjA2MjVlbSkvXCI7XG4gIHdpZHRoOiA0MC4wNjI1ZW07XG59XG5cbm1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0tb25seSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo0MC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOjY0ZW0pL1wiO1xuICB3aWR0aDogNDAuMDYyNWVtO1xufVxuXG5tZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Uge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjQuMDYyNWVtKS9cIjtcbiAgd2lkdGg6IDY0LjA2MjVlbTtcbn1cblxubWV0YS5mb3VuZGF0aW9uLW1xLWxhcmdlLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDo5MGVtKS9cIjtcbiAgd2lkdGg6IDY0LjA2MjVlbTtcbn1cblxubWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZSB7XG4gIGZvbnQtZmFtaWx5OiBcIi9vbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5MC4wNjI1ZW0pL1wiO1xuICB3aWR0aDogOTAuMDYyNWVtO1xufVxuXG5tZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlLW9ubHkge1xuICBmb250LWZhbWlseTogXCIvb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDoxMjBlbSkvXCI7XG4gIHdpZHRoOiA5MC4wNjI1ZW07XG59XG5cbm1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcbiAgZm9udC1mYW1pbHk6IFwiL29ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMC4wNjI1ZW0pL1wiO1xuICB3aWR0aDogMTIwLjA2MjVlbTtcbn1cblxubWV0YS5mb3VuZGF0aW9uLWRhdGEtYXR0cmlidXRlLW5hbWVzcGFjZSB7XG4gIGZvbnQtZmFtaWx5OiBmYWxzZTtcbn1cblxuaHRtbCwgYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sLFxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMjIyO1xuICBjdXJzb3I6IGF1dG87XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuYTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmltZyB7XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG59XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uY2xlYXJmaXg6YmVmb3JlLCAuY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5hbnRpYWxpYXNlZCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xufVxuXG5zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnJvdyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDYyLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucm93OmJlZm9yZSwgLnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnJvdzphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbixcbi5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLnJvdy5jb2xsYXBzZSAucm93IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnJvdyAucm93IHtcbiAgbWFyZ2luOiAwIC0wLjkzNzVyZW07XG4gIG1heC13aWR0aDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5yb3cgLnJvdzpiZWZvcmUsIC5yb3cgLnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnJvdyAucm93OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnJvdyAucm93LmNvbGxhcHNlOmJlZm9yZSwgLnJvdyAucm93LmNvbGxhcHNlOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4ucm93IC5yb3cuY29sbGFwc2U6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmNvbHVtbixcbi5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uY29sdW1uICsgLmNvbHVtbjpsYXN0LWNoaWxkLFxuLmNvbHVtbnMgKyAuY29sdW1uOmxhc3QtY2hpbGQsIC5jb2x1bW4gK1xuLmNvbHVtbnM6bGFzdC1jaGlsZCxcbi5jb2x1bW5zICtcbi5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jb2x1bW4gKyAuY29sdW1uLmVuZCxcbi5jb2x1bW5zICsgLmNvbHVtbi5lbmQsIC5jb2x1bW4gK1xuLmNvbHVtbnMuZW5kLFxuLmNvbHVtbnMgK1xuLmNvbHVtbnMuZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiB7XG4gIC5zbWFsbC1wdXNoLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zbWFsbC1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuc21hbGwtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuc21hbGwtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtcmVzZXQtb3JkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5jb2x1bW4uc21hbGwtY2VudGVyZWQsXG4gIC5jb2x1bW5zLnNtYWxsLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLmNvbHVtbi5zbWFsbC11bmNlbnRlcmVkLFxuICAuY29sdW1ucy5zbWFsbC11bmNlbnRlcmVkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmNvbHVtbi5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAuY29sdW1uLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMuc21hbGwtdW5jZW50ZXJlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuY29sdW1uLnNtYWxsLXVuY2VudGVyZWQub3Bwb3NpdGUsXG4gIC5jb2x1bW5zLnNtYWxsLXVuY2VudGVyZWQub3Bwb3NpdGUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAucm93LnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAucm93LnNtYWxsLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAucm93LnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93LnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5tZWRpdW0tcHVzaC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMjUlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubWVkaXVtLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuY29sdW1uLm1lZGl1bS1jZW50ZXJlZCxcbiAgLmNvbHVtbnMubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLmNvbHVtbi5tZWRpdW0tdW5jZW50ZXJlZCxcbiAgLmNvbHVtbnMubWVkaXVtLXVuY2VudGVyZWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuY29sdW1uLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy5tZWRpdW0tY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLmNvbHVtbi5tZWRpdW0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy5tZWRpdW0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuY29sdW1uLm1lZGl1bS11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy5tZWRpdW0tdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5yb3cubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnJvdy5tZWRpdW0tY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5yb3cubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLFxuICAucm93Lm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAucHVzaC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNzUlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtcHVzaC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNzUlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXJlc2V0LW9yZGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuY29sdW1uLmxhcmdlLWNlbnRlcmVkLFxuICAuY29sdW1ucy5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5jb2x1bW4ubGFyZ2UtdW5jZW50ZXJlZCxcbiAgLmNvbHVtbnMubGFyZ2UtdW5jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5jb2x1bW4ubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZCxcbiAgLmNvbHVtbnMubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLmNvbHVtbi5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLmxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmNvbHVtbi5sYXJnZS11bmNlbnRlcmVkLm9wcG9zaXRlLFxuICAuY29sdW1ucy5sYXJnZS11bmNlbnRlcmVkLm9wcG9zaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLnJvdy5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sXG4gIC5yb3cubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnJvdy5sYXJnZS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLnJvdy5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbixcbiAgLnJvdy5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAucHVzaC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogNzUlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG5idXR0b24sIC5idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxcmVtIDJyZW0gMS4wNjI1cmVtIDJyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOENCQTtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3MDk1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dDtcbn1cblxuYnV0dG9uOmhvdmVyLCBidXR0b246Zm9jdXMsIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MDk1O1xufVxuXG5idXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gIGJvcmRlci1jb2xvcjogI2I5YjliOTtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWI5Yjk7XG59XG5cbmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzQUM2QTtcbiAgYm9yZGVyLWNvbG9yOiAjMzY4YTU1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjhhNTU7XG59XG5cbmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCBidXR0b24uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwNDEyNDtcbiAgYm9yZGVyLWNvbG9yOiAjY2YyYTBlO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmFsZXJ0OmhvdmVyLCBidXR0b24uYWxlcnQ6Zm9jdXMsIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2YyYTBlO1xufVxuXG5idXR0b24uYWxlcnQ6aG92ZXIsIGJ1dHRvbi5hbGVydDpmb2N1cywgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5idXR0b24ud2FybmluZywgLmJ1dHRvbi53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbiAgYm9yZGVyLWNvbG9yOiAjY2Y2ZTBlO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLndhcm5pbmc6aG92ZXIsIGJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjZlMGU7XG59XG5cbmJ1dHRvbi53YXJuaW5nOmhvdmVyLCBidXR0b24ud2FybmluZzpmb2N1cywgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmluZm8sIC5idXR0b24uaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMGQzZTg7XG4gIGJvcmRlci1jb2xvcjogIzYxYjZkOTtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbmJ1dHRvbi5pbmZvOmhvdmVyLCBidXR0b24uaW5mbzpmb2N1cywgLmJ1dHRvbi5pbmZvOmhvdmVyLCAuYnV0dG9uLmluZm86Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjFiNmQ5O1xufVxuXG5idXR0b24uaW5mbzpob3ZlciwgYnV0dG9uLmluZm86Zm9jdXMsIC5idXR0b24uaW5mbzpob3ZlciwgLmJ1dHRvbi5pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbmJ1dHRvbi5sYXJnZSwgLmJ1dHRvbi5sYXJnZSB7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDIuMjVyZW0gMS4xODc1cmVtIDIuMjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuYnV0dG9uLnNtYWxsLCAuYnV0dG9uLnNtYWxsIHtcbiAgcGFkZGluZzogMC44NzVyZW0gMS43NXJlbSAwLjkzNzVyZW0gMS43NXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG59XG5cbmJ1dHRvbi50aW55LCAuYnV0dG9uLnRpbnkge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtIDAuNjg3NXJlbSAxLjI1cmVtO1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbn1cblxuYnV0dG9uLmV4cGFuZCwgLmJ1dHRvbi5leHBhbmQge1xuICBwYWRkaW5nOiAxcmVtIDJyZW0gMS4wNjI1cmVtIDJyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMDYyNXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmJ1dHRvbi5sZWZ0LWFsaWduLCAuYnV0dG9uLmxlZnQtYWxpZ24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWluZGVudDogMC43NXJlbTtcbn1cblxuYnV0dG9uLnJpZ2h0LWFsaWduLCAuYnV0dG9uLnJpZ2h0LWFsaWduIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG59XG5cbmJ1dHRvbi5yYWRpdXMsIC5idXR0b24ucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG5idXR0b24ucm91bmQsIC5idXR0b24ucm91bmQge1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZCwgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Q0JBO1xuICBib3JkZXItY29sb3I6ICMwMDcwOTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDcwOTU7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDhDQkE7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNztcbiAgYm9yZGVyLWNvbG9yOiAjYjliOWI5O1xuICBjb2xvcjogIzMzMzMzMztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWI5Yjk7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xufVxuXG5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDNBQzZBO1xuICBib3JkZXItY29sb3I6ICMzNjhhNTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzY4YTU1O1xufVxuXG5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0M0FDNkE7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA0MTI0O1xuICBib3JkZXItY29sb3I6ICNjZjJhMGU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjJhMGU7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCBidXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDQxMjQ7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDhhMjQ7XG4gIGJvcmRlci1jb2xvcjogI2NmNmUwZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogMC43O1xufVxuXG5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIGJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjZlMGU7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCBidXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCBidXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwOGEyNDtcbn1cblxuYnV0dG9uLmRpc2FibGVkLmluZm8sIGJ1dHRvbltkaXNhYmxlZF0uaW5mbywgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvLCAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDNlODtcbiAgYm9yZGVyLWNvbG9yOiAjNjFiNmQ5O1xuICBjb2xvcjogIzMzMzMzMztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCBidXR0b24uZGlzYWJsZWQuaW5mbzpmb2N1cywgYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmhvdmVyLCBidXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMsIC5idXR0b24uZGlzYWJsZWQuaW5mbzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5pbmZvOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYxYjZkOTtcbn1cblxuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYnV0dG9uLmRpc2FibGVkLmluZm86aG92ZXIsIGJ1dHRvbi5kaXNhYmxlZC5pbmZvOmZvY3VzLCBidXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIGJ1dHRvbltkaXNhYmxlZF0uaW5mbzpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZC5pbmZvOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmluZm86Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmluZm86aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmluZm86Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkM2U4O1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8qIFN0YW5kYXJkIEZvcm1zICovXG5mb3JtIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuLyogVXNpbmcgZm9ybXMgd2l0aGluIHJvd3MsIHdlIG5lZWQgdG8gc2V0IHNvbWUgZGVmYXVsdHMgKi9cbmZvcm0gLnJvdyAucm93IHtcbiAgbWFyZ2luOiAwIC0wLjVyZW07XG59XG5cbmZvcm0gLnJvdyAucm93IC5jb2x1bW4sXG5mb3JtIC5yb3cgLnJvdyAuY29sdW1ucyB7XG4gIHBhZGRpbmc6IDAgMC41cmVtO1xufVxuXG5mb3JtIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuZm9ybSAucm93IC5yb3cuY29sbGFwc2UgLmNvbHVtbixcbmZvcm0gLnJvdyAucm93LmNvbGxhcHNlIC5jb2x1bW5zIHtcbiAgcGFkZGluZzogMDtcbn1cblxuZm9ybSAucm93IC5yb3cuY29sbGFwc2UgaW5wdXQge1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG5cbmZvcm0gLnJvdyBpbnB1dC5jb2x1bW4sXG5mb3JtIC5yb3cgaW5wdXQuY29sdW1ucyxcbmZvcm0gLnJvdyB0ZXh0YXJlYS5jb2x1bW4sXG5mb3JtIC5yb3cgdGV4dGFyZWEuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuXG4vKiBMYWJlbCBTdHlsZXMgKi9cbmxhYmVsIHtcbiAgY29sb3I6ICM0ZDRkNGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC8qIFN0eWxlcyBmb3IgcmVxdWlyZWQgaW5wdXRzICovXG59XG5cbmxhYmVsLnJpZ2h0IHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbmxhYmVsLmlubGluZSB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMC41NjI1cmVtIDA7XG59XG5cbmxhYmVsIHNtYWxsIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGNvbG9yOiAjNjc2NzY3O1xufVxuXG4vKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cbi5wcmVmaXgsXG4ucG9zdGZpeCB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiAyLjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjMxMjVyZW07XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cblxuLyogQWRqdXN0IHBhZGRpbmcsIGFsaWdubWVudCBhbmQgcmFkaXVzIGlmIHByZS9wb3N0IGVsZW1lbnQgaXMgYSBidXR0b24gKi9cbi5wb3N0Zml4LmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByZWZpeC5idXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcmVmaXguYnV0dG9uLnJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG59XG5cbi5wb3N0Zml4LmJ1dHRvbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbn1cblxuLnByZWZpeC5idXR0b24ucm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xufVxuXG4ucG9zdGZpeC5idXR0b24ucm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwMDBweDtcbn1cblxuLyogU2VwYXJhdGUgcHJlZml4IGFuZCBwb3N0Zml4IHN0eWxlcyB3aGVuIG9uIHNwYW4gb3IgbGFiZWwgc28gYnV0dG9ucyBrZWVwIHRoZWlyIG93biAqL1xuc3Bhbi5wcmVmaXgsIGxhYmVsLnByZWZpeCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbn1cblxuc3Bhbi5wb3N0Zml4LCBsYWJlbC5wb3N0Zml4IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG59XG5cbi8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXG5pbnB1dDpub3QoW3R5cGVdKSwgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCBpbnB1dFt0eXBlPVwibW9udGhcIl0sIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiY29sb3JcIl0sIHRleHRhcmVhIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGhlaWdodDogMi4zMTI1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZCAwLjE1cyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQgMC4xNXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kIDAuMTVzIGxpbmVhcjtcbn1cblxuaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cywgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIGJvcmRlci1jb2xvcjogIzk5OTk5OTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJkYXRlXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwid2Vla1wiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwidGVsXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwidGltZVwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInVybFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmRpc2FibGVkLCB0ZXh0YXJlYTpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuaW5wdXQ6bm90KFt0eXBlXSlbZGlzYWJsZWRdLCBpbnB1dDpub3QoW3R5cGVdKVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXQ6bm90KFt0eXBlXSksIGlucHV0W3R5cGU9XCJ0ZXh0XCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInRleHRcIl1bcmVhZG9ubHldLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1bcmVhZG9ubHldLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cImRhdGVcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1bcmVhZG9ubHldLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cIm1vbnRoXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cIm1vbnRoXCJdW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwibW9udGhcIl0sIGlucHV0W3R5cGU9XCJ3ZWVrXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cIndlZWtcIl1bcmVhZG9ubHldLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl1bcmVhZG9ubHldLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl1bcmVhZG9ubHldLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInRlbFwiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInRpbWVcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwidGltZVwiXVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1cInRpbWVcIl0sIGlucHV0W3R5cGU9XCJ1cmxcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwidXJsXCJdW3JlYWRvbmx5XSxcbmZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiY29sb3JcIl1bZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwiY29sb3JcIl1bcmVhZG9ubHldLFxuZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9XCJjb2xvclwiXSwgdGV4dGFyZWFbZGlzYWJsZWRdLCB0ZXh0YXJlYVtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gdGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmlucHV0Om5vdChbdHlwZV0pLnJhZGl1cywgaW5wdXRbdHlwZT1cInRleHRcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJtb250aFwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cImVtYWlsXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cIm51bWJlclwiXS5yYWRpdXMsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwidGVsXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cInRpbWVcIl0ucmFkaXVzLCBpbnB1dFt0eXBlPVwidXJsXCJdLnJhZGl1cywgaW5wdXRbdHlwZT1cImNvbG9yXCJdLnJhZGl1cywgdGV4dGFyZWEucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG5mb3JtIC5yb3cgLnByZWZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGlucHV0LFxuZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2Ugc2VsZWN0LFxuZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSBidXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbn1cblxuZm9ybSAucm93IC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSAucHJlZml4IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbn1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJhZGl1cy5yb3cuY29sbGFwc2UgaW5wdXQsXG5mb3JtIC5yb3cgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHNlbGVjdCxcbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG59XG5cbmZvcm0gLnJvdyAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIC5wb3N0Zml4IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG59XG5cbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSBpbnB1dCxcbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSB0ZXh0YXJlYSxcbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSBzZWxlY3QsXG5mb3JtIC5yb3cgLnByZWZpeC1yb3VuZC5yb3cuY29sbGFwc2UgYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMDAwcHg7XG59XG5cbmZvcm0gLnJvdyAucHJlZml4LXJvdW5kLnJvdy5jb2xsYXBzZSAucHJlZml4IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDtcbn1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSBpbnB1dCxcbmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2UgdGV4dGFyZWEsXG5mb3JtIC5yb3cgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHNlbGVjdCxcbmZvcm0gLnJvdyAucG9zdGZpeC1yb3VuZC5yb3cuY29sbGFwc2UgYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMDBweDtcbn1cblxuZm9ybSAucm93IC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSAucG9zdGZpeCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTAwMHB4O1xufVxuXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8qIFJlc3BlY3QgZW5mb3JjZWQgYW1vdW50IG9mIHJvd3MgZm9yIHRleHRhcmVhICovXG50ZXh0YXJlYVtyb3dzXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyogTm90IGFsbG93IHJlc2l6ZSBvdXQgb2YgcGFyZW50ICovXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NjY2NjY7XG59XG5cbjotbW96LXBsYWNlaG9sZGVyIHtcbiAgLyogRmlyZWZveCAxOC0gKi9cbiAgY29sb3I6ICM2NjY2NjY7XG59XG5cbjo6LW1vei1wbGFjZWhvbGRlciB7XG4gIC8qIEZpcmVmb3ggMTkrICovXG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NjY2NjY7XG59XG5cbi8qIEFkZCBoZWlnaHQgdmFsdWUgZm9yIHNlbGVjdCBlbGVtZW50cyB0byBtYXRjaCB0ZXh0IGlucHV0IGhlaWdodCAqL1xuc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VEMGlNVEp3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpSd2VDSWdhR1ZwWjJoMFBTSXpjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJJRE1pSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURZZ015SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0kxTGprNU1pd3dJREl1T1RreUxETWdMVEF1TURBNExEQWdJaTgrUEM5emRtYytcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjMxMjVyZW07XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnNlbGVjdC5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbnNlbGVjdDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIGJvcmRlci1jb2xvcjogIzk5OTk5OTtcbn1cblxuc2VsZWN0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKiBBZGp1c3QgbWFyZ2luIGZvciBmb3JtIGVsZW1lbnRzIGJlbG93ICovXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbnNlbGVjdCB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoICovXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBIVE1MNSBOdW1iZXIgc3Bpbm5lcnMgc2V0dGluZ3MgKi9cbi8qIFdlIGFkZCBiYXNpYyBmaWVsZHNldCBzdHlsaW5nICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREREREQ7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbn1cblxuZmllbGRzZXQgbGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xufVxuXG4vKiBFcnJvciBIYW5kbGluZyAqL1xuW2RhdGEtYWJpZGVdIC5lcnJvciBzbWFsbC5lcnJvciwgW2RhdGEtYWJpZGVdIC5lcnJvciBzcGFuLmVycm9yLCBbZGF0YS1hYmlkZV0gc3Bhbi5lcnJvciwgW2RhdGEtYWJpZGVdIHNtYWxsLmVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjU2MjVyZW0gMC41NjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZjA0MTI0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuW2RhdGEtYWJpZGVdIHNwYW4uZXJyb3IsIFtkYXRhLWFiaWRlXSBzbWFsbC5lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnNwYW4uZXJyb3IsIHNtYWxsLmVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjU2MjVyZW0gMC41NjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZjA0MTI0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmVycm9yIGlucHV0LFxuLmVycm9yIHRleHRhcmVhLFxuLmVycm9yIHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lcnJvciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uZXJyb3IgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmVycm9yIGxhYmVsLFxuLmVycm9yIGxhYmVsLmVycm9yIHtcbiAgY29sb3I6ICNmMDQxMjQ7XG59XG5cbi5lcnJvciBzbWFsbC5lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC41NjI1cmVtIDAuNTYyNXJlbTtcbiAgYmFja2dyb3VuZDogI2YwNDEyNDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5lcnJvciA+IGxhYmVsID4gc21hbGwge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2NzY3Njc7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC1zaXplOiA2MCU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLmVycm9yIHNwYW4uZXJyb3ItbWVzc2FnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5pbnB1dC5lcnJvcixcbnRleHRhcmVhLmVycm9yLFxuc2VsZWN0LmVycm9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxubGFiZWwuZXJyb3Ige1xuICBjb2xvcjogI2YwNDEyNDtcbn1cblxuLmlubGluZS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4wNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuMzc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pbmxpbmUtbGlzdCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMS4zNzVyZW07XG59XG5cbi5pbmxpbmUtbGlzdCA+IGxpID4gKiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogc29saWQgMXB4ICNEREREREQ7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHRhYmxlLWxheW91dDogYXV0bztcbn1cblxudGFibGUgY2FwdGlvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzIyMjIyMjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxudGFibGUgdGhlYWQge1xuICBiYWNrZ3JvdW5kOiAjRjVGNUY1O1xufVxuXG50YWJsZSB0aGVhZCB0ciB0aCxcbnRhYmxlIHRoZWFkIHRyIHRkIHtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG59XG5cbnRhYmxlIHRmb290IHtcbiAgYmFja2dyb3VuZDogI0Y1RjVGNTtcbn1cblxudGFibGUgdGZvb3QgdHIgdGgsXG50YWJsZSB0Zm9vdCB0ciB0ZCB7XG4gIGNvbG9yOiAjMjIyMjIyO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xufVxuXG50YWJsZSB0ciB0aCxcbnRhYmxlIHRyIHRkIHtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAwLjYyNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxudGFibGUgdHIuZXZlbiwgdGFibGUgdHIuYWx0LCB0YWJsZSB0cjpudGgtb2YtdHlwZShldmVuKSB7XG4gIGJhY2tncm91bmQ6ICNGOUY5Rjk7XG59XG5cbnRhYmxlIHRoZWFkIHRyIHRoLFxudGFibGUgdGZvb3QgdHIgdGgsXG50YWJsZSB0Zm9vdCB0ciB0ZCxcbnRhYmxlIHRib2R5IHRyIHRoLFxudGFibGUgdGJvZHkgdHIgdGQsXG50YWJsZSB0ciB0ZCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiAnUFQgU2FucycsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiAxNDUwcHg7XG59XG5cbi5yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZDogZ3JheTtcbn1cblxuLmludC1wYWdlIG1haW4ge1xuICBwYWRkaW5nOiA0MHB4IDA7XG59XG5cbi5yb3ctaW5mbyB7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuLnJvdy1pbmZvIC5jb2x1bW5zIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5yb3ctaW5mbyAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5yb3ctaW5mbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG5cbi5yb3ctLWZ1bGwge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5mbGV4Ym94LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IC1tcy1mbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuZmxleGJveC1jb250YWluZXItLW1lZGl1bS11cCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmNvbnRlbnQtYmxvY2sge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxufVxuXG4uY29udGVudC1ibG9jazpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE2MywgMTUyLCAxMzAsIDAuMTQpO1xufVxuXG4uY29udGVudC1ibG9jayAuY29sdW1ucyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbmEge1xuICB0cmFuc2l0aW9uOiAwLjJzIDMwMG1zIGVhc2Utb3V0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnN1cCB7XG4gIGZvbnQtc2l6ZTogNTAlO1xufVxuXG4uaC10ZXh0LW9yYW5nZSwgLmgtbGluay1vcmFuZ2Uge1xuICBjb2xvcjogI0VBNjg0MSAhaW1wb3J0YW50O1xufVxuXG4uaC10ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5oLWxpbmstb3JhbmdlOmhvdmVyLCAuaC1saW5rLW9yYW5nZTphY3RpdmUsIC5oLWxpbmstb3JhbmdlOnZpc2l0ZWQge1xuICBjb2xvcjogI0VBNjg0MTtcbn1cblxuLmgtZm9udC0zMCB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbn1cblxuLmgtZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmgtZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5oLWNvbG9yLWJsdWUge1xuICBjb2xvcjogIzE5MkY1ODtcbn1cblxuLmgtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmgtaG92ZXItd2hpdGU6aG92ZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmgtdGV4dC15ZWxsb3cge1xuICBjb2xvcjogI0YxRkEwNiAhaW1wb3J0YW50O1xufVxuXG4uaC10ZXh0LXllbGxvdzIge1xuICBjb2xvcjogI0Y4RDMwMyAhaW1wb3J0YW50O1xufVxuXG4uaC10ZXh0LWJsdWUtbGlnaHQge1xuICBjb2xvcjogIzA2ODBGQTtcbn1cblxuLmgtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaC1vIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaC1vOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNFQTY4NDE7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGxlZnQ6IC0xNXB4O1xuICBtYXJnaW46IDAgMzBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAyMHB4O1xuICB3aWR0aDogNTAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuaC1vOmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmgtbzpiZWZvcmUge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB0b3A6IDUwcHg7XG4gIH1cbn1cblxuLmgtby0tYWx0OmJlZm9yZSB7XG4gIGxlZnQ6IC0yM3B4O1xuICB0b3A6IDVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmgtby0tYWx0OmJlZm9yZSB7XG4gICAgbGVmdDogLTEycHg7XG4gICAgdG9wOiAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5oLW8tLWFsdDpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA1MHB4O1xuICB9XG59XG5cbi5oLW8tLW9mZnNldC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuaC1vLS1vZmZzZXQtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5oLW8tLW9mZnNldC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTUwcHg7XG4gIH1cbn1cblxuLmgtby0tb2Zmc2V0LXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLmgtby0tb2Zmc2V0LXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5oLW8tLW9mZnNldC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNTBweDtcbiAgfVxufVxuXG4uaC1iYWNrZ3JvdW5kLXllbGxvdyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQxLCAyNTAsIDYsIDAuOCk7XG59XG5cbi5oLXBhZGRpbmctMTAwLTE1LTAge1xuICBwYWRkaW5nOiAzMHB4IDE1cHggMTAwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5oLXBhZGRpbmctMTAwLTE1LTAge1xuICAgIHBhZGRpbmc6IDEwMHB4IDE1cHggMDtcbiAgfVxufVxuXG4uaC1wYWRkaW5nLTI1LTE1IHtcbiAgcGFkZGluZzogMjVweCAxNXB4O1xufVxuXG4uaC1uby1wYWRkaW5nIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG5oMSwgaDIsIGgzLCBoNCB7XG4gIGZvbnQtZmFtaWx5OiAnUFQgU2FucycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbnAge1xuICBjb2xvcjogIzg0ODQ4MztcbiAgZm9udC1zaXplOiAyNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxucCArIGlmcmFtZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi50aXRsZV9faGVhZGluZyB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDM1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAudGl0bGVfX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogNzVweDtcbiAgICBsaW5lLWhlaWdodDogNzVweDtcbiAgfVxufVxuXG4udGl0bGVfX3N1YmhlYWRpbmcge1xuICBjb2xvcjogIzg0ODQ4MztcbiAgZm9udC1zaXplOiAyNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnRpdGxlX19zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cbn1cblxuLnRpdGxlX19ibHVyYiB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMzM1cHgpIHtcbiAgLnRpdGxlX19ibHVyYiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTBweDtcbiAgICB3aWR0aDogOTAlO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuICAudGl0bGVfX2JsdXJiIGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC50aXRsZV9fYmx1cmIge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgfVxufVxuXG5mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjNTI1NDRFO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogMzBweCAwIDEwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIGZvb3RlciB7XG4gICAgcGFkZGluZzogMTAwcHggMCA0MHB4O1xuICB9XG59XG5cbmZvb3RlciAubG9nbyB7XG4gIGhlaWdodDogNDNweDtcbiAgbWFyZ2luOiA1MHB4IDAgMTVweDtcbiAgd2lkdGg6IDEwMnB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICBmb290ZXIgLmxvZ28ge1xuICAgIGhlaWdodDogODNweDtcbiAgICBtYXJnaW46IDEwMHB4IDAgMjVweDtcbiAgICB3aWR0aDogMjkycHg7XG4gIH1cbn1cblxuZm9vdGVyIHAge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIGZvb3RlciBwIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cbn1cblxuZm9vdGVyIGEge1xuICB0cmFuc2l0aW9uOiAwLjJzIDMwMG1zIGVhc2Utb3V0O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuZm9vdGVyIGE6aG92ZXIge1xuICBjb2xvcjogIzg0ODQ4Mztcbn1cblxuaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzE5MkY1ODtcbiAgcGFkZGluZzogMjBweCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICBoZWFkZXIge1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgfVxufVxuXG5oZWFkZXIgLmxvZ28ge1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAzN3B4O1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAxMjlweDtcbn1cblxuaGVhZGVyIG5hdiB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uaW50LXBhZ2UgaGVhZGVyIC5sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbm5hdiB1bCB7XG4gIG1hcmdpbjogMDtcbn1cblxuI21lbWJlcnNoaXAtbGV2ZWxzIHtcbiAgcGFkZGluZzogNDBweCAwIDE1cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICNtZW1iZXJzaGlwLWxldmVscyB7XG4gICAgcGFkZGluZzogMTE0cHggMCA0NXB4O1xuICB9XG59XG5cbiNtZW1iZXJzaGlwLWxldmVscyAuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMnB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAjbWVtYmVyc2hpcC1sZXZlbHMgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xuICB9XG59XG5cbiNtZW1iZXItYmVuZWZpdHMge1xuICBwYWRkaW5nOiA0MHB4IDAgMTVweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgI21lbWJlci1iZW5lZml0cyB7XG4gICAgcGFkZGluZzogNDJweCAwIDE1MHB4O1xuICB9XG59XG5cbi5jb250ZW50X19pY29ucyB7XG4gIG1hcmdpbjogNTBweCAwIDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5jb250ZW50X19pY29ucyB7XG4gICAgbWFyZ2luOiAxNTBweCAwIDA7XG4gIH1cbn1cblxuLmNvbnRlbnRfX2ljb25zIGltZyB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuY29udGVudF9faWNvbnMgaW1nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gIH1cbn1cblxuLmNvbnRlbnRfX2ljb25zIHAge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIC5jb250ZW50X19pY29ucyBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmJhY2tncm91bmQtbWVtYmVyc2hpcC1sZXZlbHMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvbWVtYmVyc2hpcC1sZXZlbHMtYmcucG5nXCIpIHJpZ2h0IDAgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uYmFja2dyb3VuZC1tZW1iZXJzaGlwLWJlbmVmaXRzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL21lbWJlcnNoaXAtYmVuZWZpdHMtbW9iaWxlLnBuZ1wiKSAxMDAlIDAgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuYmFja2dyb3VuZC1tZW1iZXJzaGlwLWJlbmVmaXRzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvZXZlbi1iaWdnZXIuanBnXCIpIDEwMCUgYm90dG9tIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5iYWNrZ3JvdW5kLWltYWdlLS1rdXJ0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuYmFja2dyb3VuZC1pbWFnZS0ta3VydCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5idXR0b24ge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLmJ1dHRvbi0tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJ1dHRvbi0taW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uYnV0dG9uLS1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5idXR0b24tLW9yYW5nZSB7XG4gIGJhY2tncm91bmQ6ICNFQTY4NDE7XG59XG5cbi5idXR0b24tLWJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMTkyRjU4O1xufVxuXG4uYnV0dG9uLS1zbWFsbCB7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5idXR0b24tLW1lZGl1bSB7XG4gIHBhZGRpbmc6IDI1cHggMTBweDtcbn1cblxuLmJ1dHRvbi0tcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5idXR0b24tLWJvcmRlci1ibHVlLWxpZ2h0IHtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkICMwNjgwRkE7XG59XG5cbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogIzE5MkY1ODtcbn1cblxubmF2LmZvb3Rlci1uYXZpZ2F0aW9uIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5uYXYuZm9vdGVyLW5hdmlnYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDk1cHg7XG59XG5cbm5hdi5mb290ZXItbmF2aWdhdGlvbiBhIHtcbiAgY29sb3I6ICNFQTY4NDE7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgbmF2LmZvb3Rlci1uYXZpZ2F0aW9uIGEge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgfVxufVxuXG5uYXYuZm9vdGVyLW5hdmlnYXRpb24gYTpob3ZlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uaGVybyB7XG4gIGJhY2tncm91bmQ6ICMxOTJGNTg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDI1cHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAuaGVybyB7XG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xuICB9XG59XG5cbi5oZXJvIC5iYWNrZ3JvdW5kLWRvdHMge1xuICB0cmFuc2l0aW9uOiAwLjhzIDIuNXMgZWFzZS1vdXQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi9pbWFnZXMvaGVyby1iZy5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGhlaWdodDogNjAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0NTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2NXB4O1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhlcm8gLmNvbHVtbnMge1xuICBtYXJnaW4tdG9wOiAtMjVweDtcbn1cblxuLmhlcm8gaW1nIHtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDI1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaGVyb19faW1hZ2UsIC5oZXJvX190ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG4uaGVyb19faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmhlcm9fX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oZXJvX190ZXh0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiA3MCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDc1cHggMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmhlcm9fX3RleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5oZXJvX19waGVsbG8sIC5oZXJvX19vcHBvcnR1bml0aWVzLCAuaGVyb19fcmlzZSwgLmhlcm9fXzk5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDkwMHB4O1xufVxuXG4uaGVyb19fcGhlbGxvIHtcbiAgdHJhbnNpdGlvbjogMC43cyAwLjJzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvaGVyby10ZXh0LXBoZWxsby5wbmdcIikgMCAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1NzFweDtcbiAgaGVpZ2h0OiAxNjNweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZXJvX19vcHBvcnR1bml0aWVzIHtcbiAgdHJhbnNpdGlvbjogMC43cyAxcyBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL2hlcm8tdGV4dC1vcHBvcnR1bml0aWVzLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEzMDhweDtcbiAgaGVpZ2h0OiAyMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZXJvX19yaXNlIHtcbiAgdHJhbnNpdGlvbjogMC43cyAxLjVzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvaGVyby10ZXh0LXJpc2UucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgd2lkdGg6IDI1JTtcbiAgbWF4LXdpZHRoOiAzODNweDtcbiAgaGVpZ2h0OiAxODFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uaGVyb19fOTkge1xuICB0cmFuc2l0aW9uOiAwLjdzIDJzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvaGVyby10ZXh0LTk5LnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiA3NSU7XG4gIG1heC13aWR0aDogOTA3cHg7XG4gIGhlaWdodDogMTY5cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmhlcm8uc2Nyb2xsZWQgLmJhY2tncm91bmQtZG90cyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oZXJvLnNjcm9sbGVkIC5oZXJvX19waGVsbG8sIC5oZXJvLnNjcm9sbGVkIC5oZXJvX19vcHBvcnR1bml0aWVzLCAuaGVyby5zY3JvbGxlZCAuaGVyb19fcmlzZSwgLmhlcm8uc2Nyb2xsZWQgLmhlcm9fXzk5IHtcbiAgdG9wOiAwO1xufVxuXG4uaGVyby0taW50IHtcbiAgcGFkZGluZzogNzBweCAwIDUwcHg7XG59XG5cbi5oZXJvLS1pbnQgLnJvdyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5oZXJvLS1pbnQgcCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubGlzdCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmxpc3QtLW1lbWJlci1iZW5lZml0cyAubGlzdF9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIG1hcmdpbjogMCAwIDQzcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5saXN0LS1tZW1iZXItYmVuZWZpdHMgLmxpc3RfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICBsaW5lLWhlaWdodDogMzlweDtcbiAgfVxufVxuXG4ubG9nbyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9sb2dvLnBuZ1wiKSAwIDAgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIG1heC13aWR0aDogMjkycHg7XG59XG5cbi5sb2dvIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWluZGVudDogLTg0MDBweDtcbiAgd2lkdGg6IGluaGVyaXQ7XG59XG5cbm5hdi5tYWluLW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTJweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk4NnB4KSB7XG4gIG5hdi5tYWluLW5hdmlnYXRpb24ge1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLW91dDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzE5MkY1ODtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB6LWluZGV4OiAxMjtcbiAgfVxuICAubmF2LW9wZW4gbmF2Lm1haW4tbmF2aWdhdGlvbiB7XG4gICAgdG9wOiAtMjBweDtcbiAgfVxufVxuXG5uYXYubWFpbi1uYXZpZ2F0aW9uIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTg2cHgpIHtcbiAgbmF2Lm1haW4tbmF2aWdhdGlvbiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbm5hdi5tYWluLW5hdmlnYXRpb24gbGk6Zmlyc3QtY2hpbGQgYSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbm5hdi5tYWluLW5hdmlnYXRpb24gYSB7XG4gIHRyYW5zaXRpb246IDAuMnMgMzAwbXMgZWFzZS1vdXQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODZweCkge1xuICBuYXYubWFpbi1uYXZpZ2F0aW9uIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxubmF2Lm1haW4tbmF2aWdhdGlvbiBhOmhvdmVyIHtcbiAgY29sb3I6ICNFQTY4NDE7XG59XG5cbm5hdi5tYWluLW5hdmlnYXRpb24gYS5tZW1iZXItbG9naW4ge1xuICBjb2xvcjogI0YxRkEwNjtcbn1cblxuLnRhYmxlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDQwcHggMCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAudGFibGUge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gIH1cbn1cblxuLnRhYmxlLS1ib3JkZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhYmxlLS1ib3JkZXIgdGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICBjb2xvcjogI0YxRkEwNjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiA1cHggMHB4IDVweCA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgLnRhYmxlLS1ib3JkZXIgdGQge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG4gIH1cbn1cblxuLnRhYmxlLS1ib3JkZXIgdGQ6Zmlyc3QtY2hpbGQge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRhYmxlLS1ib3JkZXIgdGgge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBoZWlnaHQ6IDEzMHB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAudGFibGUtLWJvcmRlciB0aCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbi50YWJsZS0tYm9yZGVyIHRoOmZpcnN0LWNoaWxkIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4udGFibGUtLWJvcmRlciB0ZCwgLnRhYmxlLS1ib3JkZXIgdGgsIC50YWJsZS0tYm9yZGVyIHRoZWFkLCAudGFibGUtLWJvcmRlciB0ciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi50YWJsZS0tYm9yZGVyIC50aXRsZSB7XG4gIGNvbG9yOiAjRjFGQTA2O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC50YWJsZS0tYm9yZGVyIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAyN3B4O1xuICB9XG59XG5cbi50ZXN0aW1vbmlhbF9fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbn1cblxuLnRlc3RpbW9uaWFsX19jb250ZW50IHAge1xuICBtYXJnaW46IDA7XG59XG5cbi50ZXN0aW1vbmlhbF9fdGl0bGUge1xuICBjb2xvcjogIzE5MkY1ODtcbn1cblxuLnRlc3RpbW9uaWFsX190ZXh0IHtcbiAgY29sb3I6ICMwNjgwRkE7XG59XG5cbi50ZXN0aW1vbmlhbF9fYXV0aG9yLCAudGVzdGltb25pYWxfX2xpbmsge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cblxuLnRlc3RpbW9uaWFsX19hdXRob3Ige1xuICBjb2xvcjogIzA2ODBGQTtcbiAgcGFkZGluZzogMzBweCAwIDA7XG59XG5cbi50ZXN0aW1vbmlhbF9fbGluayB7XG4gIGNvbG9yOiAjRUE2ODQxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ZXN0aW1vbmlhbCArIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG59XG5cbi52aWRlb19fdGl0bGUge1xuICBjb2xvcjogIzE5MkY1ODtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbi5oYW1idXJnZXItbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMHB4O1xuICByaWdodDogMTVweDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTM7XG59XG5cbi5pbnQtcGFnZSAuaGFtYnVyZ2VyLW1lbnUge1xuICB0b3A6IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODZweCkge1xuICAuaGFtYnVyZ2VyLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5iYXIsXG4uYmFyOmFmdGVyLFxuLmJhcjpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1cHg7XG59XG5cbi5iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNXB4KTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHRyYW5zaXRpb246IGFsbCAwbXMgMzAwbXM7XG59XG5cbi5iYXIuYW5pbWF0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG59XG5cbi5iYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDE1cHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMzAwbXMgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpLCB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xufVxuXG4uYmFyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDE1cHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiB0b3AgMzAwbXMgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpLCB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xufVxuXG4uYmFyLmFuaW1hdGU6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogdG9wIDMwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSwgdHJhbnNmb3JtIDMwMG1zIDMwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbn1cblxuLmJhci5hbmltYXRlOmJlZm9yZSB7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDMwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSwgdHJhbnNmb3JtIDMwMG1zIDMwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucy5cbiRidXR0b24tdG55OiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtbDogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGJ1dHRvbi1tZWQ6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRidXR0b24tbHJnOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRpc3BsYXkgcHJvcGVydHkuXG4kYnV0dG9uLWRpc3BsYXk6IGlubGluZS1ibG9jayAhZGVmYXVsdDtcbiRidXR0b24tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gdGV4dCBzdHlsZXMuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcbiRidXR0b24tZm9udC10bnk6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1tZWQ6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1scmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBob3ZlciBlZmZlY3RzLlxuJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiBib3JkZXIgc3R5bGVzLlxuJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kYnV0dG9uLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmctY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYmctY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRzdWNjZXNzLWJ1dHRvbi1iZy1jb2xvcjogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWNjZXNzLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtYnV0dG9uLWJnLWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkYWxlcnQtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yOiAkYWxlcnQtYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJHdhcm5pbmctYnV0dG9uLWJnLWNvbG9yOiAkd2FybmluZy1jb2xvciAhZGVmYXVsdDtcbiR3YXJuaW5nLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHdhcm5pbmctY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3I6ICR3YXJuaW5nLWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRpbmZvLWJ1dHRvbi1iZy1jb2xvcjogJGluZm8tY29sb3IgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRpbmZvLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYm9yZGVyLWNvbG9yOiAkaW5mby1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGJ1dHRvbi1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgZGVmYXVsdCBvcGFjaXR5IGFuZCBjdXJzb3IgZm9yIGRpc2FibGVkIGJ1dHRvbnMuXG4kYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBidXR0b24gYmFzZS5cbi8vXG4vLyAkc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzLiBDYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OiB0cnVlLlxuLy8gJGRpc3BsYXkgLSBVc2VkIHRvIGNvbnRyb2wgZGlzcGxheSBwcm9wZXJ0eS4gRGVmYXVsdDogJGJ1dHRvbi1kaXNwbGF5IHx8IGlubGluZS1ibG9ja1xuXG5AbWl4aW4gYnV0dG9uLWJhc2UoJHN0eWxlOnRydWUsICRkaXNwbGF5OiRidXR0b24tZGlzcGxheSkge1xuICBAaWYgJHN0eWxlIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICBib3JkZXItc3R5bGU6ICRidXR0b24tYm9yZGVyLXN0eWxlO1xuICAgIGJvcmRlci13aWR0aDogJGJ1dHRvbi1ib3JkZXItd2lkdGg7XG4gICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gICAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDAgMCAkYnV0dG9uLW1hcmdpbi1ib3R0b207XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246ICRidXR0b24tZm9udC1hbGlnbjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgQGlmICRkaXNwbGF5IHsgZGlzcGxheTogJGRpc3BsYXk7IH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBzaXplIHN0eWxlc1xuLy9cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zIERlZmF1bHQ6ICRidXR0b24tbWVkIHx8PSByZW0tY2FsYygxMilcbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoIC0gRGVmYXVsdDogZmFsc2VcblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkZnVsbC13aWR0aDpmYWxzZSkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggcGFkZGluZyBzdHlsZXMgY29tZSB0aHJvdWdoLFxuICAvLyB0aGVzZSBjYW4gYmUgdHVybmVkIG9mZiBieSBzZXR0aW5nICRwYWRkaW5nOmZhbHNlXG4gIEBpZiAkcGFkZGluZyB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcgKCRwYWRkaW5nICogMikgKCRwYWRkaW5nICsgcmVtLWNhbGMoMSkpICgkcGFkZGluZyAqIDIpO1xuICAgIC8vIFdlIGNvbnRyb2wgdGhlIGZvbnQtc2l6ZSBiYXNlZCBvbiBtaXhpbiBpbnB1dC5cbiAgICBAaWYgICAgICAkcGFkZGluZyA9PSAkYnV0dG9uLW1lZCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LW1lZDsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tdG55IHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtdG55OyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi1zbWwgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1zbWw7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLWxyZyB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LWxyZzsgfVxuICB9XG5cbiAgLy8gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLlxuICBAaWYgJGZ1bGwtd2lkdGgge1xuICAgIC8vIFdlIHN0aWxsIG5lZWQgdG8gY2hlY2sgaWYgJHBhZGRpbmcgaXMgc2V0LlxuICAgIEBpZiAkcGFkZGluZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcgKyByZW0tY2FsYygxKTtcbiAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgICB9IEBlbHNlIGlmICRwYWRkaW5nID09IGZhbHNlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgICBwYWRkaW5nLXRvcDowO1xuICAgIH1cbiAgICBwYWRkaW5nLWxlZnQ6ICRidXR0b24tbWVkO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRidXR0b24tbWVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIHdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYnV0dG9uIGhvdmVyIGFuZCBib3JkZXIgY29sb3JzXG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBidXR0b24gY29sb3Igc3R5bGVzXG4vL1xuLy8gJGJnIC0gQmFja2dyb3VuZCBjb2xvci4gV2UgY2FuIHNldCAkYmc6ZmFsc2UgZm9yIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC4gRGVmYXVsdDogJHByaW1hcnktY29sb3IuXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIGJ1dHRvbiByYWRpdXMgd2hpY2ggaXMgJGJ1dHRvbi1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6IGZhbHNlXG4vLyAkZGlzYWJsZWQgLSBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi4gRGVmYXVsdDogZmFsc2Vcbi8vICRiZy1ob3ZlciAtIEJ1dHRvbiBIb3ZlciBCYWNrZ3JvdW5kIENvbG9yLiBEZWZhdWx0OiAkYnV0dG9uLWJnLWhvdmVyXG4vLyAkYm9yZGVyLWNvbG9yIC0gQnV0dG9uIEJvcmRlciBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1ib3JkZXItY29sb3JcbkBtaXhpbiBidXR0b24tc3R5bGUoJGJnOiRidXR0b24tYmctY29sb3IsICRyYWRpdXM6ZmFsc2UsICRkaXNhYmxlZDpmYWxzZSwgJGJnLWhvdmVyOm51bGwsICRib3JkZXItY29sb3I6bnVsbCkge1xuXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBzdHlsZXMgYXJlIHVzZWQsXG4gIC8vIHRoZXNlIGNhbiBiZSByZW1vdmVkIGJ5IHNldHRpbmcgJGJnOmZhbHNlXG4gIEBpZiAkYmcge1xuXG4gICAgQGlmICRiZy1ob3ZlciA9PSBudWxsIHtcbiAgICAgICRiZy1ob3ZlcjogaWYoJGJnID09ICRidXR0b24tYmctY29sb3IsICRidXR0b24tYmctaG92ZXIsIHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpKTtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlci1jb2xvciA9PSBudWxsIHtcbiAgICAgICRib3JkZXItY29sb3I6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJvcmRlci1jb2xvciwgc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikpO1xuICAgIH1cblxuICAgIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgJGJnLWhvdmVyLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZy1ob3Zlcik7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRiZy1ob3ZlcjsgfVxuXG4gICAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgIGNvbG9yOiBpZigkYmctbGlnaHRuZXNzID4gNzAlLCAkYnV0dG9uLWZvbnQtY29sb3ItYWx0LCAkYnV0dG9uLWZvbnQtY29sb3IpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBpZigkYmctaG92ZXItbGlnaHRuZXNzID4gNzAlLCAkYnV0dG9uLWZvbnQtY29sb3ItYWx0LCAkYnV0dG9uLWZvbnQtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLlxuICBAaWYgJGRpc2FibGVkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGN1cnNvcjogJGJ1dHRvbi1kaXNhYmxlZC1jdXJzb3I7XG4gICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRiZzsgfVxuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggYnV0dG9uIHJhZGl1cyBpcyB1c2VkLlxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRidXR0b24tcmFkaXVzKTsgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XG5cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgYnV0dG9ucyB3aXRoIGEgc2luZ2xlIG1peGluLiBBcyBAamFyZWRoYXJkeSBwdXRzIGl0LCBcInRoZSBraXRjaGVuIHNpbmsgbWl4aW5cIlxuLy9cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBidWlsZCBwYWRkaW5nIGZvciBidXR0b25zIERlZmF1bHQ6ICRidXR0b24tbWVkIHx8PSByZW0tY2FsYygxMilcbi8vICRiZyAtIFByaW1hcnkgY29sb3Igc2V0IGluIHNldHRpbmdzIGZpbGUuIERlZmF1bHQ6ICRidXR0b24tYmcuXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIGJ1dHRvbiByYWRpdXMgd2hpY2ggaXMgJGdsb2JhbC1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6ZmFsc2UuXG4vLyAkZnVsbC13aWR0aCAtIFdlIGNhbiBzZXQgJGZ1bGwtd2lkdGg6dHJ1ZSB0byByZW1vdmUgc2lkZSBwYWRkaW5nIGV4dGVuZCB3aWR0aC4gRGVmYXVsdDpmYWxzZS5cbi8vICRkaXNhYmxlZCAtIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGlzLXByZWZpeCAtIE5vdCB1c2VkPyBEZWZhdWx0OmZhbHNlLlxuLy8gJGJnLWhvdmVyIC0gQnV0dG9uIEhvdmVyIENvbG9yIC0gRGVmYXVsdCBudWxsIC0gc2VlIGJ1dHRvbi1zdHlsZSBtaXhpblxuLy8gJGJvcmRlci1jb2xvciAtIEJ1dHRvbiBCb3JkZXIgQ29sb3IgLSBEZWZhdWx0IG51bGwgLSBzZWUgYnV0dG9uLXN0eWxlIG1peGluXG4vLyAkdHJhbnNpdGlvbiAtIFdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGJhY2tncm91bmQtY29sb3IgdHJhbnNpdGlvbiBwcm9wZXJ0eSAtIERlZmF1bHQ6dHJ1ZS5cbkBtaXhpbiBidXR0b24oJHBhZGRpbmc6JGJ1dHRvbi1tZWQsICRiZzokYnV0dG9uLWJnLWNvbG9yLCAkcmFkaXVzOmZhbHNlLCAkZnVsbC13aWR0aDpmYWxzZSwgJGRpc2FibGVkOmZhbHNlLCAkaXMtcHJlZml4OmZhbHNlLCAkYmctaG92ZXI6bnVsbCwgJGJvcmRlci1jb2xvcjpudWxsLCAkdHJhbnNpdGlvbjogdHJ1ZSkge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcsICRmdWxsLXdpZHRoKTtcbiAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZywgJHJhZGl1cywgJGRpc2FibGVkLCAkYmctaG92ZXIsICRib3JkZXItY29sb3IpO1xuXG4gIEBpZiAkdHJhbnNpdGlvbiB7XG4gICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYnV0dG9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xuXG4gICAgLy8gRGVmYXVsdCBzdHlsZXMgYXBwbGllZCBvdXRzaWRlIG9mIG1lZGlhIHF1ZXJ5XG4gICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemU7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGU7XG5cbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1idXR0b24tYmctY29sb3IsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRhbGVydC1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAmLmluZm8gICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JGluZm8tYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG5cbiAgICAgICYubGFyZ2UgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi1scmcpOyB9XG4gICAgICAmLnNtYWxsICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tc21sKTsgfVxuICAgICAgJi50aW55ICAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLXRueSk7IH1cbiAgICAgICYuZXhwYW5kIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGZ1bGwtd2lkdGg6dHJ1ZSk7IH1cblxuICAgICAgJi5sZWZ0LWFsaWduICB7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtaW5kZW50OiByZW0tY2FsYygxMik7IH1cbiAgICAgICYucmlnaHQtYWxpZ24geyB0ZXh0LWFsaWduOiByaWdodDsgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTIpOyB9XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzpmYWxzZSwgJHJhZGl1czp0cnVlKTsgfVxuICAgICAgJi5yb3VuZCAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOmZhbHNlLCAkcmFkaXVzOiRidXR0b24tcm91bmQpOyB9XG5cbiAgICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRidXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGJ1dHRvbi1ib3JkZXItY29sb3IpO1xuICAgICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHNlY29uZGFyeS1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHNlY29uZGFyeS1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokc3VjY2Vzcy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3Zlcjokd2FybmluZy1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGluZm8tYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRpbmZvLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9maXJlZm94IDJweCBmaXhcbiAgICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge2JvcmRlcjowOyBwYWRkaW5nOjA7fVxuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWJhc2UoJHN0eWxlOmZhbHNlLCAkZGlzcGxheTppbmxpbmUtYmxvY2spO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFzZSBmb3IgbG90cyBvZiBmb3JtIHNwYWNpbmcgYW5kIHBvc2l0aW9uaW5nIHN0eWxlc1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVscyBpbiBkaWZmZXJlbnQgd2F5c1xuJGZvcm0tbGFiZWwtcG9pbnRlcjogcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGJsYWNrLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpICFkZWZhdWx0O1xuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRpbnB1dC1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yJSkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNDAlKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG4kaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZmllbGRzZXQgYm9yZGVyIGFuZCBzcGFjaW5nLlxuJGZpZWxkc2V0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kZmllbGRzZXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZmllbGRzZXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxlZ2VuZHMgd2hlbiB5b3UgdXNlIHRoZW1cbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHByZWZpeCBhbmQgcG9zdGZpeCBpbnB1dCBlbGVtZW50c1xuJGlucHV0LXByZWZpeC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c6IHZpc2libGUgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHNldHRpbmcgdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzICh0aGUgdXAvZG93biBhcnJvd3MpXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlcyBmb3IgaW5wdXRzIGFuZCBsYWJlbHNcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc6IHJlbS1jYWxjKDYgOSA5KSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDogLTFweCAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1iZy1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBnbG93aW5nIGVmZmVjdCBvZiBpbnB1dHMgd2hlbiBmb2N1c2VkXG4kZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lOiAuNDVzICFkZWZhdWx0O1xuJGdsb3dpbmctZWZmZWN0LWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgdHJhbnNpdGlvbiB3aGVuIGlucHV0cyBhcmUgZm9jdXNlZCBhbmQgd2hlbiB0aGUgZ2xvd2luZyBlZmZlY3QgaXMgZGlzYWJsZWQuXG4kaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWU6IDAuMTVzICFkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhZGVmYXVsdDtcblxuLy8gU2VsZWN0IHZhcmlhYmxlc1xuJHNlbGVjdC1iZy1jb2xvcjogJGdob3N0ICFkZWZhdWx0O1xuJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHNlbGVjdC1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcblxuLy9cbi8vIEBNSVhJTlNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgdXMgZm9ybSBzdHlsZXMgZm9yIHJvd3MgaW5zaWRlIG9mIGZvcm1zXG5AbWl4aW4gZm9ybS1yb3ctYmFzZSB7XG4gIC5yb3cgeyBtYXJnaW46IDAgKCgtJGZvcm0tc3BhY2luZykgLyAyKTtcblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMgeyBwYWRkaW5nOiAwICgkZm9ybS1zcGFjaW5nIC8gMik7IH1cblxuICAgIC8vIFVzZSB0aGlzIHRvIGNvbGxhcHNlIHRoZSBtYXJnaW5zIG9mIGEgZm9ybSByb3dcbiAgICAmLmNvbGxhcHNlIHsgbWFyZ2luOiAwO1xuXG4gICAgICAuY29sdW1uLFxuICAgICAgLmNvbHVtbnMgeyBwYWRkaW5nOiAwOyB9XG4gICAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sIDApO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG4gIGlucHV0LmNvbHVtbixcbiAgaW5wdXQuY29sdW1ucyxcbiAgdGV4dGFyZWEuY29sdW1uLFxuICB0ZXh0YXJlYS5jb2x1bW5zIHsgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogKCRmb3JtLXNwYWNpbmcgLyAyKTsgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBnaXZlIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzIHRoZWlyIHN0eWxlXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWNvbG9yO1xuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgfVxuICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdztcbiAgY29sb3I6ICRpbnB1dC1mb250LWNvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0IHtcbiAgICBAaW5jbHVkZSBibG9jay1nbG93aW5nLWVmZmVjdChmb2N1cywgJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZSwgJGdsb3dpbmctZWZmZWN0LWNvbG9yKTtcbiAgfVxuICAvLyBCYXNpYyBmb2N1cyBzdHlsZXNcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LWZvY3VzLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC8vIERpc2FibGVkIFN0eWxlc1xuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYmFja2dyb3VuZCBpbnB1dCBiYWNrZ3JvdW5kIGNvbG9yXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGZvcm0gbGFiZWxzXG4vL1xuLy8gJGFsaWdubWVudCAtIEFsaWdubWVudCBvcHRpb25zLiBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogW3JpZ2h0LCBpbmxpbmUsIGZhbHNlXVxuLy8gJGJhc2Utc3R5bGUgLSBDb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guIERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gZm9ybS1sYWJlbCgkYWxpZ25tZW50OmZhbHNlLCAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgLy8gQ29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogJGZvcm0tbGFiZWwtcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW47XG4gIH1cblxuICAvLyBBbGlnbm1lbnQgb3B0aW9uc1xuICBAaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGlubGluZSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xuICAgIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkgMDtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcG9zdGZpeC9wcmVmaXggZm9ybSBMYWJlbHNcbkBtaXhpbiBwcmVmaXgtcG9zdGZpeC1iYXNlIHtcbiAgYm9yZGVyLXN0eWxlOiAkaW5wdXQtcHJlZml4LWJvcmRlci10eXBlO1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgbGluZS1oZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBvdmVyZmxvdzogJGlucHV0LXByZWZpeC1vdmVyZmxvdztcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwcmVmaXggbGFiZWwgc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiRpbnB1dC1wcmVmaXgtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuLy8gJGlzLWJ1dHRvbiAtIFRvZ2dsZSBwb3NpdGlvbiBzZXR0aW5ncyBpZiBwcmVmaXggaXMgYSBidXR0b24uIERlZmF1bHQ6ZmFsc2Vcbi8vXG5AbWl4aW4gcHJlZml4KCRiZzokaW5wdXQtcHJlZml4LWJnLCAkYm9yZGVyOiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yLCAkaXMtYnV0dG9uOmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBub25lO1xuXG4gICAgLy8gQ29udHJvbCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiBiYWNrZ3JvdW5kIGJyaWdodG5lc3NcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cbiAgfVxuXG4gIEBpZiAkYm9yZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICBAaWYgJGlzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwb3N0Zml4IGxhYmVsIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDokaW5wdXQtcHJlZml4LWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxuQG1peGluIHBvc3RmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXItbGVmdC1oaWRkZW46dHJ1ZSwgJGJvcmRlcjokaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvciwgJGlzLWJ1dHRvbjpmYWxzZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICBAaWYgJGJvcmRlci1sZWZ0LWhpZGRlbiB7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQ29udHJvbCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiBiYWNrZ3JvdW5kIGJyaWdodG5lc3NcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSAgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OyB9XG4gIH1cblxuICBAaWYgJGJvcmRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgQGlmICRpcy1idXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSBmaWVsZHNldHNcbkBtaXhpbiBmaWVsZHNldCB7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlci13aWR0aCAkZmllbGRzZXQtYm9yZGVyLXN0eWxlICRmaWVsZHNldC1ib3JkZXItY29sb3I7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG5cbiAgLy8gYW5kIGxlZ2VuZCBzdHlsZXNcbiAgbGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNvbnRyb2wgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGVycm9yIGlucHV0c1xuLy8gJGNvbG9yIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGZvcm0tZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgLjEpO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAvLyBHbyBiYWNrIHRvIG5vcm1hbCBvbiBmb2N1c1xuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtZm9jdXMtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHNpbXBsZSBtaXhpbiB0byBzdHlsZSBsYWJlbHMgZm9yIGVycm9yIGlucHV0c1xuLy8gJGNvbG9yIC0gRGVmYXVsdDokYWxlcnQtY29sb3IuIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbkBtaXhpbiBmb3JtLWxhYmVsLWVycm9yLWNvbG9yKCRjb2xvcjokYWxlcnQtY29sb3IpIHsgY29sb3I6ICRjb2xvcjsgfVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgZXJyb3IgbWVzc2FnZSBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6ICRhbGVydC1jb2xvciAoRm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbkBtaXhpbiBmb3JtLWVycm9yLW1lc3NhZ2UoJGJnOiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTtcbiAgZm9udC1zdHlsZTogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuICBtYXJnaW4tdG9wOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A7XG4gIHBhZGRpbmc6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc7XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgYmFzZWQgb24gdGhlIGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tncm91bmQuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICBiYWNrZ3JvdW5kOiAkYmc7XG4gIEBpZiAkYmctbGlnaHRuZXNzIDwgNzAlIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjsgfVxuICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDsgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSBzZWxlY3QgZWxlbWVudHNcbkBtaXhpbiBmb3JtLXNlbGVjdCAge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmctY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSBjdXN0b20gYXJyb3cgaGFzIHNvbWUgZmFrZSBob3Jpem9udGFsIHBhZGRpbmcgc28gd2UgY2FuIGFsaWduIGl0XG4gIC8vIGZyb20gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGVsZW1lbnQgd2l0aG91dCByZWx5aW5nIG9uIENTUzNcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VEMGlNVEp3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpSd2VDSWdhR1ZwWjJoMFBTSXpjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJJRE1pSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURZZ015SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0kxTGprNU1pd3dJREl1T1RreUxETWdMVEF1TURBNExEQWdJaTgrUEM5emRtYysnKTtcblxuICAvLyBXZSBjYW4gc2FmZWx5IHVzZSBsZWZ0bW9zdCBhbmQgcmlnaHRtb3N0IG5vd1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcsIDAlLCAxMDAlKSBjZW50ZXI7XG5cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyOiB7XG4gICAgc3R5bGU6ICRpbnB1dC1ib3JkZXItc3R5bGU7XG4gICAgd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIH1cbiAgY29sb3I6ICRpbnB1dC1mb250LWNvbG9yO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG4gIEBpbmNsdWRlIHJhZGl1cygwKTtcbiAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJGdsb2JhbC1yYWRpdXMpOyB9XG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtaG92ZXItYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIERpc2FibGVkIFN0eWxlc1xuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHR1cm4gb24vb2ZmIEhUTUw1IG51bWJlciBzcGlubmVyc1xuQG1peGluIGh0bWw1bnVtYmVyKCRicm93c2VyLCAkb246IHRydWUpIHtcbiAgQGlmICRvbiA9PSBmYWxzZSB7XG4gICAgICBAaWYgJGJyb3dzZXIgPT0gd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9IEBlbHNlIGlmICRicm93c2VyID09IG1veiB7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJmb3JtXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzIHtcbiAgICAvKiBTdGFuZGFyZCBGb3JtcyAqL1xuICAgIGZvcm0geyBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nOyB9XG5cbiAgICAvKiBVc2luZyBmb3JtcyB3aXRoaW4gcm93cywgd2UgbmVlZCB0byBzZXQgc29tZSBkZWZhdWx0cyAqL1xuICAgIGZvcm0gLnJvdyB7IEBpbmNsdWRlIGZvcm0tcm93LWJhc2U7IH1cblxuICAgIC8qIExhYmVsIFN0eWxlcyAqL1xuICAgIGxhYmVsIHsgQGluY2x1ZGUgZm9ybS1sYWJlbDtcbiAgICAgICYucmlnaHQgeyBAaW5jbHVkZSBmb3JtLWxhYmVsKHJpZ2h0LCBmYWxzZSk7IH1cbiAgICAgICYuaW5saW5lIHsgQGluY2x1ZGUgZm9ybS1sYWJlbChpbmxpbmUsIGZhbHNlKTsgfVxuICAgICAgLyogU3R5bGVzIGZvciByZXF1aXJlZCBpbnB1dHMgKi9cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTtcbiAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQXR0YWNoIGVsZW1lbnRzIHRvIHRoZSBiZWdpbm5pbmcgb3IgZW5kIG9mIGFuIGlucHV0ICovXG4gICAgLnByZWZpeCxcbiAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHByZWZpeC1wb3N0Zml4LWJhc2U7IH1cblxuICAgIC8qIEFkanVzdCBwYWRkaW5nLCBhbGlnbm1lbnQgYW5kIHJhZGl1cyBpZiBwcmUvcG9zdCBlbGVtZW50IGlzIGEgYnV0dG9uICovXG4gICAgLnBvc3RmaXguYnV0dG9uIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTsgQGluY2x1ZGUgcG9zdGZpeChmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlKTsgfVxuICAgIC5wcmVmaXguYnV0dG9uIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTsgQGluY2x1ZGUgcHJlZml4KGZhbHNlLCBmYWxzZSwgdHJ1ZSk7IH1cblxuICAgIC5wcmVmaXguYnV0dG9uLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTsgfVxuICAgIC5wcmVmaXguYnV0dG9uLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAucG9zdGZpeC5idXR0b24ucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG5cbiAgICAvKiBTZXBhcmF0ZSBwcmVmaXggYW5kIHBvc3RmaXggc3R5bGVzIHdoZW4gb24gc3BhbiBvciBsYWJlbCBzbyBidXR0b25zIGtlZXAgdGhlaXIgb3duICovXG4gICAgc3Bhbi5wcmVmaXgsIGxhYmVsLnByZWZpeCB7IEBpbmNsdWRlIHByZWZpeCgpOyB9XG4gICAgc3Bhbi5wb3N0Zml4LCBsYWJlbC5wb3N0Zml4IHsgQGluY2x1ZGUgcG9zdGZpeCgpOyB9XG5cbiAgICAvKiBXZSB1c2UgdGhpcyB0byBnZXQgYmFzaWMgc3R5bGluZyBvbiBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyAqL1xuICAgIGlucHV0Om5vdChbdHlwZV0pLCAje3RleHQtaW5wdXRzKGFsbCwgJ2lucHV0Jyl9IHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgICBAaWYgJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3QgPT0gZmFsc2Uge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIH1cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgIC5yb3cge1xuICAgICAgICAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICAgIC5wcmVmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuICAgICAgICAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgICAgLnBvc3RmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICAgIC5wcmVmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgICAgLnBvc3RmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLyogUmVzcGVjdCBlbmZvcmNlZCBhbW91bnQgb2Ygcm93cyBmb3IgdGV4dGFyZWEgKi9cbiAgICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyogTm90IGFsbG93IHJlc2l6ZSBvdXQgb2YgcGFyZW50ICovXG4gICAgdGV4dGFyZWEge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIHN0eWxlIHBsYWNlaG9sZGVyIHRleHQgY3Jvc3MgYnJvd3NlclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIgeyAgLyogRmlyZWZveCAxOSsgKi9cbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuXG4gICAgLyogQWRkIGhlaWdodCB2YWx1ZSBmb3Igc2VsZWN0IGVsZW1lbnRzIHRvIG1hdGNoIHRleHQgaW5wdXQgaGVpZ2h0ICovXG4gICAgc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICAgICAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgICAgICZbbXVsdGlwbGVdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFkanVzdCBtYXJnaW4gZm9yIGZvcm0gZWxlbWVudHMgYmVsb3cgKi9cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIHNlbGVjdCB7XG4gICAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZm9ybS1zcGFjaW5nICogLjU7XG4gICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGZvcm0tc3BhY2luZztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgLyogTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGggKi9cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgIH1cblxuICAgIC8qIEhUTUw1IE51bWJlciBzcGlubmVycyBzZXR0aW5ncyAqL1xuICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgICBAaW5jbHVkZSBodG1sNW51bWJlcihtb3osICRpbnB1dC1udW1iZXItc3Bpbm5lcnMpXG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBodG1sNW51bWJlcih3ZWJraXQsICRpbnB1dC1udW1iZXItc3Bpbm5lcnMpO1xuICAgIH1cblxuICAgIC8qIFdlIGFkZCBiYXNpYyBmaWVsZHNldCBzdHlsaW5nICovXG4gICAgZmllbGRzZXQge1xuICAgICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gICAgfVxuXG4gICAgLyogRXJyb3IgSGFuZGxpbmcgKi9cblxuICAgICN7ZGF0YSgnYWJpZGUnKX0ge1xuICAgICAgLmVycm9yIHNtYWxsLmVycm9yLCAuZXJyb3Igc3Bhbi5lcnJvciwgc3Bhbi5lcnJvciwgc21hbGwuZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XG4gICAgICB9XG4gICAgICBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLmVycm9yIHtcbiAgICAgIGlucHV0LFxuICAgICAgdGV4dGFyZWEsXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nXG4gICAgICB9XG5cbiAgICAgIGxhYmVsLFxuICAgICAgbGFiZWwuZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLWVycm9yLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBzbWFsbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICAgIH1cblxuICAgICAgPiBsYWJlbCB7XG4gICAgICAgID4gc21hbGwge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZm9ybS1sYWJlbC1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAxNSUpO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBmb250LXNpemU6IDYwJTtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dC5lcnJvcixcbiAgICB0ZXh0YXJlYS5lcnJvcixcbiAgICBzZWxlY3QuZXJyb3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgbGFiZWwuZXJyb3IgeyBAaW5jbHVkZSBmb3JtLWxhYmVsLWVycm9yLWNvbG9yOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1hcmdpbnMgYW5kIHBhZGRpbmcgb2YgdGhlIGlubGluZSBsaXN0LlxuJGlubGluZS1saXN0LXRvcC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luOiAwICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDE3KSAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjogcmVtLWNhbGMoLTIyKSAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LWxpc3QtbWFyZ2luOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG5cbiRpbmxpbmUtbGlzdC1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBvdmVyZmxvdyBvZiB0aGUgaW5saW5lIGxpc3QuXG4kaW5saW5lLWxpc3Qtb3ZlcmZsb3c6IGhpZGRlbiAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtc1xuJGlubGluZS1saXN0LWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFueSBlbGVtZW50cyB3aXRoaW4gbGlzdCBpdGVtc1xuJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBpbmxpbmUgbGlzdHNcbkBtaXhpbiBpbmxpbmUtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRpbmxpbmUtbGlzdC10b3AtbWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiAkaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbjtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1tYXJnaW47XG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luO1xuICBvdmVyZmxvdzogJGlubGluZS1saXN0LW92ZXJmbG93O1xuICBwYWRkaW5nOiAkaW5saW5lLWxpc3QtcGFkZGluZztcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiAkaW5saW5lLWxpc3QtZGlzcGxheTtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LWxpc3QtbWFyZ2luO1xuICAgID4gKiB7IGRpc3BsYXk6ICRpbmxpbmUtbGlzdC1jaGlsZHJlbi1kaXNwbGF5OyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImlubGluZS1saXN0XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtaW5saW5lLWxpc3QtY2xhc3NlcyB7XG4gICAgLmlubGluZS1saXN0IHtcbiAgICAgIEBpbmNsdWRlIGlubGluZS1saXN0KCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3RhYmxlcy5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xuLy9cblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtdGFibGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFibGUgYW5kIGV2ZW4gcm93c1xuJHRhYmxlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZXZlbi1yb3ctYmc6ICRzbm93ICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBjZWxsIGJvcmRlciBzdHlsZVxuJHRhYmxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGhlYWQgc3R5bGVzXG4kdGFibGUtaGVhZC1iZzogJHdoaXRlLXNtb2tlICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGZvb3Qgc3R5bGVzXG4kdGFibGUtZm9vdC1iZzogJHRhYmxlLWhlYWQtYmcgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1mb250LXNpemU6ICR0YWJsZS1oZWFkLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1mb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1wYWRkaW5nOiAkdGFibGUtaGVhZC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSBjYXB0aW9uXG4kdGFibGUtY2FwdGlvbi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgcm93IHBhZGRpbmcgYW5kIGZvbnQgc3R5bGVzXG4kdGFibGUtcm93LXBhZGRpbmc6IHJlbS1jYWxjKDkgMTApICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiR0YWJsZS1yb3ctZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiR0YWJsZS1saW5lLWhlaWdodDogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBhcmUgZm9yIGNvbnRyb2xsaW5nIHRoZSBsYXlvdXQsIGRpc3BsYXkgYW5kIG1hcmdpbiBvZiB0YWJsZXNcbiR0YWJsZS1sYXlvdXQ6IGF1dG8gIWRlZmF1bHQ7XG4kdGFibGUtZGlzcGxheTogdGFibGUtY2VsbCAhZGVmYXVsdDtcbiR0YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbkBtaXhpbiB0YWJsZSB7XG4gIGJhY2tncm91bmQ6ICR0YWJsZS1iZztcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXN0eWxlICR0YWJsZS1ib3JkZXItc2l6ZSAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICBtYXJnaW4tYm90dG9tOiAkdGFibGUtbWFyZ2luLWJvdHRvbTtcbiAgdGFibGUtbGF5b3V0OiAkdGFibGUtbGF5b3V0O1xuXG4gIGNhcHRpb24ge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1jYXB0aW9uLWJnO1xuICAgIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1mb250LWNvbG9yO1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6ICR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgIHdlaWdodDogJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJnO1xuXG4gICAgdHIge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICR0YWJsZS1oZWFkLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtaGVhZC1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iZztcblxuICAgIHRyIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGUtZm9vdC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtZm9vdC1mb250LXdlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWZvb3QtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ciB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgY29sb3I6ICR0YWJsZS1yb3ctZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLXJvdy1mb250LXNpemU7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcm93LXBhZGRpbmc7XG4gICAgICB0ZXh0LWFsaWduOiAkZGVmYXVsdC1mbG9hdDtcbiAgICB9XG5cbiAgICAmLmV2ZW4sXG4gICAgJi5hbHQsXG4gICAgJjpudGgtb2YtdHlwZShldmVuKSB7IGJhY2tncm91bmQ6ICR0YWJsZS1ldmVuLXJvdy1iZzsgfVxuICB9XG5cbiAgdGhlYWQgdHIgdGgsXG4gIHRmb290IHRyIHRoLFxuICB0Zm9vdCB0ciB0ZCxcbiAgdGJvZHkgdHIgdGgsXG4gIHRib2R5IHRyIHRkLFxuICB0ciB0ZCB7IGRpc3BsYXk6ICR0YWJsZS1kaXNwbGF5OyBsaW5lLWhlaWdodDogJHRhYmxlLWxpbmUtaGVpZ2h0OyB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcInRhYmxlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtdGFibGUtY2xhc3NlcyB7XG4gICAgdGFibGUge1xuICAgICAgQGluY2x1ZGUgdGFibGU7XG4gICAgfVxuICB9XG59XG4iLCJib2R5IHtcbiAgYmFja2dyb3VuZDogJHdoaXRlOztcbiAgZm9udC1mYW1pbHk6ICdQVCBTYW5zJywgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDE0NTBweDtcblxuXG4gICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6IGdyYXk7XG4gIH1cbn1cblxubWFpbiB7XG4gIC5pbnQtcGFnZSAmIHtcbiAgICBwYWRkaW5nOiA0MHB4IDA7XG4gIH1cbn1cblxuLnJvdy1pbmZvIHtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG5cbi5yb3ctLWZ1bGwge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5mbGV4Ym94LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IC1tcy1mbGV4O1xuXHRkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIFxuICAmLS1tZWRpdW0tdXAge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5jb250ZW50LWJsb2NrIHtcblxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgcGFkZGluZzogNTBweCAwOyAgICBcbiAgfVxuICBcbiAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTYzLDE1MiwxMzAsLjE0KTtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuYSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oLjJzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5zdXAge1xuICBmb250LXNpemU6IDUwJTtcbn0iLCIkbGlnaHRibHVlOiAjMDY4MEZBO1xuJGJsdWU6ICMxOTJGNTg7XG4kYmx1ZS1saWdodDogIzA2ODBGQTtcbiR5ZWxsb3c6ICNGMUZBMDY7IFxuJHllbGxvdzI6ICNGOEQzMDM7XG4kd2hpdGU6ICNGRkZGRkY7XG4kb3JhbmdlOiAjRUE2ODQxO1xuJGdyYXk6ICM4NDg0ODM7XG4kYnJvd246ICM1MjU0NEU7XG4kYmxhY2s6ICMyNzI3Mjc7XG5cbiRpbWdwYXRoOiAnLi4vaW1hZ2VzLyc7IiwiLmgtdGV4dC1vcmFuZ2UsIC5oLWxpbmstb3JhbmdlIHtcbiAgY29sb3I6ICRvcmFuZ2UgIWltcG9ydGFudDtcbn1cblxuLmgtdGV4dC13aGl0ZSB7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5oLWxpbmstb3JhbmdlIHtcbiAgJjpob3ZlciwgJjphY3RpdmUsICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gIH1cbn1cblxuLmgtZm9udC0zMCB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbn1cblxuLmgtZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmgtZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5oLWNvbG9yLWJsdWUge1xuICBjb2xvcjogJGJsdWU7XG59XG5cbi5oLW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5oLWhvdmVyLXdoaXRlIHtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4uaC10ZXh0LXllbGxvdyB7XG4gIGNvbG9yOiAkeWVsbG93ICFpbXBvcnRhbnQ7XG59XG5cbi5oLXRleHQteWVsbG93MiB7XG4gIGNvbG9yOiAkeWVsbG93MiAhaW1wb3J0YW50OyBcbn1cblxuLmgtdGV4dC1ibHVlLWxpZ2h0IHtcbiAgY29sb3I6ICRibHVlLWxpZ2h0O1xufVxuXG4uaC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5oLW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBsZWZ0OiAtMTVweDtcbiAgICBtYXJnaW46IDAgMzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAyMHB4O1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA2MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICYtLWFsdCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgbGVmdDogLTIzcHg7XG4gICAgICB0b3A6IDVweDtcblxuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBsZWZ0OiAtMTJweDtcbiAgICAgICAgdG9wOiAzMHB4OyAgICAgICAgICBcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogNTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1vZmZzZXQtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICAgIH1cbiAgfVxuXG4gICYtLW9mZnNldC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC01MHB4O1xuICAgIH1cbiAgfVxufVxuXG4uaC1iYWNrZ3JvdW5kLXllbGxvdyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQxLCAyNTAsIDYsIC44KTtcbn1cblxuLmgtcGFkZGluZy0xMDAtMTUtMCB7XG4gIHBhZGRpbmc6IDMwcHggMTVweCAxMDBweDtcblxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgcGFkZGluZzogMTAwcHggMTVweCAwO1xuICB9XG59XG5cbi5oLXBhZGRpbmctMjUtMTUge1xuICBwYWRkaW5nOiAyNXB4IDE1cHg7XG59XG5cbi5oLW5vLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59IiwiaDEsIGgyLCBoMywgaDQge1xuICBmb250LWZhbWlseTogJ1BUIFNhbnMnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG5wIHtcbiAgY29sb3I6ICRncmF5O1xuICBmb250LXNpemU6IDI1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5wICsgaWZyYW1lIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLnRpdGxlIHtcbiAgJl9faGVhZGluZyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogNDVweDtcblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGZvbnQtc2l6ZTogNzVweDsgICAgICBcbiAgICAgIGxpbmUtaGVpZ2h0OiA3NXB4OyAgICAgIFxuICAgIH1cbiAgfVxuXG4gICZfX3N1YmhlYWRpbmcge1xuICAgIGNvbG9yOiAkZ3JheTtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2JsdXJiIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcblxuICAgIEBpbmNsdWRlIG1xKCRtaW4td2lkdGg6IDEwMjVweCwgJG1heC13aWR0aDogMTMzNXB4KSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG5cbiAgICAgIGJyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgfVxuICB9XG59XG4iLCIvLyAgQXV0aG9yOiBSYWZhbCBCcm9taXJza2lcbi8vICB3d3c6IGh0dHA6Ly9yYWZhbGJyb21pcnNraS5jb20vXG4vLyAgZ2l0aHViOiBodHRwOi8vZ2l0aHViLmNvbS9wYXJhbm9pZGEvc2Fzcy1tZWRpYXF1ZXJpZXNcbi8vXG4vLyAgTGljZW5zZWQgdW5kZXIgYSBNSVQgTGljZW5zZVxuLy9cbi8vICBWZXJzaW9uOlxuLy8gIDEuNi4xXG5cbi8vIC0tLSBnZW5lcmF0b3IgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBtcSgkYXJncy4uLikge1xuICAkbWVkaWEtdHlwZTogJ29ubHkgc2NyZWVuJztcbiAgJG1lZGlhLXR5cGUta2V5OiAnbWVkaWEtdHlwZSc7XG4gICRhcmdzOiBrZXl3b3JkcygkYXJncyk7XG4gICRleHByOiAnJztcblxuICBAaWYgbWFwLWhhcy1rZXkoJGFyZ3MsICRtZWRpYS10eXBlLWtleSkge1xuICAgICRtZWRpYS10eXBlOiBtYXAtZ2V0KCRhcmdzLCAkbWVkaWEtdHlwZS1rZXkpO1xuICAgICRhcmdzOiBtYXAtcmVtb3ZlKCRhcmdzLCAkbWVkaWEtdHlwZS1rZXkpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRhcmdzIHtcbiAgICBAaWYgJHZhbHVlIHtcbiAgICAgICRleHByOiBcIiN7JGV4cHJ9IGFuZCAoI3ska2V5fTogI3skdmFsdWV9KVwiO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRtZWRpYS10eXBlfSAjeyRleHByfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gLS0tIHNjcmVlbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHNjcmVlbigkbWluLCAkbWF4LCAkb3JpZW50YXRpb246IGZhbHNlKSB7XG4gIEBpbmNsdWRlIG1xKCRtaW4td2lkdGg6ICRtaW4sICRtYXgtd2lkdGg6ICRtYXgsICRvcmllbnRhdGlvbjogJG9yaWVudGF0aW9uKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1heC1zY3JlZW4oJG1heCkge1xuICBAaW5jbHVkZSBtcSgkbWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1pbi1zY3JlZW4oJG1pbikge1xuICBAaW5jbHVkZSBtcSgkbWluLXdpZHRoOiAkbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHNjcmVlbi1oZWlnaHQoJG1pbiwgJG1heCwgJG9yaWVudGF0aW9uOiBmYWxzZSkge1xuICBAaW5jbHVkZSBtcSgkbWluLWhlaWdodDogJG1pbiwgJG1heC1oZWlnaHQ6ICRtYXgsICRvcmllbnRhdGlvbjogJG9yaWVudGF0aW9uKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1heC1zY3JlZW4taGVpZ2h0KCRtYXgpIHtcbiAgQGluY2x1ZGUgbXEoJG1heC1oZWlnaHQ6ICRtYXgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWluLXNjcmVlbi1oZWlnaHQoJG1pbikge1xuICBAaW5jbHVkZSBtcSgkbWluLWhlaWdodDogJG1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIC0tLSBoZHBpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBoZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogI3tyb3VuZCgkcmF0aW8qOTYpfWRwaSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIC0tLSBoZHR2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBoZHR2KCRzdGFuZGFyZDogJzEwODAnKSB7XG4gICRtaW4td2lkdGg6IGZhbHNlO1xuICAkbWluLWhlaWdodDogZmFsc2U7XG5cbiAgJHN0YW5kYXJkczogKCc3MjBwJywgMTI4MHB4LCA3MjBweClcbiAgICAgICAgICAgICAgKCcxMDgwJywgMTkyMHB4LCAxMDgwcHgpXG4gICAgICAgICAgICAgICgnMksnLCAyMDQ4cHgsIDEwODBweClcbiAgICAgICAgICAgICAgKCc0SycsIDQwOTZweCwgMjE2MHB4KTtcblxuICBAZWFjaCAkcyBpbiAkc3RhbmRhcmRzIHtcbiAgICBAaWYgJHN0YW5kYXJkID09IG50aCgkcywgMSkge1xuICAgICAgJG1pbi13aWR0aDogbnRoKCRzLCAyKTtcbiAgICAgICRtaW4taGVpZ2h0OiBudGgoJHMsIDMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xKFxuICAgICRtaW4tZGV2aWNlLXdpZHRoOiAkbWluLXdpZHRoLFxuICAgICRtaW4tZGV2aWNlLWhlaWdodDogJG1pbi1oZWlnaHQsXG4gICAgJG1pbi13aWR0aDogJG1pbi13aWR0aCxcbiAgICAkbWluLWhlaWdodDogJG1pbi1oZWlnaHRcbiAgKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gLS0tIGlwaG9uZTQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGlwaG9uZTQoJG9yaWVudGF0aW9uOiBmYWxzZSkge1xuICAkbWluOiAzMjBweDtcbiAgJG1heDogNDgwcHg7XG4gICRwaXhlbC1yYXRpbzogMjtcbiAgJGFzcGVjdC1yYXRpbzogJzIvMyc7XG5cbiAgQGluY2x1ZGUgbXEoXG4gICAgJG1pbi1kZXZpY2Utd2lkdGg6ICRtaW4sXG4gICAgJG1heC1kZXZpY2Utd2lkdGg6ICRtYXgsXG4gICAgJG9yaWVudGF0aW9uOiAkb3JpZW50YXRpb24sXG4gICAgJGRldmljZS1hc3BlY3QtcmF0aW86ICRhc3BlY3QtcmF0aW8sXG4gICAgJC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAkcGl4ZWwtcmF0aW9cbiAgKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gLS0tIGlwaG9uZTUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGlwaG9uZTUoJG9yaWVudGF0aW9uOiBmYWxzZSkge1xuICAkbWluOiAzMjBweDtcbiAgJG1heDogNTY4cHg7XG4gICRwaXhlbC1yYXRpbzogMjtcbiAgJGFzcGVjdC1yYXRpbzogJzQwLzcxJztcblxuICBAaW5jbHVkZSBtcShcbiAgICAkbWluLWRldmljZS13aWR0aDogJG1pbixcbiAgICAkbWF4LWRldmljZS13aWR0aDogJG1heCxcbiAgICAkb3JpZW50YXRpb246ICRvcmllbnRhdGlvbixcbiAgICAkZGV2aWNlLWFzcGVjdC1yYXRpbzogJGFzcGVjdC1yYXRpbyxcbiAgICAkLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86ICRwaXhlbC1yYXRpb1xuICApIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAtLS0gaXBob25lNiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gaXBob25lNigkb3JpZW50YXRpb246IGZhbHNlKSB7XG4gICRtaW46IDM3NXB4O1xuICAkbWF4OiA2NjdweDtcbiAgJHBpeGVsLXJhdGlvOiAyO1xuXG4gIEBpbmNsdWRlIG1xKFxuICAgICRtaW4tZGV2aWNlLXdpZHRoOiAkbWluLFxuICAgICRtYXgtZGV2aWNlLXdpZHRoOiAkbWF4LFxuICAgICRvcmllbnRhdGlvbjogJG9yaWVudGF0aW9uLFxuICAgICQtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogJHBpeGVsLXJhdGlvXG4gICkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIC0tLSBpcGhvbmU2IHBsdXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBpcGhvbmU2LXBsdXMoJG9yaWVudGF0aW9uOiBmYWxzZSkge1xuICAkbWluOiA0MTRweDtcbiAgJG1heDogNzM2cHg7XG4gICRwaXhlbC1yYXRpbzogMztcblxuICBAaW5jbHVkZSBtcShcbiAgICAkbWluLWRldmljZS13aWR0aDogJG1pbixcbiAgICAkbWF4LWRldmljZS13aWR0aDogJG1heCxcbiAgICAkb3JpZW50YXRpb246ICRvcmllbnRhdGlvbixcbiAgICAkLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86ICRwaXhlbC1yYXRpb1xuICApIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAtLS0gaXBhZCAoYWxsKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gaXBhZCgkb3JpZW50YXRpb246IGZhbHNlKSB7XG4gICRtaW46IDc2OHB4O1xuICAkbWF4OiAxMDI0cHg7XG5cbiAgQGluY2x1ZGUgbXEoXG4gICAgJG1pbi1kZXZpY2Utd2lkdGg6ICRtaW4sXG4gICAgJG1heC1kZXZpY2Utd2lkdGg6ICRtYXgsXG4gICAgJG9yaWVudGF0aW9uOiAkb3JpZW50YXRpb25cbiAgKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gLS0tIGlwYWQtcmV0aW5hIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGlwYWQtcmV0aW5hKCRvcmllbnRhdGlvbjogZmFsc2UpIHtcbiAgJG1pbjogNzY4cHg7XG4gICRtYXg6IDEwMjRweDtcbiAgJHBpeGVsLXJhdGlvOiAyO1xuXG4gIEBpbmNsdWRlIG1xKFxuICAgICRtaW4tZGV2aWNlLXdpZHRoOiAkbWluLFxuICAgICRtYXgtZGV2aWNlLXdpZHRoOiAkbWF4LFxuICAgICRvcmllbnRhdGlvbjogJG9yaWVudGF0aW9uLFxuICAgICQtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogJHBpeGVsLXJhdGlvXG4gICkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIC0tLSBvcmllbnRhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBsYW5kc2NhcGUoKSB7XG4gIEBpbmNsdWRlIG1xKCRvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBvcnRyYWl0KCkge1xuICBAaW5jbHVkZSBtcSgkb3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsImZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRicm93bjtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDMwcHggMCAxMHB4O1xuXG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDQwcHg7XG4gIH1cblxuICAubG9nbyB7XG4gICAgaGVpZ2h0OiA0M3B4O1xuICAgIG1hcmdpbjogNTBweCAwIDE1cHg7XG4gICAgd2lkdGg6IDEwMnB4O1xuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgaGVpZ2h0OiA4M3B4O1xuICAgICAgbWFyZ2luOiAxMDBweCAwIDI1cHg7XG4gICAgICB3aWR0aDogMjkycHg7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjJzKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdyYXk7XG4gICAgfVxuICB9XG59IiwiaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogJGJsdWU7XG4gIHBhZGRpbmc6IDIwcHggMDtcblxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgcGFkZGluZzogNDBweCAwO1xuICB9XG5cbiAgLmxvZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAzN3B4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICB3aWR0aDogMTI5cHg7XG4gIH1cblxuICBuYXYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLmludC1wYWdlICYge1xuICAgIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufSIsIm5hdiB7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufSIsIiNtZW1iZXJzaGlwLWxldmVscyB7XG4gICAgcGFkZGluZzogNDBweCAwIDE1cHg7XG5cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgcGFkZGluZzogMTE0cHggMCA0NXB4O1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTEycHg7XG5cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7ICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNtZW1iZXItYmVuZWZpdHMge1xuICAgIHBhZGRpbmc6IDQwcHggMCAxNXB4O1xuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBwYWRkaW5nOiA0MnB4IDAgMTUwcHg7ICAgICAgICBcbiAgICB9XG59XG5cbi5jb250ZW50X19pY29ucyB7ICAgIFxuICAgIG1hcmdpbjogNTBweCAwIDA7XG4gICAgXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIG1hcmdpbjogMTUwcHggMCAwOyAgICAgICAgXG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTsgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICBwIHtcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyAgICBcbiAgICAgICAgfVxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG59IiwiLmJhY2tncm91bmQtbWVtYmVyc2hpcC1sZXZlbHMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL21lbWJlcnNoaXAtbGV2ZWxzLWJnLnBuZycpIHJpZ2h0IDAgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5iYWNrZ3JvdW5kLW1lbWJlcnNoaXAtYmVuZWZpdHMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL21lbWJlcnNoaXAtYmVuZWZpdHMtbW9iaWxlLnBuZycpIDEwMCUgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgICAgXG5cbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvZXZlbi1iaWdnZXIuanBnJykgMTAwJSBib3R0b20gbm8tcmVwZWF0OyAgICAgXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7ICAgXG4gICAgfVxufVxuXG4uYmFja2dyb3VuZC1pbWFnZS0ta3VydCB7XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50OzsgICAgICAgIFxuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHggIWltcG9ydGFudDs7ICAgICAgICAgICAgICAgIFxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OzsgICAgICAgIFxuICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OzsgICAgICAgICAgICAgICAgXG4gICAgfVxufSIsIi5idXR0b24ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIFxuICAgICYtLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi0taW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgICYtLWlubGluZS1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmLS1vcmFuZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgIH1cblxuICAgICYtLWJsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICB9XG5cbiAgICAmLS1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuXG4gICAgJi0tbWVkaXVtIHtcbiAgICAgICAgcGFkZGluZzogMjVweCAxMHB4O1xuICAgIH1cblxuICAgICYtLXJvdW5kZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cblxuICAgICYtLWJvcmRlci1ibHVlLWxpZ2h0IHtcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkICRibHVlLWxpZ2h0O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB9XG59IiwibmF2IHtcbiAgJi5mb290ZXItbmF2aWdhdGlvbiB7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOTVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcblxuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfSAgICBcbn0iLCIuaGVybyB7XG4gIGJhY2tncm91bmQ6ICRibHVlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAyNXB4IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgcGFkZGluZzogMTVweCAxMHB4OyAgICAgXG4gIH1cblxuICAuYmFja2dyb3VuZC1kb3RzIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC44cywgMi41cyk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uL2ltYWdlcy9oZXJvLWJnLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTQ1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDY1cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICB9XG4gIFxuICBpbWcge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMjVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX2ltYWdlLCAmX190ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogNzAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogNzVweCAwO1xuXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmX19waGVsbG8sICZfX29wcG9ydHVuaXRpZXMsICZfX3Jpc2UsICZfXzk5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA5MDBweDtcbiAgfVxuXG4gICZfX3BoZWxsbyB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguN3MsIC4ycywgZWFzZS1pbi1vdXQpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2hlcm8tdGV4dC1waGVsbG8ucG5nJykgMCAwIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1NzFweDtcbiAgICBoZWlnaHQ6IDE2M3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fb3Bwb3J0dW5pdGllcyB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguN3MsIDFzLCBlYXNlLWluLW91dCk7ICAgIFxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2hlcm8tdGV4dC1vcHBvcnR1bml0aWVzLnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTMwOHB4O1xuICAgIGhlaWdodDogMjIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19yaXNlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC43cywgMS41cywgZWFzZS1pbi1vdXQpOyAgICBcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9oZXJvLXRleHQtcmlzZS5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogMjUlO1xuICAgIG1heC13aWR0aDogMzgzcHg7XG4gICAgaGVpZ2h0OiAxODFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gICZfXzk5IHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC43cywgMnMsIGVhc2UtaW4tb3V0KTsgICAgXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvaGVyby10ZXh0LTk5LnBuZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWF4LXdpZHRoOiA5MDdweDtcbiAgICBoZWlnaHQ6IDE2OXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgJi5zY3JvbGxlZCB7XG4gICAgLmJhY2tncm91bmQtZG90cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5oZXJvX19waGVsbG8sIC5oZXJvX19vcHBvcnR1bml0aWVzLCAuaGVyb19fcmlzZSwgLmhlcm9fXzk5IHtcbiAgICAgIHRvcDogMDtcbiAgICB9ICBcbiAgfVxufVxuXG4uaGVybyB7XG4gICYtLWludCB7XG4gICAgcGFkZGluZzogNzBweCAwIDUwcHg7XG5cbiAgICAucm93IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IFxuICAgIH1cbiAgICBcbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfSAgICBcbiAgfSAgXG59IiwiLmxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBcbiAgICAmX19pdGVtIHtcbiAgICAgICAgXG4gICAgfVxuXG4gICAgJi0tbWVtYmVyLWJlbmVmaXRzIHsgICAgICAgIFxuICAgICAgICAubGlzdF9faXRlbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0M3B4O1xuXG4gICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOXB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59IiwiLmxvZ28ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJGltZ3BhdGggKyAnbG9nby5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIG1heC13aWR0aDogMjkycHg7XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtaW5kZW50OiAtODQwMHB4O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICB9XG59IiwibmF2IHtcbiAgICAmLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxMnB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5ODZweCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTMyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMjtcblxuICAgICAgICAgICAgLm5hdi1vcGVuICYge1xuICAgICAgICAgICAgICAgIHRvcDogLTIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5ODZweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTg2cHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5tZW1iZXItbG9naW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgIH0gICAgXG59XG4iLCIudGFibGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDQwcHggMCAwO1xuXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIH1cbiAgICBcbiAgICAmLS1ib3JkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMHB4IDVweCA1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAxMHB4OyAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogMTMwcHg7ICAgICAgICAgICAgXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDsgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZCwgdGgsIHRoZWFkLCB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyN3B4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi50ZXN0aW1vbmlhbCB7XG4gICAgJl9fYXZhdGFyIHtcblxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZS1saWdodDtcbiAgICB9XG5cbiAgICAmX19hdXRob3IsICZfX2xpbmsge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICB9XG5cbiAgICAmX19hdXRob3Ige1xuICAgICAgICBjb2xvcjogJGJsdWUtbGlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLnRlc3RpbW9uaWFsICsgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG59IiwiLnZpZGVvIHtcbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgfVxufSIsIiRiYXItd2lkdGg6IDEwMCU7XG4kYmFyLWhlaWdodDogNXB4O1xuJGJhci1zcGFjaW5nOiAxNXB4O1xuLmhhbWJ1cmdlci1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwcHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogJGJhci1oZWlnaHQgKyAkYmFyLXNwYWNpbmcqMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxMztcblxuICAuaW50LXBhZ2UgJiB7XG4gICAgdG9wOiAwO1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5ODZweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5iYXIsXG4uYmFyOmFmdGVyLFxuLmJhcjpiZWZvcmUge1xuICB3aWR0aDogJGJhci13aWR0aDtcbiAgaGVpZ2h0OiAkYmFyLWhlaWdodDtcbn1cblxuLmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiYXItc3BhY2luZyk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gIHRyYW5zaXRpb246IGFsbCAwbXMgMzAwbXM7XG4gICYuYW5pbWF0ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgfVxufVxuXG4uYmFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAkYmFyLXNwYWNpbmc7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAzMDBtcyAzMDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSksIHRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG59XG5cbi5iYXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogJGJhci1zcGFjaW5nO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICB0cmFuc2l0aW9uOiB0b3AgMzAwbXMgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpLCB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xufVxuXG4uYmFyLmFuaW1hdGU6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogdG9wIDMwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSwgdHJhbnNmb3JtIDMwMG1zIDMwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiAgO1xufVxuXG4uYmFyLmFuaW1hdGU6YmVmb3JlIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpLCB0cmFuc2Zvcm0gMzAwbXMgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuICA7XG59XG4iXX0= */
