@charset "UTF-8";
/*
 =======================================================================================================================
 Custom AKVAVIT Mixins

 These are optional. Uncomment @import "mixins"; in app.scss to use them.
 =======================================================================================================================
*/
meta.foundation-version {
  font-family: "/5.5.2/"; }

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

html {
  box-sizing: border-box; }

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

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

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

a:hover {
  cursor: pointer; }

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

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

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

.left {
  float: left !important; }

.right {
  float: right !important; }

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

.clearfix:after {
  clear: both; }

.hide {
  display: none; }

.invisible {
  visibility: hidden; }

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

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

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

select {
  width: 100%; }

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

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

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

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

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

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

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

.accordion {
  margin-bottom: 0; }
  .accordion:before, .accordion:after {
    content: " ";
    display: table; }
  .accordion:after {
    clear: both; }
  .accordion .accordion-navigation, .accordion dd {
    display: block;
    margin-bottom: 0 !important; }
    .accordion .accordion-navigation.active > a, .accordion dd.active > a {
      background: #e8e8e8; }
    .accordion .accordion-navigation > a, .accordion dd > a {
      background: #EFEFEF;
      color: #222222;
      display: block;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      padding: 1rem; }
      .accordion .accordion-navigation > a:hover, .accordion dd > a:hover {
        background: #e3e3e3; }
    .accordion .accordion-navigation > .content, .accordion dd > .content {
      display: none;
      padding: 0.9375rem; }
      .accordion .accordion-navigation > .content.active, .accordion dd > .content.active {
        background: #FFFFFF;
        display: block; }

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

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

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

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

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

.breadcrumbs {
  border-style: solid;
  border-width: 1px;
  display: block;
  list-style: none;
  margin-left: 0;
  overflow: hidden;
  padding: 0.5625rem 0.875rem 0.5625rem;
  background-color: #f4f4f4;
  border-color: gainsboro;
  border-radius: 3px; }
  .breadcrumbs > * {
    color: #008CBA;
    float: left;
    font-size: 0.6875rem;
    line-height: 0.6875rem;
    margin: 0;
    text-transform: uppercase; }
    .breadcrumbs > *:hover a, .breadcrumbs > *:focus a {
      text-decoration: underline; }
    .breadcrumbs > * a {
      color: #008CBA; }
    .breadcrumbs > *.current {
      color: #333333;
      cursor: default; }
      .breadcrumbs > *.current a {
        color: #333333;
        cursor: default; }
      .breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a {
        text-decoration: none; }
    .breadcrumbs > *.unavailable {
      color: #999999; }
      .breadcrumbs > *.unavailable a {
        color: #999999; }
      .breadcrumbs > *.unavailable:hover,
      .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus,
      .breadcrumbs > *.unavailable a:focus {
        color: #999999;
        cursor: not-allowed;
        text-decoration: none; }
    .breadcrumbs > *:before {
      color: #AAAAAA;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px; }
    .breadcrumbs > *:first-child:before {
      content: " ";
      margin: 0; }

/* Accessibility - hides the forward slash */
[aria-label="breadcrumbs"] [aria-hidden="true"]:after {
  content: "/"; }

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-left: 0;
    padding-right: 0;
    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; } }

.button-group {
  list-style: none;
  margin: 0;
  left: 0; }
  .button-group:before, .button-group:after {
    content: " ";
    display: table; }
  .button-group:after {
    clear: both; }
  .button-group.even-2 li {
    display: inline-block;
    margin: 0 -2px;
    width: 50%; }
    .button-group.even-2 li > button, .button-group.even-2 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button {
      border-left: 0; }
    .button-group.even-2 li button, .button-group.even-2 li .button {
      width: 100%; }
  .button-group.even-3 li {
    display: inline-block;
    margin: 0 -2px;
    width: 33.33333%; }
    .button-group.even-3 li > button, .button-group.even-3 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button {
      border-left: 0; }
    .button-group.even-3 li button, .button-group.even-3 li .button {
      width: 100%; }
  .button-group.even-4 li {
    display: inline-block;
    margin: 0 -2px;
    width: 25%; }
    .button-group.even-4 li > button, .button-group.even-4 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button {
      border-left: 0; }
    .button-group.even-4 li button, .button-group.even-4 li .button {
      width: 100%; }
  .button-group.even-5 li {
    display: inline-block;
    margin: 0 -2px;
    width: 20%; }
    .button-group.even-5 li > button, .button-group.even-5 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button {
      border-left: 0; }
    .button-group.even-5 li button, .button-group.even-5 li .button {
      width: 100%; }
  .button-group.even-6 li {
    display: inline-block;
    margin: 0 -2px;
    width: 16.66667%; }
    .button-group.even-6 li > button, .button-group.even-6 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button {
      border-left: 0; }
    .button-group.even-6 li button, .button-group.even-6 li .button {
      width: 100%; }
  .button-group.even-7 li {
    display: inline-block;
    margin: 0 -2px;
    width: 14.28571%; }
    .button-group.even-7 li > button, .button-group.even-7 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button {
      border-left: 0; }
    .button-group.even-7 li button, .button-group.even-7 li .button {
      width: 100%; }
  .button-group.even-8 li {
    display: inline-block;
    margin: 0 -2px;
    width: 12.5%; }
    .button-group.even-8 li > button, .button-group.even-8 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button {
      border-left: 0; }
    .button-group.even-8 li button, .button-group.even-8 li .button {
      width: 100%; }
  .button-group > li {
    display: inline-block;
    margin: 0 -2px; }
    .button-group > li > button, .button-group > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group > li:first-child button, .button-group > li:first-child .button {
      border-left: 0; }
  .button-group.stack > li {
    display: block;
    margin: 0;
    float: none; }
    .button-group.stack > li > button, .button-group.stack > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
      border-left: 0; }
    .button-group.stack > li > button, .button-group.stack > li .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.stack > li > button {
      width: 100%; }
    .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
      border-top: 0; }
  .button-group.stack-for-small > li {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
      border-left: 0; }
    @media only screen and (max-width: 40em) {
      .button-group.stack-for-small > li {
        display: block;
        margin: 0; }
        .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
          border-left: 1px solid;
          border-color: rgba(255, 255, 255, 0.5); }
        .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
          border-left: 0; }
        .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
          border-color: rgba(255, 255, 255, 0.5);
          border-left-width: 0;
          border-top: 1px solid;
          display: block;
          margin: 0; }
        .button-group.stack-for-small > li > button {
          width: 100%; }
        .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
          border-top: 0; } }
  .button-group.radius > * {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.radius > * > button, .button-group.radius > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.radius > *:first-child button, .button-group.radius > *:first-child .button {
      border-left: 0; }
    .button-group.radius > *,
    .button-group.radius > * > a,
    .button-group.radius > * > button,
    .button-group.radius > * > .button {
      border-radius: 0; }
    .button-group.radius > *:first-child,
    .button-group.radius > *:first-child > a,
    .button-group.radius > *:first-child > button,
    .button-group.radius > *:first-child > .button {
      -webkit-border-bottom-left-radius: 3px;
      -webkit-border-top-left-radius: 3px;
      border-bottom-left-radius: 3px;
      border-top-left-radius: 3px; }
    .button-group.radius > *:last-child,
    .button-group.radius > *:last-child > a,
    .button-group.radius > *:last-child > button,
    .button-group.radius > *:last-child > .button {
      -webkit-border-bottom-right-radius: 3px;
      -webkit-border-top-right-radius: 3px;
      border-bottom-right-radius: 3px;
      border-top-right-radius: 3px; }
  .button-group.radius.stack > * {
    display: block;
    margin: 0; }
    .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
      border-left: 0; }
    .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.radius.stack > * > button {
      width: 100%; }
    .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
      border-top: 0; }
    .button-group.radius.stack > *,
    .button-group.radius.stack > * > a,
    .button-group.radius.stack > * > button,
    .button-group.radius.stack > * > .button {
      border-radius: 0; }
    .button-group.radius.stack > *:first-child,
    .button-group.radius.stack > *:first-child > a,
    .button-group.radius.stack > *:first-child > button,
    .button-group.radius.stack > *:first-child > .button {
      -webkit-top-left-radius: 3px;
      -webkit-top-right-radius: 3px;
      border-top-left-radius: 3px;
      border-top-right-radius: 3px; }
    .button-group.radius.stack > *:last-child,
    .button-group.radius.stack > *:last-child > a,
    .button-group.radius.stack > *:last-child > button,
    .button-group.radius.stack > *:last-child > .button {
      -webkit-bottom-left-radius: 3px;
      -webkit-bottom-right-radius: 3px;
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 3px; }
  @media only screen and (min-width: 40.0625em) {
    .button-group.radius.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.radius.stack-for-small > *,
      .button-group.radius.stack-for-small > * > a,
      .button-group.radius.stack-for-small > * > button,
      .button-group.radius.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.radius.stack-for-small > *:first-child,
      .button-group.radius.stack-for-small > *:first-child > a,
      .button-group.radius.stack-for-small > *:first-child > button,
      .button-group.radius.stack-for-small > *:first-child > .button {
        -webkit-border-bottom-left-radius: 3px;
        -webkit-border-top-left-radius: 3px;
        border-bottom-left-radius: 3px;
        border-top-left-radius: 3px; }
      .button-group.radius.stack-for-small > *:last-child,
      .button-group.radius.stack-for-small > *:last-child > a,
      .button-group.radius.stack-for-small > *:last-child > button,
      .button-group.radius.stack-for-small > *:last-child > .button {
        -webkit-border-bottom-right-radius: 3px;
        -webkit-border-top-right-radius: 3px;
        border-bottom-right-radius: 3px;
        border-top-right-radius: 3px; } }
  @media only screen and (max-width: 40em) {
    .button-group.radius.stack-for-small > * {
      display: block;
      margin: 0; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-color: rgba(255, 255, 255, 0.5);
        border-left-width: 0;
        border-top: 1px solid;
        display: block;
        margin: 0; }
      .button-group.radius.stack-for-small > * > button {
        width: 100%; }
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-top: 0; }
      .button-group.radius.stack-for-small > *,
      .button-group.radius.stack-for-small > * > a,
      .button-group.radius.stack-for-small > * > button,
      .button-group.radius.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.radius.stack-for-small > *:first-child,
      .button-group.radius.stack-for-small > *:first-child > a,
      .button-group.radius.stack-for-small > *:first-child > button,
      .button-group.radius.stack-for-small > *:first-child > .button {
        -webkit-top-left-radius: 3px;
        -webkit-top-right-radius: 3px;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px; }
      .button-group.radius.stack-for-small > *:last-child,
      .button-group.radius.stack-for-small > *:last-child > a,
      .button-group.radius.stack-for-small > *:last-child > button,
      .button-group.radius.stack-for-small > *:last-child > .button {
        -webkit-bottom-left-radius: 3px;
        -webkit-bottom-right-radius: 3px;
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px; } }
  .button-group.round > * {
    display: inline-block;
    margin: 0 -2px; }
    .button-group.round > * > button, .button-group.round > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.round > *:first-child button, .button-group.round > *:first-child .button {
      border-left: 0; }
    .button-group.round > *,
    .button-group.round > * > a,
    .button-group.round > * > button,
    .button-group.round > * > .button {
      border-radius: 0; }
    .button-group.round > *:first-child,
    .button-group.round > *:first-child > a,
    .button-group.round > *:first-child > button,
    .button-group.round > *:first-child > .button {
      -webkit-border-bottom-left-radius: 1000px;
      -webkit-border-top-left-radius: 1000px;
      border-bottom-left-radius: 1000px;
      border-top-left-radius: 1000px; }
    .button-group.round > *:last-child,
    .button-group.round > *:last-child > a,
    .button-group.round > *:last-child > button,
    .button-group.round > *:last-child > .button {
      -webkit-border-bottom-right-radius: 1000px;
      -webkit-border-top-right-radius: 1000px;
      border-bottom-right-radius: 1000px;
      border-top-right-radius: 1000px; }
  .button-group.round.stack > * {
    display: block;
    margin: 0; }
    .button-group.round.stack > * > button, .button-group.round.stack > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
      border-left: 0; }
    .button-group.round.stack > * > button, .button-group.round.stack > * .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    .button-group.round.stack > * > button {
      width: 100%; }
    .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
      border-top: 0; }
    .button-group.round.stack > *,
    .button-group.round.stack > * > a,
    .button-group.round.stack > * > button,
    .button-group.round.stack > * > .button {
      border-radius: 0; }
    .button-group.round.stack > *:first-child,
    .button-group.round.stack > *:first-child > a,
    .button-group.round.stack > *:first-child > button,
    .button-group.round.stack > *:first-child > .button {
      -webkit-top-left-radius: 1rem;
      -webkit-top-right-radius: 1rem;
      border-top-left-radius: 1rem;
      border-top-right-radius: 1rem; }
    .button-group.round.stack > *:last-child,
    .button-group.round.stack > *:last-child > a,
    .button-group.round.stack > *:last-child > button,
    .button-group.round.stack > *:last-child > .button {
      -webkit-bottom-left-radius: 1rem;
      -webkit-bottom-right-radius: 1rem;
      border-bottom-left-radius: 1rem;
      border-bottom-right-radius: 1rem; }
  @media only screen and (min-width: 40.0625em) {
    .button-group.round.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.round.stack-for-small > *,
      .button-group.round.stack-for-small > * > a,
      .button-group.round.stack-for-small > * > button,
      .button-group.round.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.round.stack-for-small > *:first-child,
      .button-group.round.stack-for-small > *:first-child > a,
      .button-group.round.stack-for-small > *:first-child > button,
      .button-group.round.stack-for-small > *:first-child > .button {
        -webkit-border-bottom-left-radius: 1000px;
        -webkit-border-top-left-radius: 1000px;
        border-bottom-left-radius: 1000px;
        border-top-left-radius: 1000px; }
      .button-group.round.stack-for-small > *:last-child,
      .button-group.round.stack-for-small > *:last-child > a,
      .button-group.round.stack-for-small > *:last-child > button,
      .button-group.round.stack-for-small > *:last-child > .button {
        -webkit-border-bottom-right-radius: 1000px;
        -webkit-border-top-right-radius: 1000px;
        border-bottom-right-radius: 1000px;
        border-top-right-radius: 1000px; } }
  @media only screen and (max-width: 40em) {
    .button-group.round.stack-for-small > * {
      display: block;
      margin: 0; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-left: 0; }
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-color: rgba(255, 255, 255, 0.5);
        border-left-width: 0;
        border-top: 1px solid;
        display: block;
        margin: 0; }
      .button-group.round.stack-for-small > * > button {
        width: 100%; }
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-top: 0; }
      .button-group.round.stack-for-small > *,
      .button-group.round.stack-for-small > * > a,
      .button-group.round.stack-for-small > * > button,
      .button-group.round.stack-for-small > * > .button {
        border-radius: 0; }
      .button-group.round.stack-for-small > *:first-child,
      .button-group.round.stack-for-small > *:first-child > a,
      .button-group.round.stack-for-small > *:first-child > button,
      .button-group.round.stack-for-small > *:first-child > .button {
        -webkit-top-left-radius: 1rem;
        -webkit-top-right-radius: 1rem;
        border-top-left-radius: 1rem;
        border-top-right-radius: 1rem; }
      .button-group.round.stack-for-small > *:last-child,
      .button-group.round.stack-for-small > *:last-child > a,
      .button-group.round.stack-for-small > *:last-child > button,
      .button-group.round.stack-for-small > *:last-child > .button {
        -webkit-bottom-left-radius: 1rem;
        -webkit-bottom-right-radius: 1rem;
        border-bottom-left-radius: 1rem;
        border-bottom-right-radius: 1rem; } }

.button-bar:before, .button-bar:after {
  content: " ";
  display: table; }

.button-bar:after {
  clear: both; }

.button-bar .button-group {
  float: left;
  margin-right: 0.625rem; }
  .button-bar .button-group div {
    overflow: hidden; }

/* Clearing Styles */
.clearing-thumbs, [data-clearing] {
  list-style: none;
  margin-left: 0;
  margin-bottom: 0; }
  .clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after {
    content: " ";
    display: table; }
  .clearing-thumbs:after, [data-clearing]:after {
    clear: both; }
  .clearing-thumbs li, [data-clearing] li {
    float: left;
    margin-right: 10px; }
  .clearing-thumbs[class*="block-grid-"] li, [data-clearing][class*="block-grid-"] li {
    margin-right: 0; }

.clearing-blackout {
  background: #333333;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 998;
  left: 0; }
  .clearing-blackout .clearing-close {
    display: block; }

.clearing-container {
  height: 100%;
  margin: 0;
  overflow: hidden;
  position: relative;
  z-index: 998; }

.clearing-touch-label {
  color: #AAAAAA;
  font-size: .6em;
  left: 50%;
  position: absolute;
  top: 50%; }

.visible-img {
  height: 95%;
  position: relative; }
  .visible-img img {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    max-height: 100%;
    max-width: 100%; }

.clearing-caption {
  background: #333333;
  bottom: 0;
  color: #CCCCCC;
  font-size: 0.875em;
  line-height: 1.3;
  margin-bottom: 0;
  padding: 10px 30px 20px;
  position: absolute;
  text-align: center;
  width: 100%;
  left: 0; }

.clearing-close {
  color: #CCCCCC;
  display: none;
  font-size: 30px;
  line-height: 1;
  padding-left: 20px;
  padding-top: 10px;
  z-index: 999; }
  .clearing-close:hover, .clearing-close:focus {
    color: #CCCCCC; }

.clearing-assembled .clearing-container {
  height: 100%; }
  .clearing-assembled .clearing-container .carousel > ul {
    display: none; }

.clearing-feature li {
  display: none; }
  .clearing-feature li.clearing-featured-img {
    display: block; }

@media only screen and (min-width: 40.0625em) {
  .clearing-main-prev,
  .clearing-main-next {
    height: 100%;
    position: absolute;
    top: 0;
    width: 40px; }
    .clearing-main-prev > span,
    .clearing-main-next > span {
      border: solid 12px;
      display: block;
      height: 0;
      position: absolute;
      top: 50%;
      width: 0; }
      .clearing-main-prev > span:hover,
      .clearing-main-next > span:hover {
        opacity: .8; }
  .clearing-main-prev {
    left: 0; }
    .clearing-main-prev > span {
      left: 5px;
      border-color: transparent;
      border-right-color: #CCCCCC; }
  .clearing-main-next {
    right: 0; }
    .clearing-main-next > span {
      border-color: transparent;
      border-left-color: #CCCCCC; }
  .clearing-main-prev.disabled,
  .clearing-main-next.disabled {
    opacity: .3; }
  .clearing-assembled .clearing-container .carousel {
    background: rgba(51, 51, 51, 0.8);
    height: 120px;
    margin-top: 10px;
    text-align: center; }
    .clearing-assembled .clearing-container .carousel > ul {
      display: inline-block;
      z-index: 999;
      height: 100%;
      position: relative;
      float: none; }
      .clearing-assembled .clearing-container .carousel > ul li {
        clear: none;
        cursor: pointer;
        display: block;
        float: left;
        margin-right: 0;
        min-height: inherit;
        opacity: .4;
        overflow: hidden;
        padding: 0;
        position: relative;
        width: 120px; }
        .clearing-assembled .clearing-container .carousel > ul li.fix-height img {
          height: 100%;
          max-width: none; }
        .clearing-assembled .clearing-container .carousel > ul li a.th {
          border: none;
          box-shadow: none;
          display: block; }
        .clearing-assembled .clearing-container .carousel > ul li img {
          cursor: pointer !important;
          width: 100% !important; }
        .clearing-assembled .clearing-container .carousel > ul li.visible {
          opacity: 1; }
        .clearing-assembled .clearing-container .carousel > ul li:hover {
          opacity: .8; }
  .clearing-assembled .clearing-container .visible-img {
    background: #333333;
    height: 85%;
    overflow: hidden; }
  .clearing-close {
    padding-left: 0;
    padding-top: 0;
    position: absolute;
    top: 10px;
    right: 20px; } }

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

.dropdown.button, button.dropdown {
  position: relative;
  padding-right: 3.5625rem; }
  .dropdown.button::after, button.dropdown::after {
    border-color: #FFFFFF transparent transparent transparent;
    border-style: solid;
    content: "";
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    width: 0; }
  .dropdown.button::after, button.dropdown::after {
    border-width: 0.375rem;
    right: 1.40625rem;
    margin-top: -0.15625rem; }
  .dropdown.button::after, button.dropdown::after {
    border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.tiny, button.dropdown.tiny {
    padding-right: 2.625rem; }
    .dropdown.button.tiny:after, button.dropdown.tiny:after {
      border-width: 0.375rem;
      right: 1.125rem;
      margin-top: -0.125rem; }
    .dropdown.button.tiny::after, button.dropdown.tiny::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.small, button.dropdown.small {
    padding-right: 3.0625rem; }
    .dropdown.button.small::after, button.dropdown.small::after {
      border-width: 0.4375rem;
      right: 1.3125rem;
      margin-top: -0.15625rem; }
    .dropdown.button.small::after, button.dropdown.small::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.large, button.dropdown.large {
    padding-right: 3.625rem; }
    .dropdown.button.large::after, button.dropdown.large::after {
      border-width: 0.3125rem;
      right: 1.71875rem;
      margin-top: -0.15625rem; }
    .dropdown.button.large::after, button.dropdown.large::after {
      border-color: #FFFFFF transparent transparent transparent; }
  .dropdown.button.secondary:after, button.dropdown.secondary:after {
    border-color: #333333 transparent transparent transparent; }

.flex-video {
  height: 0;
  margin-bottom: 1rem;
  overflow: hidden;
  padding-bottom: 67.5%;
  padding-top: 1.5625rem;
  position: relative; }
  .flex-video.widescreen {
    padding-bottom: 56.34%; }
  .flex-video.vimeo {
    padding-top: 0; }
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
    left: 0; }

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

.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;
  color: #333333;
  border-color: #cccccc; }

/* We use this to get basic styling on all basic form elements */
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%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: border-color 0.15s linear, background 0.15s linear;
  -moz-transition: border-color 0.15s linear, background 0.15s linear;
  -ms-transition: border-color 0.15s linear, background 0.15s linear;
  -o-transition: border-color 0.15s linear, background 0.15s linear;
  transition: border-color 0.15s linear, background 0.15s linear; }
  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[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[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[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: #cccccc; }

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

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

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

/* 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:hover {
    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 {
    background: #FFFFFF;
    font-weight: bold;
    margin-left: -0.1875rem;
    margin: 0;
    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; }

.icon-bar {
  display: inline-block;
  font-size: 0;
  width: 100%;
  background: #333333; }
  .icon-bar > * {
    display: block;
    float: left;
    font-size: 1rem;
    margin: 0 auto;
    padding: 1.25rem;
    text-align: center;
    width: 25%; }
    .icon-bar > * i, .icon-bar > * img {
      display: block;
      margin: 0 auto; }
      .icon-bar > * i + label, .icon-bar > * img + label {
        margin-top: .0625rem; }
    .icon-bar > * i {
      font-size: 1.875rem;
      vertical-align: middle; }
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  .icon-bar.label-right > * i, .icon-bar.label-right > * img {
    display: inline-block;
    margin: 0 .0625rem 0 0; }
    .icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label {
      margin-top: 0; }
  .icon-bar.label-right > * label {
    display: inline-block; }
  .icon-bar.vertical.label-right > * {
    text-align: left; }
  .icon-bar.vertical, .icon-bar.small-vertical {
    height: 100%;
    width: auto; }
    .icon-bar.vertical .item, .icon-bar.small-vertical .item {
      float: none;
      margin: auto;
      width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.medium-vertical {
      height: 100%;
      width: auto; }
      .icon-bar.medium-vertical .item {
        float: none;
        margin: auto;
        width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.large-vertical {
      height: 100%;
      width: auto; }
      .icon-bar.large-vertical .item {
        float: none;
        margin: auto;
        width: auto; } }
  .icon-bar > * {
    font-size: 1rem;
    padding: 1.25rem; }
    .icon-bar > * i + label, .icon-bar > * img + label {
      margin-top: .0625rem;
      font-size: 1rem; }
    .icon-bar > * i {
      font-size: 1.875rem; }
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  .icon-bar > * label {
    color: #FFFFFF; }
  .icon-bar > * i {
    color: #FFFFFF; }
  .icon-bar > a:hover {
    background: #008CBA; }
    .icon-bar > a:hover label {
      color: #FFFFFF; }
    .icon-bar > a:hover i {
      color: #FFFFFF; }
  .icon-bar > a.active {
    background: #008CBA; }
    .icon-bar > a.active label {
      color: #FFFFFF; }
    .icon-bar > a.active i {
      color: #FFFFFF; }
  .icon-bar .item.disabled {
    cursor: not-allowed;
    opacity: 0.7;
    pointer-events: none; }
    .icon-bar .item.disabled > * {
      opacity: 0.7;
      cursor: not-allowed; }
  .icon-bar.two-up .item {
    width: 50%; }
  .icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.two-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.two-up.large-vertical .item {
      width: auto; } }
  .icon-bar.three-up .item {
    width: 33.3333%; }
  .icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.three-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.three-up.large-vertical .item {
      width: auto; } }
  .icon-bar.four-up .item {
    width: 25%; }
  .icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.four-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.four-up.large-vertical .item {
      width: auto; } }
  .icon-bar.five-up .item {
    width: 20%; }
  .icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.five-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.five-up.large-vertical .item {
      width: auto; } }
  .icon-bar.six-up .item {
    width: 16.66667%; }
  .icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.six-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.six-up.large-vertical .item {
      width: auto; } }
  .icon-bar.seven-up .item {
    width: 14.28571%; }
  .icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.seven-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.seven-up.large-vertical .item {
      width: auto; } }
  .icon-bar.eight-up .item {
    width: 12.5%; }
  .icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 40.0625em) {
    .icon-bar.eight-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    .icon-bar.eight-up.large-vertical .item {
      width: auto; } }

.icon-bar.two-up .item {
  width: 50%; }

.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.two-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.two-up.large-vertical .item {
    width: auto; } }

.icon-bar.three-up .item {
  width: 33.3333%; }

.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.three-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.three-up.large-vertical .item {
    width: auto; } }

.icon-bar.four-up .item {
  width: 25%; }

.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.four-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.four-up.large-vertical .item {
    width: auto; } }

.icon-bar.five-up .item {
  width: 20%; }

.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.five-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.five-up.large-vertical .item {
    width: auto; } }

.icon-bar.six-up .item {
  width: 16.66667%; }

.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.six-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.six-up.large-vertical .item {
    width: auto; } }

.icon-bar.seven-up .item {
  width: 14.28571%; }

.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.seven-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.seven-up.large-vertical .item {
    width: auto; } }

.icon-bar.eight-up .item {
  width: 12.5%; }

.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 40.0625em) {
  .icon-bar.eight-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  .icon-bar.eight-up.large-vertical .item {
    width: auto; } }

.inline-list {
  list-style: none;
  margin-left: -1.375rem;
  margin-right: 0;
  margin: 0 auto 1.0625rem auto;
  overflow: hidden;
  padding: 0; }
  .inline-list > li {
    display: block;
    float: left;
    list-style: none;
    margin-left: 1.375rem; }
    .inline-list > li > * {
      display: block; }

/* Foundation Joyride */
.joyride-list {
  display: none; }

/* Default styles for the container */
.joyride-tip-guide {
  background: #333333;
  color: #FFFFFF;
  display: none;
  font-family: inherit;
  font-weight: normal;
  position: absolute;
  top: 0;
  width: 95%;
  z-index: 101;
  left: 2.5%; }

.lt-ie9 .joyride-tip-guide {
  margin-left: -400px;
  max-width: 800px;
  left: 50%; }

.joyride-content-wrapper {
  padding: 1.125rem 1.25rem 1.5rem;
  width: 100%; }
  .joyride-content-wrapper .button {
    margin-bottom: 0 !important; }
  .joyride-content-wrapper .joyride-prev-tip {
    margin-right: 10px; }

/* Add a little css triangle pip, older browser just miss out on the fanciness of it */
.joyride-tip-guide .joyride-nub {
  border: 10px solid #333333;
  display: block;
  height: 0;
  position: absolute;
  width: 0;
  left: 22px; }
  .joyride-tip-guide .joyride-nub.top {
    border-color: #333333;
    border-top-color: transparent !important;
    border-top-style: solid;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    top: -20px; }
  .joyride-tip-guide .joyride-nub.bottom {
    border-color: #333333 !important;
    border-bottom-color: transparent !important;
    border-bottom-style: solid;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    bottom: -20px; }
  .joyride-tip-guide .joyride-nub.right {
    right: -20px; }
  .joyride-tip-guide .joyride-nub.left {
    left: -20px; }

/* Typography */
.joyride-tip-guide h1,
.joyride-tip-guide h2,
.joyride-tip-guide h3,
.joyride-tip-guide h4,
.joyride-tip-guide h5,
.joyride-tip-guide h6 {
  color: #FFFFFF;
  font-weight: bold;
  line-height: 1.25;
  margin: 0; }

.joyride-tip-guide p {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0 0 1.125rem 0; }

.joyride-timer-indicator-wrap {
  border: solid 1px #555555;
  bottom: 1rem;
  height: 3px;
  position: absolute;
  width: 50px;
  right: 1.0625rem; }

.joyride-timer-indicator {
  background: #666666;
  display: block;
  height: inherit;
  width: 0; }

.joyride-close-tip {
  color: #777777 !important;
  font-size: 24px;
  font-weight: normal;
  line-height: .5 !important;
  position: absolute;
  text-decoration: none;
  top: 10px;
  right: 12px; }
  .joyride-close-tip:hover, .joyride-close-tip:focus {
    color: #EEEEEE !important; }

.joyride-modal-bg {
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  display: none;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  left: 0; }

.joyride-expose-wrapper {
  background-color: #FFFFFF;
  border-radius: 3px;
  box-shadow: 0 0 15px #FFFFFF;
  position: absolute;
  z-index: 102; }

.joyride-expose-cover {
  background: transparent;
  border-radius: 3px;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 9999; }

/* Styles for screens that are at least 768px; */
@media only screen and (min-width: 40.0625em) {
  .joyride-tip-guide {
    width: 300px;
    left: inherit; }
    .joyride-tip-guide .joyride-nub.bottom {
      border-color: #333333 !important;
      border-bottom-color: transparent !important;
      border-left-color: transparent !important;
      border-right-color: transparent !important;
      bottom: -20px; }
    .joyride-tip-guide .joyride-nub.right {
      border-color: #333333 !important;
      border-right-color: transparent !important;
      border-bottom-color: transparent !important;
      border-top-color: transparent !important;
      left: auto;
      right: -20px;
      top: 22px; }
    .joyride-tip-guide .joyride-nub.left {
      border-color: #333333 !important;
      border-bottom-color: transparent !important;
      border-left-color: transparent !important;
      border-top-color: transparent !important;
      left: -20px;
      right: auto;
      top: 22px; } }

.keystroke,
kbd {
  background-color: #ededed;
  border-color: #dddddd;
  color: #222222;
  border-style: solid;
  border-width: 1px;
  font-family: "Consolas", "Menlo", "Courier", monospace;
  font-size: inherit;
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  border-radius: 3px; }

.label {
  display: inline-block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1;
  margin-bottom: auto;
  position: relative;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.25rem 0.5rem 0.25rem;
  font-size: 0.6875rem;
  background-color: #008CBA;
  color: #FFFFFF; }
  .label.radius {
    border-radius: 3px; }
  .label.round {
    border-radius: 1000px; }
  .label.alert {
    background-color: #f04124;
    color: #FFFFFF; }
  .label.warning {
    background-color: #f08a24;
    color: #FFFFFF; }
  .label.success {
    background-color: #43AC6A;
    color: #FFFFFF; }
  .label.secondary {
    background-color: #e7e7e7;
    color: #333333; }
  .label.info {
    background-color: #a0d3e8;
    color: #333333; }

[data-magellan-expedition], [data-magellan-expedition-clone] {
  background: #FFFFFF;
  min-width: 100%;
  padding: 10px;
  z-index: 50; }
  [data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav {
    margin-bottom: 0; }
    [data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd {
      margin-bottom: 0; }
    [data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a {
      line-height: 1.8em; }

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Orbit Graceful Loading */
.slideshow-wrapper {
  position: relative; }
  .slideshow-wrapper ul {
    list-style-type: none;
    margin: 0; }
    .slideshow-wrapper ul li,
    .slideshow-wrapper ul li .orbit-caption {
      display: none; }
    .slideshow-wrapper ul li:first-child {
      display: block; }
  .slideshow-wrapper .orbit-container {
    background-color: transparent; }
    .slideshow-wrapper .orbit-container li {
      display: block; }
      .slideshow-wrapper .orbit-container li .orbit-caption {
        display: block; }
    .slideshow-wrapper .orbit-container .orbit-bullets li {
      display: inline-block; }
  .slideshow-wrapper .preloader {
    border-radius: 1000px;
    animation-duration: 1.5s;
    animation-iteration-count: infinite;
    animation-name: rotate;
    animation-timing-function: linear;
    border-color: #555555 #FFFFFF;
    border: solid 3px;
    display: block;
    height: 40px;
    left: 50%;
    margin-left: -20px;
    margin-top: -20px;
    position: absolute;
    top: 50%;
    width: 40px; }

.orbit-container {
  background: none;
  overflow: hidden;
  position: relative;
  width: 100%; }
  .orbit-container .orbit-slides-container {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0); }
    .orbit-container .orbit-slides-container img {
      display: block;
      max-width: 100%; }
    .orbit-container .orbit-slides-container > * {
      position: absolute;
      top: 0;
      width: 100%;
      margin-left: 100%; }
      .orbit-container .orbit-slides-container > *:first-child {
        margin-left: 0; }
      .orbit-container .orbit-slides-container > * .orbit-caption {
        bottom: 0;
        position: absolute;
        background-color: rgba(51, 51, 51, 0.8);
        color: #FFFFFF;
        font-size: 0.875rem;
        padding: 0.625rem 0.875rem;
        width: 100%; }
  .orbit-container .orbit-slide-number {
    left: 10px;
    background: rgba(0, 0, 0, 0);
    color: #FFFFFF;
    font-size: 12px;
    position: absolute;
    top: 10px;
    z-index: 10; }
    .orbit-container .orbit-slide-number span {
      font-weight: 700;
      padding: 0.3125rem; }
  .orbit-container .orbit-timer {
    position: absolute;
    top: 12px;
    right: 10px;
    height: 6px;
    width: 100px;
    z-index: 10; }
    .orbit-container .orbit-timer .orbit-progress {
      height: 3px;
      background-color: rgba(255, 255, 255, 0.3);
      display: block;
      width: 0;
      position: relative;
      right: 20px;
      top: 5px; }
    .orbit-container .orbit-timer > span {
      border: solid 4px #FFFFFF;
      border-bottom: none;
      border-top: none;
      display: none;
      height: 14px;
      position: absolute;
      top: 0;
      width: 11px;
      right: 0; }
    .orbit-container .orbit-timer.paused > span {
      top: 0;
      width: 11px;
      height: 14px;
      border: inset 8px;
      border-left-style: solid;
      border-color: transparent;
      border-left-color: #FFFFFF;
      right: -4px; }
      .orbit-container .orbit-timer.paused > span.dark {
        border-left-color: #333333; }
  .orbit-container:hover .orbit-timer > span {
    display: block; }
  .orbit-container .orbit-prev,
  .orbit-container .orbit-next {
    background-color: transparent;
    color: white;
    height: 60px;
    line-height: 50px;
    margin-top: -25px;
    position: absolute;
    text-indent: -9999px !important;
    top: 45%;
    width: 36px;
    z-index: 10; }
    .orbit-container .orbit-prev:hover,
    .orbit-container .orbit-next:hover {
      background-color: rgba(0, 0, 0, 0.3); }
    .orbit-container .orbit-prev > span,
    .orbit-container .orbit-next > span {
      border: inset 10px;
      display: block;
      height: 0;
      margin-top: -10px;
      position: absolute;
      top: 50%;
      width: 0; }
  .orbit-container .orbit-prev {
    left: 0; }
    .orbit-container .orbit-prev > span {
      border-right-style: solid;
      border-color: transparent;
      border-right-color: #FFFFFF; }
    .orbit-container .orbit-prev:hover > span {
      border-right-color: #FFFFFF; }
  .orbit-container .orbit-next {
    right: 0; }
    .orbit-container .orbit-next > span {
      border-color: transparent;
      border-left-style: solid;
      border-left-color: #FFFFFF;
      left: 50%;
      margin-left: -4px; }
    .orbit-container .orbit-next:hover > span {
      border-left-color: #FFFFFF; }

.orbit-bullets-container {
  text-align: center; }

.orbit-bullets {
  display: block;
  float: none;
  margin: 0 auto 30px auto;
  overflow: hidden;
  position: relative;
  text-align: center;
  top: 10px; }
  .orbit-bullets li {
    background: #CCCCCC;
    cursor: pointer;
    display: inline-block;
    float: none;
    height: 0.5625rem;
    margin-right: 6px;
    width: 0.5625rem;
    border-radius: 1000px; }
    .orbit-bullets li.active {
      background: #999999; }
    .orbit-bullets li:last-child {
      margin-right: 0; }

.touch .orbit-container .orbit-prev,
.touch .orbit-container .orbit-next {
  display: none; }

.touch .orbit-bullets {
  display: none; }

@media only screen and (min-width: 40.0625em) {
  .touch .orbit-container .orbit-prev,
  .touch .orbit-container .orbit-next {
    display: inherit; }
  .touch .orbit-bullets {
    display: block; } }

@media only screen and (max-width: 40em) {
  .orbit-stack-on-small .orbit-slides-container {
    height: auto !important; }
  .orbit-stack-on-small .orbit-slides-container > * {
    margin: 0  !important;
    opacity: 1 !important;
    position: relative; }
  .orbit-stack-on-small .orbit-slide-number {
    display: none; }
  .orbit-timer {
    display: none; }
  .orbit-next, .orbit-prev {
    display: none; }
  .orbit-bullets {
    display: none; } }

ul.pagination {
  display: block;
  margin-left: -0.3125rem;
  min-height: 1.5rem; }
  ul.pagination li {
    color: #222222;
    font-size: 0.875rem;
    height: 1.5rem;
    margin-left: 0.3125rem; }
    ul.pagination li a, ul.pagination li button {
      border-radius: 3px;
      transition: background-color 300ms ease-out;
      background: none;
      color: #999999;
      display: block;
      font-size: 1em;
      font-weight: normal;
      line-height: inherit;
      padding: 0.0625rem 0.625rem 0.0625rem; }
    ul.pagination li:hover a,
    ul.pagination li a:focus,
    ul.pagination li:hover button,
    ul.pagination li button:focus {
      background: #e6e6e6; }
    ul.pagination li.unavailable a, ul.pagination li.unavailable button {
      cursor: default;
      color: #999999; }
    ul.pagination li.unavailable:hover a,
    ul.pagination li.unavailable a:focus,
    ul.pagination li.unavailable:hover button,
    ul.pagination li.unavailable button:focus {
      background: transparent; }
    ul.pagination li.current a, ul.pagination li.current button {
      background: #008CBA;
      color: #FFFFFF;
      cursor: default;
      font-weight: bold; }
      ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus {
        background: #008CBA; }
  ul.pagination li {
    display: block;
    float: left; }

/* Pagination centred wrapper */
.pagination-centered {
  text-align: center; }
  .pagination-centered ul.pagination li {
    display: inline-block;
    float: none; }

/* Panels */
.panel {
  border-style: solid;
  border-width: 1px;
  border-color: #d8d8d8;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #f2f2f2;
  color: #333333; }
  .panel > :first-child {
    margin-top: 0; }
  .panel > :last-child {
    margin-bottom: 0; }
  .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p, .panel li, .panel dl {
    color: #333333; }
  .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 {
    line-height: 1;
    margin-bottom: 0.625rem; }
    .panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader {
      line-height: 1.4; }
  .panel.callout {
    border-style: solid;
    border-width: 1px;
    border-color: #d8d8d8;
    margin-bottom: 1.25rem;
    padding: 1.25rem;
    background: #ecfaff;
    color: #333333; }
    .panel.callout > :first-child {
      margin-top: 0; }
    .panel.callout > :last-child {
      margin-bottom: 0; }
    .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p, .panel.callout li, .panel.callout dl {
      color: #333333; }
    .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 {
      line-height: 1;
      margin-bottom: 0.625rem; }
      .panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader {
        line-height: 1.4; }
    .panel.callout a:not(.button) {
      color: #008CBA; }
      .panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus {
        color: #0078a0; }
  .panel.radius {
    border-radius: 3px; }

/* Pricing Tables */
.pricing-table {
  border: solid 1px #DDDDDD;
  margin-left: 0;
  margin-bottom: 1.25rem; }
  .pricing-table * {
    list-style: none;
    line-height: 1; }
  .pricing-table .title {
    background-color: #333333;
    color: #EEEEEE;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1rem;
    font-weight: normal;
    padding: 0.9375rem 1.25rem;
    text-align: center; }
  .pricing-table .price {
    background-color: #F6F6F6;
    color: #333333;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 2rem;
    font-weight: normal;
    padding: 0.9375rem 1.25rem;
    text-align: center; }
  .pricing-table .description {
    background-color: #FFFFFF;
    border-bottom: dotted 1px #DDDDDD;
    color: #777777;
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 1.4;
    padding: 0.9375rem;
    text-align: center; }
  .pricing-table .bullet-item {
    background-color: #FFFFFF;
    border-bottom: dotted 1px #DDDDDD;
    color: #333333;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.9375rem;
    text-align: center; }
  .pricing-table .cta-button {
    background-color: #FFFFFF;
    padding: 1.25rem 1.25rem 0;
    text-align: center; }

/* Progress Bar */
.progress {
  background-color: #F6F6F6;
  border: 1px solid white;
  height: 1.5625rem;
  margin-bottom: 0.625rem;
  padding: 0.125rem; }
  .progress .meter {
    background: #008CBA;
    display: block;
    height: 100%; }
  .progress.secondary .meter {
    background: #e7e7e7;
    display: block;
    height: 100%; }
  .progress.success .meter {
    background: #43AC6A;
    display: block;
    height: 100%; }
  .progress.alert .meter {
    background: #f04124;
    display: block;
    height: 100%; }
  .progress.radius {
    border-radius: 3px; }
    .progress.radius .meter {
      border-radius: 2px; }
  .progress.round {
    border-radius: 1000px; }
    .progress.round .meter {
      border-radius: 999px; }

.range-slider {
  border: 1px solid #DDDDDD;
  margin: 1.25rem 0;
  position: relative;
  -ms-touch-action: none;
  touch-action: none;
  display: block;
  height: 1rem;
  width: 100%;
  background: #FAFAFA; }
  .range-slider.vertical-range {
    border: 1px solid #DDDDDD;
    margin: 1.25rem 0;
    position: relative;
    -ms-touch-action: none;
    touch-action: none;
    display: inline-block;
    height: 12.5rem;
    width: 1rem; }
    .range-slider.vertical-range .range-slider-handle {
      bottom: -10.5rem;
      margin-left: -0.5rem;
      margin-top: 0;
      position: absolute; }
    .range-slider.vertical-range .range-slider-active-segment {
      border-bottom-left-radius: inherit;
      border-bottom-right-radius: inherit;
      border-top-left-radius: initial;
      bottom: 0;
      height: auto;
      width: 0.875rem; }
  .range-slider.radius {
    background: #FAFAFA;
    border-radius: 3px; }
    .range-slider.radius .range-slider-handle {
      background: #008CBA;
      border-radius: 3px; }
      .range-slider.radius .range-slider-handle:hover {
        background: #007ba4; }
  .range-slider.round {
    background: #FAFAFA;
    border-radius: 1000px; }
    .range-slider.round .range-slider-handle {
      background: #008CBA;
      border-radius: 1000px; }
      .range-slider.round .range-slider-handle:hover {
        background: #007ba4; }
  .range-slider.disabled, .range-slider[disabled] {
    background: #FAFAFA;
    cursor: not-allowed;
    opacity: 0.7; }
    .range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle {
      background: #008CBA;
      cursor: default;
      opacity: 0.7; }
      .range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover {
        background: #007ba4; }

.range-slider-active-segment {
  background: #e5e5e5;
  border-bottom-left-radius: inherit;
  border-top-left-radius: inherit;
  display: inline-block;
  height: 0.875rem;
  position: absolute; }

.range-slider-handle {
  border: 1px solid none;
  cursor: pointer;
  display: inline-block;
  height: 1.375rem;
  position: absolute;
  top: -0.3125rem;
  width: 2rem;
  z-index: 1;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #008CBA; }
  .range-slider-handle:hover {
    background: #007ba4; }

.reveal-modal-bg {
  background: #000000;
  background: rgba(0, 0, 0, 0.45);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1004;
  left: 0; }

.reveal-modal {
  border-radius: 3px;
  display: none;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1005;
  left: 0;
  background-color: #FFFFFF;
  padding: 1.875rem;
  border: solid 1px #666666;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }
  @media only screen and (max-width: 40em) {
    .reveal-modal {
      min-height: 100vh; } }
  .reveal-modal .column, .reveal-modal .columns {
    min-width: 0; }
  .reveal-modal > :first-child {
    margin-top: 0; }
  .reveal-modal > :last-child {
    margin-bottom: 0; }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 80%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal {
      top: 6.25rem; } }
  .reveal-modal.radius {
    border-radius: 3px; }
  .reveal-modal.round {
    border-radius: 1000px; }
  .reveal-modal.collapse {
    padding: 0; }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.tiny {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 30%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.small {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 40%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.medium {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 60%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.large {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 70%; } }
  @media only screen and (min-width: 40.0625em) {
    .reveal-modal.xlarge {
      left: 0;
      margin: 0 auto;
      max-width: 62.5rem;
      right: 0;
      width: 95%; } }
  .reveal-modal.full {
    height: 100vh;
    height: 100%;
    left: 0;
    margin-left: 0 !important;
    max-width: none !important;
    min-height: 100vh;
    top: 0; }
    @media only screen and (min-width: 40.0625em) {
      .reveal-modal.full {
        left: 0;
        margin: 0 auto;
        max-width: 62.5rem;
        right: 0;
        width: 100%; } }
  .reveal-modal.toback {
    z-index: 1003; }
  .reveal-modal .close-reveal-modal {
    color: #AAAAAA;
    cursor: pointer;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    top: 0.625rem;
    right: 1.375rem; }

.side-nav {
  display: block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  list-style-position: outside;
  list-style-type: none;
  margin: 0;
  padding: 0.875rem 0; }
  .side-nav li {
    font-size: 0.875rem;
    font-weight: normal;
    margin: 0 0 0.4375rem 0; }
    .side-nav li a:not(.button) {
      color: #008CBA;
      display: block;
      margin: 0;
      padding: 0.4375rem 0.875rem; }
      .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus {
        background: rgba(0, 0, 0, 0.025);
        color: #1cc7ff; }
      .side-nav li a:not(.button):active {
        color: #1cc7ff; }
    .side-nav li.active > a:first-child:not(.button) {
      color: #1cc7ff;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-weight: normal; }
    .side-nav li.divider {
      border-top: 1px solid;
      height: 0;
      list-style: none;
      padding: 0;
      border-top-color: #e6e6e6; }
    .side-nav li.heading {
      color: #008CBA;
      font-size: 0.875rem;
      font-weight: bold;
      text-transform: uppercase; }

.split.button {
  position: relative;
  padding-right: 5.0625rem; }
  .split.button span {
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    border-left: solid 1px; }
    .split.button span:after {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      display: block;
      border-style: inset;
      top: 50%;
      left: 50%; }
    .split.button span:active {
      background-color: rgba(0, 0, 0, 0.1); }
  .split.button span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button span {
    width: 3.09375rem; }
    .split.button span:after {
      border-top-style: solid;
      border-width: 0.375rem;
      margin-left: -0.375rem;
      top: 48%; }
  .split.button span:after {
    border-color: #FFFFFF transparent transparent transparent; }
  .split.button.secondary span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.secondary span:after {
    border-color: #FFFFFF transparent transparent transparent; }
  .split.button.alert span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.success span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  .split.button.tiny {
    padding-right: 3.75rem; }
    .split.button.tiny span {
      width: 2.25rem; }
      .split.button.tiny span:after {
        border-top-style: solid;
        border-width: 0.375rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.small {
    padding-right: 4.375rem; }
    .split.button.small span {
      width: 2.625rem; }
      .split.button.small span:after {
        border-top-style: solid;
        border-width: 0.4375rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.large {
    padding-right: 5.5rem; }
    .split.button.large span {
      width: 3.4375rem; }
      .split.button.large span:after {
        border-top-style: solid;
        border-width: 0.3125rem;
        margin-left: -0.375rem;
        top: 48%; }
  .split.button.expand {
    padding-left: 2rem; }
  .split.button.secondary span:after {
    border-color: #333333 transparent transparent transparent; }
  .split.button.radius span {
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px; }
  .split.button.round span {
    -webkit-border-bottom-right-radius: 1000px;
    -webkit-border-top-right-radius: 1000px;
    border-bottom-right-radius: 1000px;
    border-top-right-radius: 1000px; }
  .split.button.no-pip span:before {
    border-style: none; }
  .split.button.no-pip span:after {
    border-style: none; }
  .split.button.no-pip span > i {
    display: block;
    left: 50%;
    margin-left: -0.28889em;
    margin-top: -0.48889em;
    position: absolute;
    top: 50%; }

.sub-nav {
  display: block;
  margin: -0.25rem 0 1.125rem;
  overflow: hidden;
  padding-top: 0.25rem;
  width: auto; }
  .sub-nav dt {
    text-transform: uppercase; }
  .sub-nav dt,
  .sub-nav dd,
  .sub-nav li {
    color: #999999;
    float: left;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: normal;
    margin-left: 1rem;
    margin-bottom: 0; }
    .sub-nav dt a,
    .sub-nav dd a,
    .sub-nav li a {
      color: #999999;
      padding: 0.1875rem 1rem;
      text-decoration: none; }
      .sub-nav dt a:hover,
      .sub-nav dd a:hover,
      .sub-nav li a:hover {
        color: #737373; }
    .sub-nav dt.active a,
    .sub-nav dd.active a,
    .sub-nav li.active a {
      border-radius: 3px;
      background: #008CBA;
      color: #FFFFFF;
      cursor: default;
      font-weight: normal;
      padding: 0.1875rem 1rem; }
      .sub-nav dt.active a:hover,
      .sub-nav dd.active a:hover,
      .sub-nav li.active a:hover {
        background: #0078a0; }

.switch {
  border: none;
  margin-bottom: 1.5rem;
  outline: 0;
  padding: 0;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .switch label {
    background: #DDDDDD;
    color: transparent;
    cursor: pointer;
    display: block;
    margin-bottom: 1rem;
    position: relative;
    text-indent: 100%;
    width: 4rem;
    height: 2rem;
    transition: left 0.15s ease-out; }
  .switch input {
    left: 10px;
    opacity: 0;
    padding: 0;
    position: absolute;
    top: 9px; }
    .switch input + label {
      margin-left: 0;
      margin-right: 0; }
  .switch label:after {
    background: #FFFFFF;
    content: "";
    display: block;
    height: 1.5rem;
    left: .25rem;
    position: absolute;
    top: .25rem;
    width: 1.5rem;
    -webkit-transition: left 0.15s ease-out;
    -moz-transition: left 0.15s ease-out;
    -o-transition: translate3d(0, 0, 0);
    transition: left 0.15s ease-out;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  .switch input:checked + label {
    background: #008CBA; }
  .switch input:checked + label:after {
    left: 2.25rem; }
  .switch label {
    height: 2rem;
    width: 4rem; }
  .switch label:after {
    height: 1.5rem;
    width: 1.5rem; }
  .switch input:checked + label:after {
    left: 2.25rem; }
  .switch label {
    color: transparent;
    background: #DDDDDD; }
  .switch label:after {
    background: #FFFFFF; }
  .switch input:checked + label {
    background: #008CBA; }
  .switch.large label {
    height: 2.5rem;
    width: 5rem; }
  .switch.large label:after {
    height: 2rem;
    width: 2rem; }
  .switch.large input:checked + label:after {
    left: 2.75rem; }
  .switch.small label {
    height: 1.75rem;
    width: 3.5rem; }
  .switch.small label:after {
    height: 1.25rem;
    width: 1.25rem; }
  .switch.small input:checked + label:after {
    left: 2rem; }
  .switch.tiny label {
    height: 1.5rem;
    width: 3rem; }
  .switch.tiny label:after {
    height: 1rem;
    width: 1rem; }
  .switch.tiny input:checked + label:after {
    left: 1.75rem; }
  .switch.radius label {
    border-radius: 4px; }
  .switch.radius label:after {
    border-radius: 3px; }
  .switch.round {
    border-radius: 1000px; }
    .switch.round label {
      border-radius: 2rem; }
    .switch.round label:after {
      border-radius: 2rem; }

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

.tabs {
  margin-bottom: 0 !important;
  margin-left: 0; }
  .tabs:before, .tabs:after {
    content: " ";
    display: table; }
  .tabs:after {
    clear: both; }
  .tabs dd,
  .tabs .tab-title {
    float: left;
    list-style: none;
    margin-bottom: 0 !important;
    position: relative; }
    .tabs dd > a,
    .tabs .tab-title > a {
      display: block;
      background-color: #EFEFEF;
      color: #222222;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      padding: 1rem 2rem; }
      .tabs dd > a:hover,
      .tabs .tab-title > a:hover {
        background-color: #e1e1e1; }
    .tabs dd.active a,
    .tabs .tab-title.active a {
      background-color: #FFFFFF;
      color: #222222; }
  .tabs.radius dd:first-child a,
  .tabs.radius .tab:first-child a {
    -webkit-border-bottom-left-radius: 3px;
    -webkit-border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    border-top-left-radius: 3px; }
  .tabs.radius dd:last-child a,
  .tabs.radius .tab:last-child a {
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px; }
  .tabs.vertical dd,
  .tabs.vertical .tab-title {
    position: inherit;
    float: none;
    display: block;
    top: auto; }

.tabs-content {
  margin-bottom: 1.5rem;
  width: 100%; }
  .tabs-content:before, .tabs-content:after {
    content: " ";
    display: table; }
  .tabs-content:after {
    clear: both; }
  .tabs-content > .content {
    display: none;
    float: left;
    padding: 0.9375rem 0;
    width: 100%; }
    .tabs-content > .content.active {
      display: block;
      float: none; }
    .tabs-content > .content.contained {
      padding: 0.9375rem; }
  .tabs-content.vertical {
    display: block; }
    .tabs-content.vertical > .content {
      padding: 0 0.9375rem; }

@media only screen and (min-width: 40.0625em) {
  .tabs.vertical {
    float: left;
    margin: 0;
    margin-bottom: 1.25rem !important;
    max-width: 20%;
    width: 20%; }
  .tabs-content.vertical {
    float: left;
    margin-left: -1px;
    max-width: 80%;
    padding-left: 1rem;
    width: 80%; } }

.no-js .tabs-content > .content {
  display: block;
  float: none; }

/* Image Thumbnails */
.th {
  border: solid 4px #FFFFFF;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: all 200ms ease-out; }
  .th:hover, .th:focus {
    box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5); }
  .th.radius {
    border-radius: 3px; }

/* Tooltips */
.has-tip {
  border-bottom: dotted 1px #CCCCCC;
  color: #333333;
  cursor: help;
  font-weight: bold; }
  .has-tip:hover, .has-tip:focus {
    border-bottom: dotted 1px #003f54;
    color: #008CBA; }
  .has-tip.tip-left, .has-tip.tip-right {
    float: none !important; }

.tooltip {
  background: #333333;
  color: #FFFFFF;
  display: none;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.3;
  max-width: 300px;
  padding: 0.75rem;
  position: absolute;
  width: 100%;
  z-index: 1006;
  left: 50%; }
  .tooltip > .nub {
    border-color: transparent transparent #333333 transparent;
    border: solid 5px;
    display: block;
    height: 0;
    pointer-events: none;
    position: absolute;
    top: -10px;
    width: 0;
    left: 5px; }
    .tooltip > .nub.rtl {
      left: auto;
      right: 5px; }
  .tooltip.radius {
    border-radius: 3px; }
  .tooltip.round {
    border-radius: 1000px; }
    .tooltip.round > .nub {
      left: 2rem; }
  .tooltip.opened {
    border-bottom: dotted 1px #003f54 !important;
    color: #008CBA !important; }

.tap-to-close {
  color: #777777;
  display: block;
  font-size: 0.625rem;
  font-weight: normal; }

@media only screen and (min-width: 40.0625em) {
  .tooltip > .nub {
    border-color: transparent transparent #333333 transparent;
    top: -10px; }
  .tooltip.tip-top > .nub {
    border-color: #333333 transparent transparent transparent;
    bottom: -10px;
    top: auto; }
  .tooltip.tip-left, .tooltip.tip-right {
    float: none !important; }
  .tooltip.tip-left > .nub {
    border-color: transparent transparent transparent #333333;
    left: auto;
    margin-top: -5px;
    right: -10px;
    top: 50%; }
  .tooltip.tip-right > .nub {
    border-color: transparent #333333 transparent transparent;
    left: -10px;
    margin-top: -5px;
    right: auto;
    top: 50%; } }

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

/* Wrapped around .top-bar to contain to grid width */
.contain-to-grid {
  width: 100%;
  background: #333333; }
  .contain-to-grid .top-bar {
    margin-bottom: 0; }

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  left: 0; }
  .fixed.expanded:not(.top-bar) {
    height: auto;
    max-height: 100%;
    overflow-y: auto;
    width: 100%; }
    .fixed.expanded:not(.top-bar) .title-area {
      position: fixed;
      width: 100%;
      z-index: 99; }
    .fixed.expanded:not(.top-bar) .top-bar-section {
      margin-top: 2.8125rem;
      z-index: 98; }

.top-bar {
  background: #333333;
  height: 2.8125rem;
  line-height: 2.8125rem;
  margin-bottom: 0;
  overflow: hidden;
  position: relative; }
  .top-bar ul {
    list-style: none;
    margin-bottom: 0; }
  .top-bar .row {
    max-width: none; }
  .top-bar form,
  .top-bar input,
  .top-bar select {
    margin-bottom: 0; }
  .top-bar input,
  .top-bar select {
    font-size: 0.75rem;
    height: 1.75rem;
    padding-bottom: .35rem;
    padding-top: .35rem; }
  .top-bar .button, .top-bar button {
    font-size: 0.75rem;
    margin-bottom: 0;
    padding-bottom: 0.4125rem;
    padding-top: 0.4125rem; }
    @media only screen and (max-width: 40em) {
      .top-bar .button, .top-bar button {
        position: relative;
        top: -1px; } }
  .top-bar .title-area {
    margin: 0;
    position: relative; }
  .top-bar .name {
    font-size: 16px;
    height: 2.8125rem;
    margin: 0; }
    .top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span {
      font-size: 1.0625rem;
      line-height: 2.8125rem;
      margin: 0; }
      .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a {
        color: #FFFFFF;
        display: block;
        font-weight: normal;
        padding: 0 0.9375rem;
        width: 75%; }
  .top-bar .toggle-topbar {
    position: absolute;
    right: 0;
    top: 0; }
    .top-bar .toggle-topbar a {
      color: #FFFFFF;
      display: block;
      font-size: 0.8125rem;
      font-weight: bold;
      height: 2.8125rem;
      line-height: 2.8125rem;
      padding: 0 0.9375rem;
      position: relative;
      text-transform: uppercase; }
    .top-bar .toggle-topbar.menu-icon {
      margin-top: -16px;
      top: 50%; }
      .top-bar .toggle-topbar.menu-icon a {
        color: #FFFFFF;
        height: 34px;
        line-height: 33px;
        padding: 0 2.5rem 0 0.9375rem;
        position: relative; }
        .top-bar .toggle-topbar.menu-icon a span::after {
          content: "";
          display: block;
          height: 0;
          position: absolute;
          margin-top: -8px;
          top: 50%;
          right: 0.9375rem;
          box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
          width: 16px; }
        .top-bar .toggle-topbar.menu-icon a span:hover:after {
          box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; }
  .top-bar.expanded {
    background: transparent;
    height: auto; }
    .top-bar.expanded .title-area {
      background: #333333; }
    .top-bar.expanded .toggle-topbar a {
      color: #888888; }
      .top-bar.expanded .toggle-topbar a span::after {
        box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; }
    @media screen and (-webkit-min-device-pixel-ratio: 0) {
      .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown,
      .top-bar.expanded .top-bar-section .dropdown {
        clip: initial; }
      .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
        padding: 0; } }

.top-bar-section {
  left: 0;
  position: relative;
  width: auto;
  transition: left 300ms ease-out; }
  .top-bar-section ul {
    display: block;
    font-size: 16px;
    height: auto;
    margin: 0;
    padding: 0;
    width: 100%; }
  .top-bar-section .divider,
  .top-bar-section [role="separator"] {
    border-top: solid 1px #1a1a1a;
    clear: both;
    height: 1px;
    width: 100%; }
  .top-bar-section ul li {
    background: #333333; }
    .top-bar-section ul li > a {
      color: #FFFFFF;
      display: block;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 0.8125rem;
      font-weight: normal;
      padding-left: 0.9375rem;
      padding: 12px 0 12px 0.9375rem;
      text-transform: none;
      width: 100%; }
      .top-bar-section ul li > a.button {
        font-size: 0.8125rem;
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
        background-color: #008CBA;
        border-color: #007095;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
          background-color: #007095; }
        .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.secondary {
        background-color: #e7e7e7;
        border-color: #b9b9b9;
        color: #333333; }
        .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
          background-color: #b9b9b9; }
        .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
          color: #333333; }
      .top-bar-section ul li > a.button.success {
        background-color: #43AC6A;
        border-color: #368a55;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
          background-color: #368a55; }
        .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.alert {
        background-color: #f04124;
        border-color: #cf2a0e;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
          background-color: #cf2a0e; }
        .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.warning {
        background-color: #f08a24;
        border-color: #cf6e0e;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
          background-color: #cf6e0e; }
        .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.info {
        background-color: #a0d3e8;
        border-color: #61b6d9;
        color: #333333; }
        .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
          background-color: #61b6d9; }
        .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
          color: #FFFFFF; }
    .top-bar-section ul li > button {
      font-size: 0.8125rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      background-color: #008CBA;
      border-color: #007095;
      color: #FFFFFF; }
      .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
        background-color: #007095; }
      .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
        color: #FFFFFF; }
      .top-bar-section ul li > button.secondary {
        background-color: #e7e7e7;
        border-color: #b9b9b9;
        color: #333333; }
        .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
          background-color: #b9b9b9; }
        .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
          color: #333333; }
      .top-bar-section ul li > button.success {
        background-color: #43AC6A;
        border-color: #368a55;
        color: #FFFFFF; }
        .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
          background-color: #368a55; }
        .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.alert {
        background-color: #f04124;
        border-color: #cf2a0e;
        color: #FFFFFF; }
        .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
          background-color: #cf2a0e; }
        .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.warning {
        background-color: #f08a24;
        border-color: #cf6e0e;
        color: #FFFFFF; }
        .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
          background-color: #cf6e0e; }
        .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.info {
        background-color: #a0d3e8;
        border-color: #61b6d9;
        color: #333333; }
        .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
          background-color: #61b6d9; }
        .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
          color: #FFFFFF; }
    .top-bar-section ul li:hover:not(.has-form) > a {
      background-color: #555555;
      color: #FFFFFF;
      background: #222222; }
    .top-bar-section ul li.active > a {
      background: #008CBA;
      color: #FFFFFF; }
      .top-bar-section ul li.active > a:hover {
        background: #0078a0;
        color: #FFFFFF; }
  .top-bar-section .has-form {
    padding: 0.9375rem; }
  .top-bar-section .has-dropdown {
    position: relative; }
    .top-bar-section .has-dropdown > a:after {
      border: inset 5px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
      border-left-style: solid;
      margin-right: 0.9375rem;
      margin-top: -4.5px;
      position: absolute;
      top: 50%;
      right: 0; }
    .top-bar-section .has-dropdown.moved {
      position: static; }
      .top-bar-section .has-dropdown.moved > .dropdown {
        position: static !important;
        height: auto;
        width: auto;
        overflow: visible;
        clip: auto;
        display: block;
        position: absolute !important;
        width: 100%; }
      .top-bar-section .has-dropdown.moved > a:after {
        display: none; }
  .top-bar-section .dropdown {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    display: block;
    padding: 0;
    position: absolute;
    top: 0;
    z-index: 99;
    left: 100%; }
    .top-bar-section .dropdown li {
      height: auto;
      width: 100%; }
      .top-bar-section .dropdown li a {
        font-weight: normal;
        padding: 8px 0.9375rem; }
        .top-bar-section .dropdown li a.parent-link {
          font-weight: normal; }
      .top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link {
        margin-bottom: 0;
        margin-top: 0;
        font-size: 1.125rem; }
        .top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a {
          color: #FFFFFF;
          display: block; }
          .top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover {
            background: none; }
      .top-bar-section .dropdown li.has-form {
        padding: 8px 0.9375rem; }
      .top-bar-section .dropdown li .button,
      .top-bar-section .dropdown li button {
        top: auto; }
    .top-bar-section .dropdown label {
      color: #777777;
      font-size: 0.625rem;
      font-weight: bold;
      margin-bottom: 0;
      padding: 8px 0.9375rem 2px;
      text-transform: uppercase; }

.js-generated {
  display: block; }

@media only screen and (min-width: 40.0625em) {
  .top-bar {
    background: #333333;
    overflow: visible; }
    .top-bar:before, .top-bar:after {
      content: " ";
      display: table; }
    .top-bar:after {
      clear: both; }
    .top-bar .toggle-topbar {
      display: none; }
    .top-bar .title-area {
      float: left; }
    .top-bar .name h1 a,
    .top-bar .name h2 a,
    .top-bar .name h3 a,
    .top-bar .name h4 a,
    .top-bar .name h5 a,
    .top-bar .name h6 a {
      width: auto; }
    .top-bar input,
    .top-bar select,
    .top-bar .button,
    .top-bar button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    .top-bar.expanded {
      background: #333333; }
  .contain-to-grid .top-bar {
    margin-bottom: 0;
    margin: 0 auto;
    max-width: 62.5rem; }
  .top-bar-section {
    transition: none 0 0;
    left: 0 !important; }
    .top-bar-section ul {
      display: inline;
      height: auto !important;
      width: auto; }
      .top-bar-section ul li {
        float: left; }
        .top-bar-section ul li .js-generated {
          display: none; }
    .top-bar-section li.hover > a:not(.button) {
      background-color: #555555;
      background: #222222;
      color: #FFFFFF; }
    .top-bar-section li:not(.has-form) a:not(.button) {
      background: #333333;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li:not(.has-form) a:not(.button):hover {
        background-color: #555555;
        background: #222222; }
    .top-bar-section li.active:not(.has-form) a:not(.button) {
      background: #008CBA;
      color: #FFFFFF;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li.active:not(.has-form) a:not(.button):hover {
        background: #0078a0;
        color: #FFFFFF; }
    .top-bar-section .has-dropdown > a {
      padding-right: 2.1875rem !important; }
      .top-bar-section .has-dropdown > a:after {
        border: inset 5px;
        content: "";
        display: block;
        height: 0;
        width: 0;
        border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
        border-top-style: solid;
        margin-top: -2.5px;
        top: 1.40625rem; }
    .top-bar-section .has-dropdown.moved {
      position: relative; }
      .top-bar-section .has-dropdown.moved > .dropdown {
        clip: rect(1px, 1px, 1px, 1px);
        height: 1px;
        overflow: hidden;
        position: absolute !important;
        width: 1px;
        display: block; }
    .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    .top-bar-section .has-dropdown > a:focus + .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
      border: none;
      content: "\00bb";
      top: 0.1875rem;
      right: 5px; }
    .top-bar-section .dropdown {
      left: 0;
      background: transparent;
      min-width: 100%;
      top: auto; }
      .top-bar-section .dropdown li a {
        background: #333333;
        color: #FFFFFF;
        line-height: 2.8125rem;
        padding: 12px 0.9375rem;
        white-space: nowrap; }
      .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
        background: #333333;
        color: #FFFFFF; }
      .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) {
        background-color: #555555;
        color: #FFFFFF;
        background: #222222; }
      .top-bar-section .dropdown li label {
        background: #333333;
        white-space: nowrap; }
      .top-bar-section .dropdown li .dropdown {
        left: 100%;
        top: 0; }
    .top-bar-section > ul > .divider,
    .top-bar-section > ul > [role="separator"] {
      border-right: solid 1px #4e4e4e;
      border-bottom: none;
      border-top: none;
      clear: none;
      height: 2.8125rem;
      width: 0; }
    .top-bar-section .has-form {
      background: #333333;
      height: 2.8125rem;
      padding: 0 0.9375rem; }
    .top-bar-section .right li .dropdown {
      left: auto;
      right: 0; }
      .top-bar-section .right li .dropdown li .dropdown {
        right: 100%; }
    .top-bar-section .left li .dropdown {
      right: auto;
      left: 0; }
      .top-bar-section .left li .dropdown li .dropdown {
        left: 100%; }
  .no-js .top-bar-section ul li:hover > a {
    background-color: #555555;
    background: #222222;
    color: #FFFFFF; }
  .no-js .top-bar-section ul li:active > a {
    background: #008CBA;
    color: #FFFFFF; }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

h1 {
  font-size: 2.125rem; }

h2 {
  font-size: 1.6875rem; }

h3 {
  font-size: 1.375rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.125rem; }

h6 {
  font-size: 1rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

ul.no-bullet {
  list-style: none; }

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

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

dl dd {
  margin-bottom: 0.75rem; }

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

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

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

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

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

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

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

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

.off-canvas-wrap {
  -webkit-backface-visibility: hidden;
  position: relative;
  width: 100%;
  overflow: hidden; }
  .off-canvas-wrap.move-right, .off-canvas-wrap.move-left {
    min-height: 100%;
    -webkit-overflow-scrolling: touch; }

.inner-wrap {
  position: relative;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease; }
  .inner-wrap:before, .inner-wrap:after {
    content: " ";
    display: table; }
  .inner-wrap:after {
    clear: both; }

.tab-bar {
  -webkit-backface-visibility: hidden;
  background: #333333;
  color: #FFFFFF;
  height: 2.8125rem;
  line-height: 2.8125rem;
  position: relative; }
  .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 {
    color: #FFFFFF;
    font-weight: bold;
    line-height: 2.8125rem;
    margin: 0; }
  .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 {
    font-size: 1.125rem; }

.left-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-right: solid 1px #1a1a1a;
  left: 0; }

.right-small {
  height: 2.8125rem;
  position: absolute;
  top: 0;
  width: 2.8125rem;
  border-left: solid 1px #1a1a1a;
  right: 0; }

.tab-bar-section {
  height: 2.8125rem;
  padding: 0 0.625rem;
  position: absolute;
  text-align: center;
  top: 0; }
  .tab-bar-section.left {
    text-align: left; }
  .tab-bar-section.right {
    text-align: right; }
  .tab-bar-section.left {
    left: 0;
    right: 2.8125rem; }
  .tab-bar-section.right {
    left: 2.8125rem;
    right: 0; }
  .tab-bar-section.middle {
    left: 2.8125rem;
    right: 2.8125rem; }

.tab-bar .menu-icon {
  color: #FFFFFF;
  display: block;
  height: 2.8125rem;
  padding: 0;
  position: relative;
  text-indent: 2.1875rem;
  transform: translate3d(0, 0, 0);
  width: 2.8125rem; }
  .tab-bar .menu-icon span::after {
    content: "";
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
    left: 0.90625rem;
    box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
    width: 1rem; }
  .tab-bar .menu-icon span:hover:after {
    box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3; }

.left-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  transition: transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(-100%, 0, 0);
  -moz-transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
  -ms-transform: translate3d(-100%, 0, 0);
  -o-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0; }
  .left-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

.right-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  transition: transform 500ms ease 0s;
  width: 15.625rem;
  z-index: 1001;
  -webkit-transform: translate3d(100%, 0, 0);
  -moz-transform: translate3d(100%, 0, 0);
  -ms-transform: translate(100%, 0);
  -ms-transform: translate3d(100%, 0, 0);
  -o-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0; }
  .right-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

ul.off-canvas-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  ul.off-canvas-list li label {
    background: #444444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    display: block;
    font-size: 0.75rem;
    font-weight: bold;
    margin: 0;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase; }
  ul.off-canvas-list li a {
    border-bottom: 1px solid #262626;
    color: rgba(255, 255, 255, 0.7);
    display: block;
    padding: 0.66667rem;
    transition: background 300ms ease; }
    ul.off-canvas-list li a:hover {
      background: #242424; }
    ul.off-canvas-list li a:active {
      background: #242424; }

.move-right > .inner-wrap {
  -webkit-transform: translate3d(15.625rem, 0, 0);
  -moz-transform: translate3d(15.625rem, 0, 0);
  -ms-transform: translate(15.625rem, 0);
  -ms-transform: translate3d(15.625rem, 0, 0);
  -o-transform: translate3d(15.625rem, 0, 0);
  transform: translate3d(15.625rem, 0, 0); }

.move-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .move-right .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.move-left > .inner-wrap {
  -webkit-transform: translate3d(-15.625rem, 0, 0);
  -moz-transform: translate3d(-15.625rem, 0, 0);
  -ms-transform: translate(-15.625rem, 0);
  -ms-transform: translate3d(-15.625rem, 0, 0);
  -o-transform: translate3d(-15.625rem, 0, 0);
  transform: translate3d(-15.625rem, 0, 0); }

.move-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .move-left .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-left .right-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap-left .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.offcanvas-overlap-right .left-off-canvas-menu {
  -ms-transform: none;
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  transform: none;
  z-index: 1003; }

.offcanvas-overlap-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(255, 255, 255, 0.2);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 40.0625em) {
    .offcanvas-overlap-right .exit-off-canvas:hover {
      background: rgba(255, 255, 255, 0.05); } }

.no-csstransforms .left-off-canvas-menu {
  left: -15.625rem; }

.no-csstransforms .right-off-canvas-menu {
  right: -15.625rem; }

.no-csstransforms .move-left > .inner-wrap {
  right: 15.625rem; }

.no-csstransforms .move-right > .inner-wrap {
  left: 15.625rem; }

.left-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  z-index: 1002;
  -webkit-transform: translate3d(-100%, 0, 0);
  -moz-transform: translate3d(-100%, 0, 0);
  -ms-transform: translate(-100%, 0);
  -ms-transform: translate3d(-100%, 0, 0);
  -o-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease; }
  .left-submenu * {
    -webkit-backface-visibility: hidden; }
  .left-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .left-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    .left-submenu .back > a:before {
      content: "\AB";
      margin-right: .5rem;
      display: inline; }
  .left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0%, 0, 0);
    -moz-transform: translate3d(0%, 0, 0);
    -ms-transform: translate(0%, 0);
    -ms-transform: translate3d(0%, 0, 0);
    -o-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0); }

.right-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: #333333;
  bottom: 0;
  box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 15.625rem;
  z-index: 1002;
  -webkit-transform: translate3d(100%, 0, 0);
  -moz-transform: translate3d(100%, 0, 0);
  -ms-transform: translate(100%, 0);
  -ms-transform: translate3d(100%, 0, 0);
  -o-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
  -webkit-transition: -webkit-transform 500ms ease;
  -moz-transition: -moz-transform 500ms ease;
  -ms-transition: -ms-transform 500ms ease;
  -o-transition: -o-transform 500ms ease;
  transition: transform 500ms ease; }
  .right-submenu * {
    -webkit-backface-visibility: hidden; }
  .right-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    .right-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    .right-submenu .back > a:after {
      content: "\BB";
      margin-left: .5rem;
      display: inline; }
  .right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0%, 0, 0);
    -moz-transform: translate3d(0%, 0, 0);
    -ms-transform: translate(0%, 0);
    -ms-transform: translate3d(0%, 0, 0);
    -o-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0); }

.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
  content: "\BB";
  margin-left: .5rem;
  display: inline; }

.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
  content: "\AB";
  margin-right: .5rem;
  display: inline; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
       * Print styles.
       *
       * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
       * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
      */
.print-only {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: #000000 !important;
    /* Black prints faster: h5bp.com/s */
    text-shadow: none !important; }
  .show-for-print {
    display: block; }
  .hide-for-print {
    display: none; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group;
    /* h5bp.com/t */ }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: .5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .hide-on-print {
    display: none !important; }
  .print-only {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  .show-for-print {
    display: inherit !important; } }

/* Print visibility */
@media print {
  .show-for-print {
    display: block; }
  .hide-for-print {
    display: none; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; } }

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

/*
 =======================================================================================================================
 Default WordPress-centric Styles

 This is included automatically by app.scss and editor.css and is used to add support for basic WordPress components.
 Generally, you shouldn't need to modify this file.

 Instead, create your own styles in _custom.scss and, if needed, remove the "wordpress" import from app.scss to prevent
 this file from being loaded.
 =======================================================================================================================
*/
/*
=============================
 DOCUMENT RIGHT MARGIN FIX
=============================
*/
#frame {
  overflow: hidden; }

/*
=============================
 IMAGES CORRECTION
=============================
*/
.wp-caption {
  max-width: 100%; }

/*
=============================
 ALIGNMENT
=============================
*/
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.alignleft {
  display: inline;
  float: left;
  margin-right: 1em; }

.alignright {
  display: inline;
  float: right;
  margin-left: 1em; }

/*
=============================
 FOUNDATION COMPATIBILITY
=============================
*/
/* This helps ensure that Foundation's special ".sticky" class will not interfere with the WP admin bar. */
.admin-bar .snap-to-top.fixed {
  top: 28px; }

.no-margin-top {
  margin-top: 0px; }

.xs-margin-top {
  margin-top: 10px; }

.sm-margin-top {
  margin-top: 20px; }

.md-margin-top {
  margin-top: 30px; }

.lg-margin-top {
  margin-top: 40px; }

.xl-margin-top {
  margin-top: 50px; }

.no-margin-left {
  margin-left: 0px; }

.xs-margin-left {
  margin-left: 10px; }

.sm-margin-left {
  margin-left: 20px; }

.md-margin-left {
  margin-left: 30px; }

.lg-margin-left {
  margin-left: 40px; }

.xl-margin-left {
  margin-left: 50px; }

.no-margin-right {
  margin-right: 0px; }

.xs-margin-right {
  margin-right: 10px; }

.sm-margin-right {
  margin-right: 20px; }

.md-margin-right {
  margin-right: 30px; }

.lg-margin-right {
  margin-right: 40px; }

.xl-margin-right {
  margin-right: 50px; }

.no-margin-bottom {
  margin-bottom: 0px; }

.xs-margin-bottom {
  margin-bottom: 10px; }

.sm-margin-bottom {
  margin-bottom: 20px; }

.md-margin-bottom {
  margin-bottom: 30px; }

.lg-margin-bottom {
  margin-bottom: 40px; }

.xl-margin-bottom {
  margin-bottom: 50px; }

.no-padding-top {
  padding-top: 0px; }

.xs-padding-top {
  padding-top: 10px; }

.sm-padding-top {
  padding-top: 20px; }

.md-padding-top {
  padding-top: 30px; }

.lg-padding-top {
  padding-top: 40px; }

.xl-padding-top {
  padding-top: 50px; }

.no-padding-left {
  padding-left: 0px; }

.xs-padding-left {
  padding-left: 10px; }

.sm-padding-left {
  padding-left: 20px; }

.md-padding-left {
  padding-left: 30px; }

.lg-padding-left {
  padding-left: 40px; }

.xl-padding-left {
  padding-left: 50px; }

.no-padding-right {
  padding-right: 0px; }

.xs-padding-right {
  padding-right: 10px; }

.sm-padding-right {
  padding-right: 20px; }

.md-padding-right {
  padding-right: 30px; }

.lg-padding-right {
  padding-right: 40px; }

.xl-padding-right {
  padding-right: 50px; }

.no-padding-bottom {
  padding-bottom: 0px; }

.xs-padding-bottom {
  padding-bottom: 10px; }

.sm-padding-bottom {
  padding-bottom: 20px; }

.md-padding-bottom {
  padding-bottom: 30px; }

.lg-padding-bottom {
  padding-bottom: 40px; }

.xl-padding-bottom {
  padding-bottom: 50px; }

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

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

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

@keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

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

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp; }

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

.text {
  font-family: "brownlight", "HelveticaNeue", Helvetica, Arial, sans-serif;
  font-size: 100%;
  color: #777; }

.border-button {
  font-family: "aalborgregular", "HelveticaNeue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  display: inline-block;
  color: #d2c081;
  border: 1px solid #d2c081;
  padding: 7px 40px;
  border-radius: 5px;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative; }
  .border-button:after {
    width: 100%;
    height: 0;
    top: 0;
    left: 0;
    background: #d2c081;
    content: '';
    position: absolute;
    z-index: -1;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
  .border-button:focus, .border-button:hover, .border-button.active {
    color: white; }
  .border-button:hover:after, .border-button.active:after {
    height: 100%; }
  .border-button.block-button {
    display: block;
    text-align: center; }
  .border-button.larger-button {
    padding: 10px; }

.btn-list .border-button:hover {
  color: white !important; }

.btn-list .border-button:focus, .btn-list .border-button.active {
  color: #d2c081; }

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

.frontpage-basis-grid {
  position: relative; }
  .frontpage-basis-grid .square-link {
    top: initial;
    bottom: -30px; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .frontpage-basis-grid .square-link {
      top: inherit !important;
      bottom: -30px !important; } }
  .frontpage-basis-grid .grid-col-item {
    width: 100%;
    float: left; }
    @media only screen and (min-width: 40.0625em) {
      .frontpage-basis-grid .grid-col-item {
        width: 50%; } }
  .frontpage-basis-grid .grid-item {
    background-color: #f6f6f6;
    width: 100%;
    text-align: center;
    float: left;
    height: 100vw; }
    @media only screen and (min-width: 40.0625em) {
      .frontpage-basis-grid .grid-item {
        height: 25vw; } }
  @media only screen and (min-width: 40.0625em) {
    .frontpage-basis-grid .grid-col-item:first-child .grid-item:nth-child(1),
    .frontpage-basis-grid .grid-col-item:first-child .grid-item:nth-child(2) {
      width: 50%; } }
  .frontpage-basis-grid .grid-col-item:first-child .grid-item:nth-child(3) {
    width: 100%; }
  .frontpage-basis-grid .grid-col-item:nth-child(2) .grid-item:nth-child(1) {
    width: 100%; }
    @media only screen and (min-width: 40.0625em) {
      .frontpage-basis-grid .grid-col-item:nth-child(2) .grid-item:nth-child(1) {
        height: 50vw; } }

.frontpage-basis-grid-promoted {
  overflow: hidden;
  margin-bottom: 100px; }
  .frontpage-basis-grid-promoted .grid-item {
    height: 100vw; }
  @media only screen and (min-width: 40.0625em) {
    .frontpage-basis-grid-promoted .grid-item {
      height: 25vw; } }
  @media only screen and (min-width: 40.0625em) {
    .frontpage-basis-grid-promoted .grid-col-item:nth-child(1),
    .frontpage-basis-grid-promoted .grid-col-item:nth-child(2) {
      width: 50%;
      float: left; } }
  @media only screen and (min-width: 40.0625em) {
    .frontpage-basis-grid-promoted .grid-col-item:nth-child(2) .grid-item {
      width: 50%;
      float: left; } }

.frontpage-basis-grid-promoted .grid-item-content {
  padding: 0 10px; }

.frontpage-basis-grid-promoted .grid-item-overlay {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 5;
  left: 0px;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  opacity: 1; }
  .frontpage-basis-grid-promoted .grid-item-overlay:hover {
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    opacity: 1; }

.hero-grid {
  display: flex;
  padding: 10px;
  font-size: calc(16px + 6 * ((100vw - 320px) / 680)); }
  @media screen and (max-width: 640px) {
    .hero-grid {
      display: block; } }
  .hero-grid__column {
    flex: 1;
    padding: 10px; }
  .hero-grid__row {
    display: flex; }
    .hero-grid__row + .hero-grid__row {
      margin-top: 20px; }
  .hero-grid__item {
    flex: 1;
    overflow: hidden;
    position: relative; }
    .hero-grid__item + .hero-grid__item {
      margin-left: 20px; }
    .hero-grid__item__link {
      position: absolute;
      height: 100%;
      width: 100%;
      top: 0;
      left: 0;
      z-index: 1; }
    .hero-grid__item__image {
      position: absolute;
      height: 100%;
      width: 100%;
      top: 0;
      left: 0;
      background: no-repeat center center;
      background-size: cover;
      z-index: 0;
      transition: transform .25s linear; }
    .hero-grid__item:hover .hero-grid__item__image {
      transform: scale(1.1); }
    .hero-grid__item__text-wrapper {
      color: white;
      text-transform: uppercase;
      position: absolute;
      padding: 20px;
      bottom: 0;
      left: 0; }
    .hero-grid__item__heading {
      font-family: aalborgregular;
      font-size: 1.25em;
      line-height: 1;
      color: inherit; }
    .hero-grid__item__subheading {
      font-family: inherit;
      font-size: 0.7em;
      color: inherit;
      font-weight: normal; }
    .hero-grid__item.item-1 {
      padding-top: 58%; }
    .hero-grid__item.item-2 {
      padding-top: 58%;
      overflow: visible; }
      .hero-grid__item.item-2 .video-wrapper {
        position: absolute;
        top: 0;
        height: 100%;
        left: 50%;
        transform: translateX(-50%); }
        .hero-grid__item.item-2 .video-wrapper video {
          height: 100%; }
    .hero-grid__item.item-3 {
      padding-top: 58%; }
    .hero-grid__item.item-4 {
      padding-top: 50%; }
    .hero-grid__item.item-5 {
      padding-top: 66%; }

.photo-stack-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1; }

@keyframes polaroid-move-to-the-back {
  0% {
    z-index: 2;
    opacity: 1; }
  15% {
    opacity: 1; }
  30% {
    opacity: 0; }
  50% {
    transform: translateX(-120%) translateY(-10%); }
  80% {
    opacity: 0;
    transform: translate(0, 0) rotate(4deg); }
  51%, 100% {
    z-index: -1; }
  100% {
    opacity: 1; } }

.photo-stack-item {
  width: 100%;
  padding-top: 120%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0; }
  .photo-stack-item.move-to-the-back {
    animation: polaroid-move-to-the-back 1s forwards; }
  .photo-stack-item img {
    height: 100%;
    position: absolute;
    top: 50%;
    left: 54%;
    transform: translate(-50%, -50%); }

.photo-stack-item-1 {
  transform: rotate(-3deg); }

.photo-stack-item-2 {
  transform: rotate(5deg); }

.photo-stack-item-3 {
  transform: rotate(3deg); }

.photo-stack-item-4 {
  transform: rotate(-2deg); }

.pairings {
  padding-bottom: 80px; }
  @media screen and (max-width: 640px) {
    .pairings .mobile-hide {
      display: none !important; } }
  .pairings .mobile-only {
    display: none !important; }
    @media screen and (max-width: 640px) {
      .pairings .mobile-only {
        display: flex !important; } }
  .pairings__header {
    text-align: center;
    padding: 130px 0;
    background: no-repeat center center;
    background-size: cover;
    font-size: calc(16px + 6 * ((100vw - 320px) / 680));
    margin-bottom: 50px; }
    @media screen and (max-width: 640px) {
      .pairings__header {
        padding: 80px 0; } }
    .pairings__header__headline {
      font-family: aalborgregular;
      line-height: 1.3;
      color: white;
      font-size: 1.25em;
      text-shadow: #000 1px 0 30px; }
      .pairings__header__headline .highlight {
        color: #cfc089;
        display: block;
        font-size: 1.15em; }

.pairing-wrapper {
  padding: 80px 0 100px; }
  @media screen and (max-width: 640px) {
    .pairing-wrapper {
      padding-bottom: 30px; } }
  .pairing-wrapper:nth-of-type(even) {
    position: relative; }
    .pairing-wrapper:nth-of-type(even) .pairing-inner-row:first-child {
      flex-direction: row-reverse; }
  .pairing-wrapper .pairing-inner-row {
    display: flex;
    position: relative; }
    .pairing-wrapper .pairing-inner-row .pairing-column {
      height: 280px;
      flex: 1;
      position: relative; }
      .pairing-wrapper .pairing-inner-row .pairing-column__headline {
        font-family: aalborgregular;
        line-height: 1;
        padding: 0 20px;
        transform: translateY(-55%);
        text-shadow: #f9f7ef 1px 0 30px; }
      .pairing-wrapper .pairing-inner-row .pairing-column.dish {
        width: 40%;
        background: no-repeat center center;
        background-size: cover; }
      .pairing-wrapper .pairing-inner-row .pairing-column.pairing-product {
        transform: translateY(20px);
        background-color: #f9f7ef; }
        .pairing-wrapper .pairing-inner-row .pairing-column.pairing-product .pairing-column__headline {
          font-size: 1.6rem;
          color: #cfc089;
          text-align: center;
          position: relative;
          top: 100%;
          transform: translateY(-75%);
          transition: transform .15s linear; }
        .pairing-wrapper .pairing-inner-row .pairing-column.pairing-product .pairing-product-image {
          height: 120%;
          position: absolute;
          bottom: 0;
          left: 0;
          right: 0;
          margin: auto;
          transition: transform .15s linear; }
      .pairing-wrapper .pairing-inner-row .pairing-column .recipe-button {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 85%);
        transition: transform .15s linear, opacity .15s linear;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: center; }
        @media screen and (max-width: 640px) {
          .pairing-wrapper .pairing-inner-row .pairing-column .recipe-button {
            color: white;
            transform: translate(-50%, -120%); } }
        .pairing-wrapper .pairing-inner-row .pairing-column .recipe-button:hover .button-icon {
          transform: scale(1.05); }
        .pairing-wrapper .pairing-inner-row .pairing-column .recipe-button .button-icon {
          width: 50px;
          height: 50px;
          border: 2px solid;
          border-radius: 50%;
          transition: transform .15s linear;
          position: relative; }
          .pairing-wrapper .pairing-inner-row .pairing-column .recipe-button .button-icon::before, .pairing-wrapper .pairing-inner-row .pairing-column .recipe-button .button-icon::after {
            content: '';
            width: 20px;
            border: 1px solid;
            position: absolute;
            top: 50%;
            right: calc(50% - 20px); }
          .pairing-wrapper .pairing-inner-row .pairing-column .recipe-button .button-icon::before {
            transform: translate(-50%, -50%) rotate(90deg); }
          .pairing-wrapper .pairing-inner-row .pairing-column .recipe-button .button-icon::after {
            transform: translate(-50%, -50%); }
        .pairing-wrapper .pairing-inner-row .pairing-column .recipe-button .button-text {
          text-transform: uppercase;
          font-size: 14px;
          padding-top: 8px; }
    .pairing-wrapper .pairing-inner-row.recipe-row {
      display: block;
      height: 0;
      overflow: hidden;
      transition: height .25s linear;
      z-index: 1; }
      @media screen and (max-width: 640px) {
        .pairing-wrapper .pairing-inner-row.recipe-row {
          z-index: 0;
          margin-top: -10px;
          margin-bottom: -20px; } }
    .pairing-wrapper .pairing-inner-row .recipe-wrapper {
      font-family: "brownlight"; }
      .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-intro-line {
        background-color: #e5e5e5;
        font-size: 1.4rem;
        line-height: 1.3;
        padding: 15px 50px; }
      .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body {
        background-color: #f2f2f2;
        display: flex; }
        @media screen and (max-width: 640px) {
          .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body {
            flex-direction: column;
            padding-bottom: 20px; } }
        .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body .recipe-body__column {
          padding: 20px 50px; }
          .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body .recipe-body__column .headline {
            font-family: "brownbold";
            padding-bottom: 8px; }
          .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body .recipe-body__column ul, .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body .recipe-body__column ol {
            list-style-type: none;
            margin: 0;
            line-height: 1.1;
            counter-reset: item; }
          .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body .recipe-body__column ol li:before {
            margin-right: 10px;
            content: counter(item);
            font-family: "brownbold";
            display: inline-block; }
          .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body .recipe-body__column li {
            padding-bottom: 10px;
            counter-increment: item;
            display: flex; }
        .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body .left-column {
          width: 40%;
          flex-shrink: 0; }
          @media screen and (max-width: 640px) {
            .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body .left-column {
              width: 100%; } }
        .pairing-wrapper .pairing-inner-row .recipe-wrapper .recipe-body .right-column {
          flex-grow: 1; }
  .pairing-wrapper:not(.active) .pairing-inner-row.recipe-row {
    height: 0 !important; }
  .pairing-wrapper.active .recipe-button {
    transform: translate(-50%, 150%);
    opacity: 0; }
  .pairing-wrapper.active .pairing-inner-row .pairing-column.pairing-product.mobile-hide .pairing-product-image {
    transform: translateY(-5%) scale(0.98); }
  .pairing-wrapper.active .pairing-inner-row .pairing-column.pairing-product.mobile-hide .pairing-column__headline {
    transform: translateY(-160%) scale(0.8); }
  .pairing-wrapper__video {
    padding: 40px 10%; }
    @media screen and (max-width: 640px) {
      .pairing-wrapper__video {
        padding: 60px 0 130px; } }
    .pairing-wrapper__video__panel {
      position: relative;
      min-height: 280px;
      padding: 70px 60% 20px 20px;
      font-family: aalborgregular;
      font-size: 2rem;
      cursor: pointer; }
      @media screen and (max-width: 640px) {
        .pairing-wrapper__video__panel {
          padding: 50px ​20px 20px; } }
      .pairing-wrapper__video__panel span {
        color: #cfc089;
        display: block;
        font-size: 1.6rem; }
      .pairing-wrapper__video__panel:before {
        content: '';
        position: absolute;
        width: 70%;
        height: 100%;
        left: 0;
        top: 0;
        background-color: #f9f7ef;
        z-index: -1; }
        @media screen and (max-width: 640px) {
          .pairing-wrapper__video__panel:before {
            width: 100%; } }
    .pairing-wrapper__video__image {
      max-width: 60%;
      max-height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      transform: translate(20px, -20px); }
      @media screen and (max-width: 640px) {
        .pairing-wrapper__video__image {
          max-width: 100%;
          top: unset;
          bottom: 0;
          transform: translate(20px, 50%); } }

.basis-grid-pack {
  position: relative;
  margin-bottom: 100px; }
  .basis-grid-pack .basis-grid-pack-wrapper {
    position: relative;
    margin-bottom: 100px; }
  .basis-grid-pack .square-link {
    top: inherit;
    bottom: -30px; }
  .basis-grid-pack .grid-item {
    position: relative;
    text-align: center;
    display: block;
    position: relative;
    width: 100%;
    height: 100vw; }
    @media only screen and (min-width: 64.0625em) {
      .basis-grid-pack .grid-item {
        height: 25vw;
        width: 25%;
        float: left; } }

.basis-grid-pack.basis-grid-pack-style-one .grid-col-item:nth-child(1),
.basis-grid-pack.basis-grid-pack-style-one .grid-col-item:nth-child(2) {
  width: 100%; }
  @media only screen and (min-width: 64.0625em) {
    .basis-grid-pack.basis-grid-pack-style-one .grid-col-item:nth-child(1),
    .basis-grid-pack.basis-grid-pack-style-one .grid-col-item:nth-child(2) {
      width: 50%;
      float: left; } }

@media only screen and (min-width: 64.0625em) {
  .basis-grid-pack.basis-grid-pack-style-one .grid-col-item:nth-child(1) .grid-item:nth-child(1),
  .basis-grid-pack.basis-grid-pack-style-one .grid-col-item:nth-child(1) .grid-item:nth-child(2) {
    width: 50%; } }

.basis-grid-pack.basis-grid-pack-style-one .grid-col-item:nth-child(1) .grid-item:nth-child(3) {
  width: 100%; }

.basis-grid-pack.basis-grid-pack-style-one .grid-col-item:nth-child(2) .grid-item:nth-child(1) {
  width: 100%; }
  @media only screen and (min-width: 64.0625em) {
    .basis-grid-pack.basis-grid-pack-style-one .grid-col-item:nth-child(2) .grid-item:nth-child(1) {
      height: 50vw; } }

.basis-grid-pack.basis-grid-pack-style-two .grid-col-item:nth-child(1),
.basis-grid-pack.basis-grid-pack-style-two .grid-col-item:nth-child(2) {
  width: 100%; }
  @media only screen and (min-width: 64.0625em) {
    .basis-grid-pack.basis-grid-pack-style-two .grid-col-item:nth-child(1),
    .basis-grid-pack.basis-grid-pack-style-two .grid-col-item:nth-child(2) {
      width: 50%;
      float: left; } }

.basis-grid-pack.basis-grid-pack-style-two .grid-col-item:nth-child(1) .grid-item:nth-child(1) {
  width: 100%; }
  @media only screen and (min-width: 64.0625em) {
    .basis-grid-pack.basis-grid-pack-style-two .grid-col-item:nth-child(1) .grid-item:nth-child(1) {
      height: 50vw; } }

.basis-grid-pack.basis-grid-pack-style-two .grid-col-item:nth-child(2) .grid-item:nth-child(1) {
  width: 100%; }

@media only screen and (min-width: 64.0625em) {
  .basis-grid-pack.basis-grid-pack-style-two .grid-col-item:nth-child(2) .grid-item:nth-child(2),
  .basis-grid-pack.basis-grid-pack-style-two .grid-col-item:nth-child(2) .grid-item:nth-child(3) {
    width: 50%; } }

.basis-grid-pack-intro {
  text-align: center;
  padding: 0 20px;
  margin: 40px 0 50px 0; }
  .basis-grid-pack-intro .basis-grid-pack-intro-title {
    font-family: "aalborgregular", "Helvetica", Arial, sans-serif;
    font-size: 2em;
    text-transform: uppercase;
    color: #CCCCCC; }
    @media only screen and (min-width: 64.0625em) {
      .basis-grid-pack-intro .basis-grid-pack-intro-title {
        font-size: 56px; } }
  .basis-grid-pack-intro .basis-grid-pack-intro-desc {
    font-family: "brownlight"; }

ul.recipe-list-others {
  display: none;
  width: 100%;
  list-style: none;
  margin: 0px;
  padding: 0px;
  text-align: center;
  border-top: 1px solid #eee; }
  ul.recipe-list-others li a {
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
    display: block;
    padding: 20px 10px;
    border-bottom: 1px solid #eee;
    color: black; }
    ul.recipe-list-others li a .recipe-list-others-title {
      font-family: "aalborgregular", "HelveticaNeue", Helvetica, Arial, sans-serif;
      font-size: 22px;
      text-transform: uppercase; }
    ul.recipe-list-others li a .recipe-list-others-text {
      font-family: "brownlight"; }
    ul.recipe-list-others li a:hover {
      -moz-transition: all 0.1s ease-in-out;
      -o-transition: all 0.1s ease-in-out;
      -webkit-transition: all 0.1s ease-in-out;
      transition: all 0.1s ease-in-out;
      background-color: #d2c081;
      color: white; }

.hero-full-width__wrapper {
  min-height: calc(90vh - 100px);
  font-size: calc(16px + 6 * ((100vw - 320px) / 680));
  position: relative;
  padding: 40px 50px;
  margin: 20px 20px 0;
  overflow: hidden; }
  .hero-full-width__wrapper__inner {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }
    .hero-full-width__wrapper__inner__slide {
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: absolute;
      left: 0;
      top: 0;
      transform: translateX(200%);
      background: no-repeat center center;
      background-size: cover;
      overflow: hidden; }
      .hero-full-width__wrapper__inner__slide:first-child {
        transform: translateX(0); }
      .hero-full-width__wrapper__inner__slide:nth-child(2) {
        transform: translateX(100%); }
      .hero-full-width__wrapper__inner__slide video {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        z-index: 0; }
        @media screen and (max-width: 640px) {
          .hero-full-width__wrapper__inner__slide video {
            width: auto;
            height: 100%; } }
    .hero-full-width__wrapper__inner.change-slide {
      transform: translateX(-100%);
      transition: transform 1s ease-in-out; }

.hero-full-width__title {
  font-family: aalborgregular;
  line-height: 1.3;
  color: white;
  font-size: 2em;
  text-shadow: #000 1px 0 30px;
  text-align: center;
  position: relative; }

.hero-full-width__logo {
  height: 7em;
  margin-bottom: 2em; }

.hero-full-width__link-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0; }

.lodge-page {
  font-size: calc(16px + 6 * ((100vw - 320px) / 680));
  font-family: brownlight; }
  .lodge-page__header {
    height: 60vh;
    margin: 20px 20px 0;
    position: relative;
    margin-bottom: 50px; }
    .lodge-page__header__content {
      position: absolute;
      left: 0;
      top: 0;
      right: 0; }
      .lodge-page__header__content-inner {
        width: 60%; }
        .lodge-page__header__content-inner h2 {
          font-size: 18px;
          line-height: 1.3;
          color: white;
          text-shadow: #000 1px 0 30px; }
        .lodge-page__header__content-inner h1 {
          font-size: 26px;
          line-height: 1.3;
          color: white;
          text-shadow: #000 1px 0 30px; }
    .lodge-page__header__bg {
      width: 100%; }
    .lodge-page__header__logo {
      height: 4em;
      margin: 1em auto;
      display: inherit; }
    .lodge-page__header__video-wrapper {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      overflow: hidden; }
      .lodge-page__header__video-wrapper video {
        width: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
        @media screen and (max-width: 640px) {
          .lodge-page__header__video-wrapper video {
            width: auto;
            height: 100%; } }
  .lodge-page__myo__wrapper {
    position: relative;
    font-size: calc(16px + 6 * ((100vw - 320px) / 680));
    background-color: #ece7e0;
    margin: 20px auto;
    padding: 26px 40px 40px 240px; }
    @media screen and (max-width: 640px) {
      .lodge-page__myo__wrapper {
        width: calc(100% - 40px);
        padding: 20px;
        margin: 20px; } }
  .lodge-page__myo__image {
    position: absolute;
    left: -50px;
    top: 0px;
    width: 260px; }
    @media screen and (max-width: 640px) {
      .lodge-page__myo__image {
        opacity: .1; } }
  .lodge-page__myo__title {
    font-family: aalborgregular;
    font-size: 1.2em;
    text-transform: uppercase; }
  .lodge-page__myo__list {
    list-style: none;
    counter-reset: myo-item;
    margin: 0;
    font-family: brownlight;
    font-size: 16px;
    line-height: 18px; }
    .lodge-page__myo__list li {
      counter-increment: myo-item;
      min-height: 45px;
      padding-left: 0;
      position: relative; }
  @media screen and (max-width: 640px) {
    .lodge-page__episodes {
      padding: 0 20px; } }
  .lodge-page__episodes__item-inner {
    display: flex; }
    @media screen and (max-width: 640px) {
      .lodge-page__episodes__item-inner {
        flex-direction: column-reverse; } }
  .lodge-page__episodes__item__title {
    line-height: 1.1;
    font-size: 16px;
    padding-bottom: 0;
    font-family: aalborgregular; }
  .lodge-page__episodes__item__headline {
    font-size: 42px;
    margin-bottom: 15px;
    font-family: aalborgregular; }
  .lodge-page__episodes__item__subheadline {
    font-size: 16px;
    font-weight: bold; }
    @media screen and (max-width: 640px) {
      .lodge-page__episodes__item__subheadline {
        margin-top: 20px; } }
  .lodge-page__episodes__item__description {
    font-size: 16px;
    line-height: 18px; }
  .lodge-page__episodes__item__open-video {
    color: white;
    font-size: 20px;
    margin-top: 40px;
    cursor: pointer;
    display: inline-block;
    background-color: #cfc089;
    padding: 5px 20px 8px;
    border-radius: 5px; }
    @media screen and (max-width: 640px) {
      .lodge-page__episodes__item__open-video {
        margin-top: 20px; } }
    .lodge-page__episodes__item__open-video span {
      position: relative;
      top: -1px;
      margin-left: 20px;
      width: 0;
      height: 0;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
      border-left: 6px solid white;
      display: inline-block; }
  .lodge-page__episodes__item-half {
    width: 50%; }
    @media screen and (max-width: 640px) {
      .lodge-page__episodes__item-half {
        width: 100%; } }
    .lodge-page__episodes__item-half:first-child {
      padding-right: 20px; }
  .lodge-page .lodge-video-modal {
    position: fixed;
    z-index: 20;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.6);
    display: none; }
    .lodge-page .lodge-video-modal.active {
      display: block; }
    .lodge-page .lodge-video-modal__panel {
      max-width: 80%;
      width: 940px;
      padding: 20px;
      border-radius: 10px;
      background-color: white;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      padding-top: 40%; }
      .lodge-page .lodge-video-modal__panel__inner {
        position: absolute;
        width: 100%;
        height: 100%;
        padding: 20px;
        left: 0;
        top: 0; }
        .lodge-page .lodge-video-modal__panel__inner iframe {
          width: 100%;
          height: 100%; }
      .lodge-page .lodge-video-modal__panel-close {
        width: 40px;
        height: 40px;
        position: absolute;
        top: 0;
        right: 0;
        background-color: #ece7e0;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        transform: translate(50%, -50%);
        cursor: pointer; }
    .lodge-page .lodge-video-modal__underlayer {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: -1; }

.lodge-page__gallery__title {
  font-family: aalborgregular;
  font-size: 1.2em;
  text-transform: uppercase;
  padding: 20px;
  line-height: 1; }

#envira-gallery-wrap-1184, #envira-gallery-wrap-1208 {
  padding: 0 10px; }

.envirabox-title-over {
  display: none !important; }

.mobile-distillery__header {
  min-height: 40vh;
  margin: 20px 20px 0;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  margin-bottom: 20px;
  display: flex; }
  .mobile-distillery__header__content {
    display: flex;
    align-items: center; }
    .mobile-distillery__header__content-inner {
      width: 60%;
      padding: 0 20px 40px; }
      @media screen and (max-width: 640px) {
        .mobile-distillery__header__content-inner {
          width: 100%; } }
      .mobile-distillery__header__content-inner h2 {
        font-size: 18px;
        line-height: 1.3;
        font-family: brownbold; }
      .mobile-distillery__header__content-inner h1 {
        font-family: aalborgregular;
        font-size: 36px;
        line-height: 1.3;
        margin-top: 40px; }
        @media screen and (max-width: 640px) {
          .mobile-distillery__header__content-inner h1 {
            font-size: 2rem; } }
    .mobile-distillery__header__content__graphic {
      width: 40%;
      height: 80%;
      position: relative;
      padding-top: 40px;
      margin-left: 10%;
      bottom: -20px;
      display: none; }

.mobile-distillery__content {
  padding: 30px 0; }
  .mobile-distillery__content-section {
    font-family: brownlight;
    padding-bottom: 40px; }
    @media screen and (max-width: 640px) {
      .mobile-distillery__content-section {
        margin-left: 20px;
        margin-right: 20px; } }
  .mobile-distillery__content-truck-locations {
    margin-bottom: 70px;
    padding: 20px 40px 40px;
    background-color: #e5e5e5; }
    @media screen and (max-width: 640px) {
      .mobile-distillery__content-truck-locations {
        padding-left: 20px;
        padding-right: 20px;
        margin-left: 20px;
        margin-right: 20px; } }
    .mobile-distillery__content-truck-locations__title {
      font-family: aalborgregular;
      font-size: 26px;
      margin-bottom: 10px; }
    .mobile-distillery__content-truck-locations__inner {
      display: flex; }
      @media screen and (max-width: 640px) {
        .mobile-distillery__content-truck-locations__inner {
          flex-direction: column; } }
    .mobile-distillery__content-truck-locations__legend {
      margin-top: -60px;
      padding-left: 50%; }
      @media screen and (max-width: 640px) {
        .mobile-distillery__content-truck-locations__legend {
          padding-left: 20px;
          padding-right: 20px; } }
      .mobile-distillery__content-truck-locations__legend--item {
        font-size: 16px;
        padding-bottom: 10px; }
        .mobile-distillery__content-truck-locations__legend--item .mobile-distillery__content__map--pin {
          position: relative;
          float: left;
          top: 2px;
          margin-right: 6px; }
        .mobile-distillery__content-truck-locations__legend--item.event {
          color: #cd1833; }
  .mobile-distillery__content__map {
    width: 50%;
    position: relative;
    margin-bottom: -110px; }
    @media screen and (max-width: 640px) {
      .mobile-distillery__content__map {
        width: 100%;
        margin-bottom: -10px; } }
    .mobile-distillery__content__map__wrapper {
      position: relative; }
    .mobile-distillery__content__map--pin {
      width: 23px;
      height: 23px;
      border-radius: 50%;
      background-color: #000;
      position: absolute;
      transition: background-color .15s linear; }
      .mobile-distillery__content__map--pin.event {
        background-color: #cd1833; }

@keyframes ripple {
  0% {
    box-shadow: 0 0 0 0 rgba(210, 193, 136, 0), 0 0 0 20px rgba(210, 193, 136, 0.18); }
  100% {
    box-shadow: 0 0 0 20px rgba(210, 193, 136, 0.18), 0 0 0 30px rgba(210, 193, 136, 0); } }

@keyframes ripple-burst-animation {
  0% {
    box-shadow: 0 0 0 0 rgba(210, 193, 136, 0); }
  25% {
    box-shadow: 0 0 0 0 rgba(210, 193, 136, 0), 0 0 0 20px rgba(210, 193, 136, 0.18); }
  50% {
    box-shadow: 0 0 0 20px rgba(210, 193, 136, 0.18), 0 0 0 30px rgba(210, 193, 136, 0); }
  100% {
    box-shadow: 0 0 0 30px rgba(210, 193, 136, 0); } }
      .mobile-distillery__content__map--pin.active {
        background-color: #d2c188;
        animation: ripple 1s linear infinite, ripple-initial-burst-animation 1s linear;
        z-index: 1; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-1 {
        top: 3%;
        left: 50%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-2 {
        top: 23%;
        left: 12%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-3 {
        top: 46%;
        left: 47%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-4 {
        top: 52%;
        left: 82%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-5 {
        top: 51%;
        left: 84%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-6 {
        top: 52%;
        left: 87%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-7 {
        top: 61%;
        left: 92%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-8 {
        top: 69%;
        left: 56%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-9 {
        top: 82%;
        left: 47%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-10 {
        top: 62%;
        left: 40%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-11 {
        top: 26%;
        left: 10%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-12 {
        top: 21%;
        left: 14%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-13 {
        top: 59%;
        left: 91%; }
      .mobile-distillery__content__map--pin#mobile-distillery-pin-14 {
        top: 93%;
        left: 80%; }
  .mobile-distillery__content__locations {
    padding-top: 40px;
    padding-left: 20px; }
    @media screen and (max-width: 640px) {
      .mobile-distillery__content__locations {
        padding-top: 20px;
        padding-left: 0; } }
    .mobile-distillery__content__locations--table {
      background: transparent;
      border: none;
      margin-bottom: 0;
      table-layout: auto; }
      .mobile-distillery__content__locations--table tr.even, .mobile-distillery__content__locations--table tr.alt, .mobile-distillery__content__locations--table tr:nth-of-type(even) {
        background: transparent; }
    .mobile-distillery__content__locations--item {
      cursor: pointer; }
      .mobile-distillery__content__locations--item__title {
        font-size: 16px;
        line-height: 1.3;
        font-weight: bold;
        text-align: right;
        padding: 5px 10px 5px 0;
        font-family: brownbold; }
      .mobile-distillery__content__locations--item__description {
        font-size: 16px;
        line-height: 1.3;
        padding: 5px 0 5px 10px;
        font-family: brownlight; }

.recipe-display {
  position: relative; }
  .recipe-display .recipe-image {
    position: relative;
    height: 50vh;
    min-height: 400px;
    margin-bottom: 60px; }
    @media only screen and (min-width: 1441px) {
      .recipe-display .recipe-image {
        min-height: 800px; } }
    .recipe-display .recipe-image .header-text {
      position: absolute;
      right: 0;
      bottom: 60px;
      left: 0;
      color: #FFFFFF;
      z-index: 10;
      padding: 0 20px;
      font-family: brownlight;
      font-size: 14px; }
  .recipe-display .share-square {
    position: absolute;
    right: 0;
    bottom: -30px;
    left: 0;
    width: 60px;
    height: 60px;
    -moz-transition: all 300ms;
    -o-transition: all 300ms;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    font-family: brownlight;
    font-size: 14px;
    background: #d2c081;
    color: #FFFFFF;
    display: block;
    z-index: 11;
    margin: 0 auto; }
    .recipe-display .share-square > span {
      position: relative;
      top: 5px;
      display: block;
      text-align: center;
      color: #FFFFFF;
      padding: 0px; }
    .recipe-display .share-square:hover {
      -moz-transition: all 300ms;
      -o-transition: all 300ms;
      -webkit-transition: all 300ms;
      transition: all 300ms;
      background: #c5ad5b; }
      .recipe-display .share-square:hover span {
        color: #FFFFFF; }

.recipe-intro h1 {
  font-family: "aalborgregular", "HelveticaNeue", Helvetica, Arial, sans-serif;
  font-size: 1.5em;
  line-height: 1.2;
  text-transform: uppercase;
  text-align: center;
  color: #FFFFFF; }
  @media only screen and (min-width: 64.0625em) {
    .recipe-intro h1 {
      font-size: 2.8em; } }
  @media only screen and (min-width: 1441px) {
    .recipe-intro h1 {
      font-size: 4em; } }

.recipe-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 5; }

.recipe-icons {
  max-width: 150px; }

.cssgradients .recipe-display .recipe-image .recipe-overlay {
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%); }

.section-list {
  margin-bottom: 60px; }
  .section-list .recipe-text > p {
    font-family: "brownlight", "HelveticaNeue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #777777; }
  .section-list .recipe-icons {
    margin-bottom: 30px; }
  .section-list h2 {
    font-family: "aalborgregular", "HelveticaNeue", Helvetica, Arial, sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    text-align: center;
    margin: 30px 0 6px;
    line-height: 1.2; }
    @media only screen and (min-width: 64.0625em) {
      .section-list h2 {
        font-size: 21px; } }

.related-container {
  width: 100%;
  overflow: hidden; }
  .related-container .grid-item {
    display: block;
    position: relative;
    float: left;
    text-align: center;
    height: 25vw; }
  .related-container .grid-item:nth-child(1) {
    width: 100%;
    min-height: 300px; }
    @media only screen and (min-width: 64.0625em) {
      .related-container .grid-item:nth-child(1) {
        min-height: inherit;
        width: 50%; } }
  .related-container .grid-item:nth-child(2),
  .related-container .grid-item:nth-child(3) {
    width: 100%;
    min-height: 300px; }
    @media only screen and (min-width: 64.0625em) {
      .related-container .grid-item:nth-child(2),
      .related-container .grid-item:nth-child(3) {
        min-height: inherit;
        width: 25%; } }

.page-template-recipe-archive .recipe-mood-icon {
  max-width: 150px; }

@media only screen and (max-width: 40em) {
  .btn-list .small-4 {
    width: 100%;
    margin-bottom: 10px; } }

.home .products {
  position: relative;
  margin-bottom: 100px;
  /* IE10+ position fixed*/ }
  .home .products .square-link {
    top: initial;
    bottom: -30px; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .home .products .square-link {
      top: inherit !important;
      bottom: -30px !important; } }

.blur-overlay,
.data-overlay {
  display: none; }

@media only screen and (min-width: 64.0625em) {
  .home .product-item.active-state .blur-overlay,
  .home .product-item.active-state .data-overlay {
    display: block !important; } }

.home .products .item {
  position: relative;
  display: block;
  word-wrap: break-word; }
  @media only screen and (min-width: 64.0625em) {
    .home .products .item .blur-overlay,
    .home .products .item .data-overlay {
      display: none;
      width: 100%;
      height: 100%; }
    .home .products .item .blur-overlay {
      position: absolute;
      top: 0px;
      right: 0;
      bottom: 0;
      left: 0;
      -moz-transition: all 200ms ease-in-out;
      -o-transition: all 200ms ease-in-out;
      -webkit-transition: all 200ms ease-in-out;
      transition: all 200ms ease-in-out;
      background: rgba(0, 0, 0, 0.5);
      z-index: 5; }
    .home .products .item .data-overlay {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 30px;
      left: 0;
      -moz-transition: all 200ms linear;
      -o-transition: all 200ms linear;
      -webkit-transition: all 200ms linear;
      transition: all 200ms linear;
      z-index: 10;
      padding: 30px 10px;
      color: #fff;
      text-align: center; }
    .home .products .item .center-vh {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center; }
    .home .products .item:hover img {
      -moz-transition: filter 100ms ease-in-out;
      -o-transition: filter 100ms ease-in-out;
      -webkit-transition: filter 100ms ease-in-out;
      transition: filter 100ms ease-in-out;
      -webkit-filter: blur(5px);
      -moz-filter: blur(5px);
      -o-filter: blur(5px);
      -ms-filter: blur(5px);
      filter: blur(5px); } }

.products .item {
  text-align: center; }
  .products .item .product-item-title {
    font-family: 'aalborgregular', 'Helvetica', Arial, sans-serif;
    font-size: 26px;
    line-height: 1.2;
    text-transform: uppercase; }
  .products .item .product-item-text {
    font-family: "brownlight", "HelveticaNeue", Helvetica, Arial, sans-serif; }
  .products .item .product-item-button {
    font-family: "aalborgregular", "HelveticaNeue", Helvetica, Arial, sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    display: inline-block;
    color: #d2c081;
    border: 1px solid #d2c081;
    padding: 7px 40px;
    border-radius: 5px;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: relative;
    margin-top: 30px; }
    .products .item .product-item-button:after {
      width: 100%;
      height: 0;
      top: 0;
      left: 0;
      background: #d2c081;
      content: '';
      position: absolute;
      z-index: -1;
      -moz-transition: all 0.3s;
      -o-transition: all 0.3s;
      -webkit-transition: all 0.3s;
      transition: all 0.3s; }
    .products .item .product-item-button:focus, .products .item .product-item-button:hover, .products .item .product-item-button.active {
      color: white; }
    .products .item .product-item-button:hover:after, .products .item .product-item-button.active:after {
      height: 100%; }
  .products .item .product-item-graph {
    margin-bottom: 30px;
    position: relative; }
    .products .item .product-item-graph .product-item-graph-label {
      position: absolute;
      top: 25px;
      right: 0;
      bottom: 0;
      left: 0;
      font-family: 'aalborgregular', 'Helvetica', Arial, sans-serif;
      font-size: 22px; }

/**/
/* Products frontpage*/
/**/
/* Occassions and Products */
.occassions,
.products {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.product-item {
  display: block;
  width: 100%; }

#product-item-0 {
  background-color: #e6e6e6; }

#product-item-0,
#product-item-7 {
  height: 50vw; }

#product-item-2,
#product-item-6,
#product-item-4 {
  background-color: #f2f2f2; }

@media only screen and (max-width: 40em) {
  #product-item-1,
  #product-item-7 {
    background-color: #f2f2f2; }
  #product-item-3,
  #product-item-5 {
    background-color: #e6e6e6; } }

#product-item-1,
#product-item-2,
#product-item-3,
#product-item-4,
#product-item-5,
#product-item-6 {
  height: 50vw; }
  @media only screen and (min-width: 40.0625em) {
    #product-item-1,
    #product-item-2,
    #product-item-3,
    #product-item-4,
    #product-item-5,
    #product-item-6 {
      height: 25vw; } }

#product-item-1,
#product-item-2,
#product-item-3,
#product-item-4,
#product-item-5,
#product-item-6,
#product-item-7 {
  text-align: center; }

#product-item-5,
#product-item-6 {
  /*width: 50%;*/
  width: 100%; }

#product-item-0 img,
#product-item-1 img,
#product-item-2 img,
#product-item-3 img,
#product-item-4 img,
#product-item-5 img,
#product-item-6 img,
#product-item-7 img {
  width: 39%;
  margin-top: 3vw;
  margin-left: 10vw; }
  @media only screen and (min-width: 40.0625em) {
    #product-item-0 img,
    #product-item-1 img,
    #product-item-2 img,
    #product-item-3 img,
    #product-item-4 img,
    #product-item-5 img,
    #product-item-6 img,
    #product-item-7 img {
      margin-left: 3vw; } }

#product-item-7 {
  width: 100%;
  height: 50vw; }
  #product-item-7 img {
    width: auto;
    max-height: 100%; }

@media only screen and (min-width: 40.0625em) {
  #product-item-0 img {
    width: 80%;
    margin-top: 5vw;
    margin-left: 5vw; }
  #product-item-7 {
    width: 100%;
    background-color: #e5e5e5; } }

.item-column:nth-of-type(1),
.item-column:nth-of-type(2) {
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 25%;
  -ms-flex: 1 1 25%;
  flex: 1 1 25%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.item-column:nth-of-type(2) {
  height: 100vw; }

@media only screen and (min-width: 40.0625em) {
  .item-column:nth-of-type(2) {
    height: initial; } }

.item-column:nth-of-type(3) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (min-width: 40.0625em) {
    .item-column:nth-of-type(3) {
      -webkit-flex: 1 1 50%;
      -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
      flex: 1 1 50%; } }

.item-column:nth-of-type(3) > a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 50%;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%; }

.occassions .item {
  overflow: hidden; }

.products .item {
  margin: 0; }

.products-header {
  font-family: aalborgregular;
  font-size: 45px;
  color: #d2c188;
  text-transform: uppercase;
  text-align: center;
  padding-left: 50px;
  padding-right: 50px;
  line-height: 1; }

.item img {
  width: 100%;
  height: auto;
  -webkit-transition: all 400ms ease 0s;
  transition: all 400ms ease 0s; }

.overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 0.45;
  -webkit-transition: all 400ms ease 0s;
  transition: all 400ms ease 0s; }

.item:hover .header {
  -webkit-transform: translate3d(0, -80px, 0);
  transform: translate3d(0, -80px, 0); }

.occassions .header {
  position: absolute;
  text-align: center;
  width: 75%;
  padding-left: 25%;
  top: 80%;
  z-index: 10;
  font-family: aalborgregular;
  font-size: 0.9vw;
  color: #ffffff;
  text-transform: uppercase;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: 0.3s cubic-bezier(0, 0, 0.2, 1);
  transition: 0.3s cubic-bezier(0, 0, 0.2, 1); }

.occassions .text {
  display: none;
  position: absolute;
  text-align: center;
  width: 80%;
  padding-left: 20%;
  top: 80%;
  z-index: 10;
  font-family: brownlight;
  font-size: 0.72vw;
  color: #ffffff;
  -webkit-transition: all 400ms ease 0s;
  transition: all 400ms ease 0s; }

.corner {
  position: absolute;
  z-index: 12;
  width: 0;
  height: 0;
  border-style: solid;
  -webkit-transition: all 400ms ease 0s;
  transition: all 400ms ease 0s; }

.top-left {
  top: 0;
  border-width: 40px 40px 0 0;
  border-color: #ffffff transparent transparent transparent;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0); }

.bottom-left {
  bottom: 0;
  border-width: 40px 0 0 40px;
  border-color: transparent transparent transparent #ffffff;
  -webkit-transform: translate3d(-50%, 50%, 0);
  transform: translate3d(-50%, 50%, 0); }

.top-right {
  top: 0;
  right: 0;
  border-width: 0 40px 40px 0;
  border-color: transparent #ffffff transparent transparent;
  -webkit-transform: translate3d(50%, -50%, 0);
  transform: translate3d(50%, -50%, 0); }

.bottom-right {
  bottom: 0;
  right: 0;
  border-width: 0 0 40px 40px;
  border-color: transparent transparent #ffffff transparent;
  -webkit-transform: translate3d(50%, 50%, 0);
  transform: translate3d(50%, 50%, 0); }

.item:hover .text {
  display: block; }

.item:hover .overlay {
  opacity: 0.8; }

.item:hover .corner {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

@keyframes access-denied {
  0% {
    transform: translateX(0); }
  25% {
    transform: translateX(-5px); }
  50% {
    transform: translateX(5px); }
  75% {
    transform: translateX(-5px); }
  100% {
    transform: translateX(0); } }

@-webkit-keyframes action {
  0% {
    transform: translateY(-15px); }
  100% {
    transform: translateY(-22.5px); } }

@keyframes action {
  0% {
    transform: translateY(-15px); }
  100% {
    transform: translateY(-22.5px); } }

body.age-restricted {
  overflow: hidden; }

div.age-restricted {
  height: 100%;
  width: 100%;
  background-color: #e6e6e6;
  position: fixed;
  padding: 2rem;
  transition: transform 0.5s ease-in;
  transition-delay: 0.3s;
  opacity: 1;
  z-index: 20;
  top: 0; }
  div.age-restricted.animateOut {
    transform: translateY(-100%); }
  div.age-restricted div.container {
    width: 655px;
    position: absolute;
    left: 0;
    top: 50%;
    height: 80%;
    transform: translate(0, -50%);
    margin: auto;
    right: 0; }
    @media screen and (max-width: 640px) {
      div.age-restricted div.container {
        width: 100%; } }
  div.age-restricted div.text-box form {
    position: relative;
    font-family: "brownbold", "HelveticaNeue", Helvetica, Arial, sans-serif; }
    div.age-restricted div.text-box form label {
      color: #000;
      font-size: 40px;
      display: block;
      text-align: center;
      display: block;
      width: 100%;
      padding-bottom: 50px; }
    div.age-restricted div.text-box form input {
      width: calc(100% + 155px);
      text-align: left;
      outline: none;
      border: none;
      color: transparent;
      background: transparent;
      height: 215px;
      line-height: 1;
      padding: 0 0 0 40px;
      margin: 0;
      letter-spacing: 84px;
      font-size: 140px;
      position: absolute;
      opacity: 0; }
      @media screen and (max-width: 640px) {
        div.age-restricted div.text-box form input {
          height: 125px;
          width: 100%;
          font-size: 90px;
          letter-spacing: 40px;
          padding: 0; } }
      div.age-restricted div.text-box form input::placeholder {
        color: white;
        opacity: 0; }
    div.age-restricted div.text-box form div.input-container {
      position: relative;
      display: inline-block;
      transition: background-color 0.2s ease, transform 0.5s ease, opacity 0.5s ease, left 0.5s ease; }

@keyframes agechecker-focus-blink {
  20%, 80% {
    opacity: 1; }
  40%, 55% {
    opacity: 0; } }
      div.age-restricted div.text-box form div.input-container.focused:not(.denied) {
        position: relative;
        display: inline-block; }
        div.age-restricted div.text-box form div.input-container.focused:not(.denied) span.line.in-focus:after {
          animation: agechecker-focus-blink 1.1s infinite linear; }
      div.age-restricted div.text-box form div.input-container span.line {
        background-color: white;
        height: 215px;
        width: 155px;
        pointer-events: none;
        position: relative;
        display: block;
        z-index: -1;
        margin-right: 10px;
        float: left;
        border-radius: 43px;
        display: flex;
        align-content: center;
        justify-content: center; }
        @media screen and (max-width: 640px) {
          div.age-restricted div.text-box form div.input-container span.line {
            width: 75px;
            height: 125px;
            border-radius: 20px; } }
        div.age-restricted div.text-box form div.input-container span.line .text-box {
          color: #51636c;
          font-size: 140px;
          line-height: 1.35; }
          @media screen and (max-width: 640px) {
            div.age-restricted div.text-box form div.input-container span.line .text-box {
              font-size: 86px;
              line-height: 1.2; } }
        div.age-restricted div.text-box form div.input-container span.line:last-of-type {
          margin-right: 0; }
        div.age-restricted div.text-box form div.input-container span.line:after {
          content: '';
          height: 12px;
          width: 70px;
          position: absolute;
          background-color: #51636c;
          left: 0;
          right: 0;
          margin: auto;
          bottom: 50px;
          opacity: 0; }
          @media screen and (max-width: 640px) {
            div.age-restricted div.text-box form div.input-container span.line:after {
              height: 8px;
              width: 40px;
              bottom: 20px; } }
        div.age-restricted div.text-box form div.input-container span.line.in-focus:after {
          opacity: 1; }
      div.age-restricted div.text-box form div.input-container.denied .input-inner-container {
        position: relative;
        animation: access-denied 0.3s; }
      div.age-restricted div.text-box form div.input-container.denied span.line {
        opacity: .8; }
        div.age-restricted div.text-box form div.input-container.denied span.line:after {
          opacity: 0; }
      @media screen and (max-width: 640px) {
        div.age-restricted div.text-box form div.input-container#input-year {
          width: 330px;
          top: 0;
          left: 50%;
          transform: translateX(-50%); } }
      div.age-restricted div.text-box form div.input-container#input-year.disabled {
        transform: translateX(-100%);
        opacity: 0;
        pointer-events: none; }
      div.age-restricted div.text-box form div.input-container#input-month {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%); }
        div.age-restricted div.text-box form div.input-container#input-month.disabled {
          left: 0;
          opacity: 0;
          pointer-events: none; }
        div.age-restricted div.text-box form div.input-container#input-month.init {
          transform: translateX(100%);
          opacity: 0;
          pointer-events: none; }
      div.age-restricted div.text-box form div.input-container#input-day {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%); }
        div.age-restricted div.text-box form div.input-container#input-day.disabled {
          left: 0;
          opacity: 0;
          pointer-events: none; }
        div.age-restricted div.text-box form div.input-container#input-day.init {
          transform: translateX(100%);
          opacity: 0;
          pointer-events: none; }
  div.age-restricted div.text-box h3 {
    width: 100%;
    transition: 0.2s ease;
    font-size: 1rem;
    font-style: italic;
    display: inline-block;
    margin-top: 1rem;
    color: #000;
    text-align: center; }
    div.age-restricted div.text-box h3#eighteen {
      opacity: 0; }
    div.age-restricted div.text-box h3.denied#eighteen {
      opacity: 1;
      color: #ff2121 !important;
      animation: access-denied-year 0.3s; }
  div.age-restricted .logo-wrapper {
    height: 90px;
    text-align: center;
    margin-top: 20px; }
    div.age-restricted .logo-wrapper .logo {
      height: 100%; }

@media screen and (max-width: 460px) {
  div.age-restricted div.container div.text-box form label {
    display: block; } }

@media screen and (orientation: landscape) and (max-height: 450px) {
  div.age-restricted div.container {
    width: 100%; }
    div.age-restricted div.container div.text-box {
      margin-top: 3rem; }
      div.age-restricted div.container div.text-box form div.input-container {
        width: 350px; }
        div.age-restricted div.container div.text-box form div.input-container input {
          width: 350px;
          font-size: 4rem !important; }
        div.age-restricted div.container div.text-box form div.input-container label {
          top: -2rem; }
        div.age-restricted div.container div.text-box form div.input-container#input-year input {
          letter-spacing: 51px; }
          div.age-restricted div.container div.text-box form div.input-container#input-year input::-webkit-input-placeholder {
            letter-spacing: 47px; }
          div.age-restricted div.container div.text-box form div.input-container#input-year input::placeholder {
            letter-spacing: 47px; }
          div.age-restricted div.container div.text-box form div.input-container#input-year input:-ms-input-placeholder {
            letter-spacing: 47px;
            transform: translate(8%, -2.5%); }
          @supports (-moz-appearance: none) {
            div.age-restricted div.container div.text-box form div.input-container#input-year input {
              letter-spacing: 48px; }
              div.age-restricted div.container div.text-box form div.input-container#input-year input::placeholder {
                letter-spacing: 44px; } }
        div.age-restricted div.container div.text-box form div.input-container#input-month {
          width: 200px; }
          div.age-restricted div.container div.text-box form div.input-container#input-month input {
            letter-spacing: 57px;
            -webkit-transform: translateX(35px);
            transform: translateX(35px); }
            div.age-restricted div.container div.text-box form div.input-container#input-month input::-webkit-input-placeholder {
              letter-spacing: 25px; }
            div.age-restricted div.container div.text-box form div.input-container#input-month input::placeholder {
              letter-spacing: 35px;
              font-size: 80%;
              transform: translate(0, 0); }
            div.age-restricted div.container div.text-box form div.input-container#input-month input:-ms-input-placeholder {
              letter-spacing: 1.5rem;
              transform: translate(8%, -2.5%); }
        div.age-restricted div.container div.text-box form div.input-container#input-day {
          width: 200px; }
          div.age-restricted div.container div.text-box form div.input-container#input-day input {
            letter-spacing: 52px;
            -webkit-transform: translateX(35px);
            transform: translateX(35px); }
            div.age-restricted div.container div.text-box form div.input-container#input-day input::placeholder {
              letter-spacing: 40px;
              font-size: 100%;
              transform: translate(0, 0); }
            div.age-restricted div.container div.text-box form div.input-container#input-day input:-ms-input-placeholder {
              letter-spacing: 40px;
              transform: translate(10%, -2.5%); } }

#logo {
  position: absolute;
  top: 20px;
  z-index: 5; }

#page-navigation {
  position: absolute;
  top: 20px;
  left: 0px;
  width: 100%; }
  #page-navigation #menu-item-145,
  #page-navigation #menu-item-146 {
    display: none; }
  #page-navigation ul,
  #page-navigation ul li {
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 35px; }
  #page-navigation ul {
    text-align: center; }
  #page-navigation ul li {
    display: inline-block;
    margin-right: 50px; }
    #page-navigation ul li:last-child {
      margin-right: 0; }
  #page-navigation ul li a {
    font-family: "brownbold", "HelveticaNeue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #333; }

@media only screen and (min-width: 64.0625em) {
  .social {
    position: absolute;
    top: 20px;
    right: 25px;
    z-index: 10;
    margin-right: 0px !important;
    border-right: none !important;
    padding: 6px 6px !important; } }

.ac-overlay {
  box-sizing: border-box;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #fff;
  z-index: 99998;
  opacity: 0;
  cursor: wait; }

.ac-container {
  max-width: 360px;
  position: fixed;
  padding: 20px 20px 30px;
  background: #fff;
  z-index: 99999;
  opacity: 0;
  text-align: center;
  font-weight: normal; }

.ac-container h2 {
  font-family: aalborgregular;
  text-transform: uppercase;
  font-size: 25px;
  line-height: 1.2;
  color: #d2c081;
  margin: 20px 0 0 0; }

.ac-container h3 {
  box-sizing: border-box;
  color: #649D09;
  margin-bottom: 5px;
  margin-top: 15px;
  font-size: 26px; }

.ac-container p {
  font-family: "brownlight", "HelveticaNeue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.2;
  margin: 20px 0; }

.ac-container input {
  font-size: 28px;
  height: 60px;
  font-family: aalborgregular;
  text-align: center;
  color: #7f7f7f; }

.ac-container .ac-item input {
  max-width: 100%; }

.ac-container .ac-item label {
  font-family: "brownbold", "HelveticaNeue", Helvetica, Arial, sans-serif;
  font-size: 100%;
  color: #7f7f7f;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 5px; }

.ac-container .ac-item.ac-small {
  display: inline-block;
  box-sizing: border-box;
  width: 25%;
  margin-right: 5%; }

.ac-container .ac-item.ac-large {
  display: inline-block;
  box-sizing: border-box;
  width: 40%; }

.ac-container button {
  display: none; }

.ac-container .errors {
  box-sizing: border-box;
  margin: 0 0 20px;
  font-family: "brownlight", "HelveticaNeue", Helvetica, Arial, sans-serif;
  font-size: 100%;
  color: #FF1F1F; }

.ac-container .errors ul,
.ac-container .errors li {
  box-sizing: border-box;
  padding: 0 0 3px;
  margin: 0;
  list-style: none; }

.ac-container .errors li span {
  box-sizing: border-box;
  font-size: 9px;
  background: #ebebeb;
  border: 1px solid #ccc;
  width: 14px;
  height: 14px;
  border-radius: 7px;
  display: inline-block;
  color: #FF1F1F;
  font-weight: bold;
  text-align: center;
  margin-right: 5px;
  line-height: 13px;
  position: relative;
  top: -2px;
  text-shadow: 1px 1px 0 #fff;
  font-family: arial; }

.ac-container .fields {
  box-sizing: border-box;
  clear: both;
  margin: 10px 0; }

.textarea {
  overflow: hidden; }
  .textarea .text {
    font-size: 100%; }

.text-body {
  font-family: "brownlight", "HelveticaNeue", Helvetica, Arial, sans-serif;
  font-size: 100%; }

.grid-item {
  position: relative;
  background-color: #f2f2f2;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -moz-transition: background 1s linear;
  -o-transition: background 1s linear;
  -webkit-transition: background 1s linear;
  transition: background 1s linear; }
  .grid-item .grid-item-overlay {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 5;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    opacity: 1; }
    .grid-item .grid-item-overlay:hover {
      -moz-transition: all 0.5s ease-in-out;
      -o-transition: all 0.5s ease-in-out;
      -webkit-transition: all 0.5s ease-in-out;
      transition: all 0.5s ease-in-out;
      opacity: 0.5; }
  .grid-item .grid-item-content {
    display: block;
    width: 100%;
    height: 100%;
    position: relative; }
    .grid-item .grid-item-content.icon-view .grid-item-text,
    .grid-item .grid-item-content.icon-view .grid-item-title {
      color: #333; }
  .grid-item .grid-item-inner {
    position: absolute;
    bottom: 50px;
    left: 10%;
    right: 10%;
    z-index: 20;
    padding: 0 10px; }
  .grid-item .grid-item-icon {
    max-width: 140px; }
  .grid-item .grid-item-title {
    font-family: "aalborgregular", "HelveticaNeue", Helvetica, Arial, sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    line-height: 1.2;
    text-align: center;
    color: #FFFFFF; }
    @media only screen and (min-width: 64.0625em) {
      .grid-item .grid-item-title {
        font-size: 22px; } }
  .grid-item .grid-item-text {
    font-family: "brownlight", "HelveticaNeue", Helvetica, Arial, sans-serif;
    color: #FFFFFF;
    text-align: center; }
  .grid-item .grid-item-button {
    font-family: "aalborgregular", "HelveticaNeue", Helvetica, Arial, sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    display: inline-block;
    color: #d2c081;
    border: 1px solid #d2c081;
    padding: 7px 40px;
    border-radius: 5px;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: relative;
    margin-top: 18px; }
    .grid-item .grid-item-button:after {
      width: 100%;
      height: 0;
      top: 0;
      left: 0;
      background: #d2c081;
      content: '';
      position: absolute;
      z-index: -1;
      -moz-transition: all 0.3s;
      -o-transition: all 0.3s;
      -webkit-transition: all 0.3s;
      transition: all 0.3s; }
    .grid-item .grid-item-button:focus, .grid-item .grid-item-button:hover, .grid-item .grid-item-button.active {
      color: white; }
    .grid-item .grid-item-button:hover:after, .grid-item .grid-item-button.active:after {
      height: 100%; }

.frontpage-basis-grid-promoted .grid-item-overlay {
  opacity: 1; }
  .frontpage-basis-grid-promoted .grid-item-overlay:hover {
    opacity: 1; }

.cssgradients .grid-item .grid-item-overlay {
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%); }

.grid-item.grid-item-inverted .grid-item-text,
.grid-item.grid-item-inverted .grid-item-title {
  color: black; }

.cssgradients .grid-item.grid-item-inverted .grid-item-overlay {
  background: -moz-linear-gradient(top, rgba(250, 250, 250, 0) 0%, rgba(250, 250, 250, 0.8) 100%);
  background: -webkit-linear-gradient(top, rgba(250, 250, 250, 0) 0%, rgba(250, 250, 250, 0.8) 100%);
  background: linear-gradient(to bottom, rgba(250, 250, 250, 0) 0%, rgba(250, 250, 250, 0.8) 100%); }

.box-grid-row {
  overflow: hidden; }

.box-grid-image {
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: none;
  overflow: hidden;
  min-height: 30vw; }

.page-template-timeline .xsmall,
.page-template-timeline .small,
.page-template-timeline .medium,
.page-template-timeline .large {
  visibility: hidden; }

@media screen and (max-width: 599px) {
  .page-template-timeline .xsmall {
    visibility: visible; } }

@media screen and (min-width: 600px) and (max-width: 959px) {
  .page-template-timeline .small {
    visibility: visible; } }

@media screen and (min-width: 960px) and (max-width: 1279px) {
  .page-template-timeline .medium {
    visibility: visible; } }

@media screen and (min-width: 1280px) {
  .page-template-timeline .large {
    visibility: visible; } }

@media only screen and (max-width: 64em) {
  .m-box-grid-1-2 {
    width: 100%; }
  .m-box-grid-2-2 {
    width: 100%; }
  .m-box-small {
    min-height: 50vw; }
  .m-box-tall {
    min-height: 100vw; } }

@media only screen and (min-width: 64.0625em) {
  .box-grid-1-1,
  .box-grid-1-2,
  .box-grid-2-2,
  .box-grid-1-3,
  .box-grid-2-3,
  .box-grid-3-3,
  .box-grid-1-4,
  .box-grid-2-4,
  .box-grid-3-4,
  .box-grid-4-4 {
    float: left; }
  .box-grid-1-1 {
    width: 100%; }
  .box-grid-1-2 {
    width: 50%; }
  .box-grid-2-2 {
    width: 100%; }
  .box-grid-1-3 {
    width: 33.3333%; }
  .box-grid-2-3 {
    width: 66.6666%; }
  .box-grid-3-3 {
    width: 100%; }
  .box-grid-1-4 {
    width: 25%; }
  .box-grid-2-4 {
    width: 50%; }
  .box-grid-3-4 {
    width: 75%; }
  .box-grid-4-4 {
    width: 100%; }
  .box-grid-right {
    float: right; }
  .box-grid-small {
    min-height: 25vw; }
  .box-grid-tall {
    min-height: 50vw; } }

.box-grid-content {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-justify-content: space-around;
  /* Safari 6.1+ */
  justify-content: center;
  padding: 40px 30px;
  text-align: center; }
  .box-grid-content.box-grid-light {
    background-color: white; }
  .box-grid-content.box-grid-dark {
    background-color: #f2f2f2; }
  .box-grid-content h2 {
    font-family: "aalborgregular", "Helvetica", Arial, sans-serif;
    font-size: 42px;
    line-height: 47px;
    color: #d2c081;
    margin: 0;
    text-align: center; }
  .box-grid-content hr {
    width: 40px;
    margin: 20px auto; }
  .box-grid-content .description {
    color: gray;
    max-width: 500px;
    margin: 0 auto; }
    .box-grid-content .description p {
      font-family: "brownlight", "Helvetica", Arial, sans-serif;
      font-weight: normal;
      font-size: 13px; }

.box-grid-row .arrow-top, .box-grid-row .arrow-right, .box-grid-row .arrow-bottom, .box-grid-row .arrow-left {
  position: absolute;
  height: 20px;
  width: 20px;
  background: linear-gradient(225deg, transparent 49%, #FFF 49%); }

.box-grid-row .arrow-top {
  -webkit-transform: translate(50%, -50%) rotate(-45deg);
  transform: translate(50%, -50%) rotate(-45deg);
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto; }
  .box-grid-row .arrow-top.grey242 {
    background: linear-gradient(225deg, transparent 50%, #f2f2f2 50%); }

.box-grid-row .arrow-right {
  -webkit-transform: translate(50%, -50%) rotate(45deg);
  transform: translate(50%, -50%) rotate(45deg);
  top: 50%;
  right: 0; }
  .box-grid-row .arrow-right.grey242 {
    background: linear-gradient(225deg, transparent 50%, #f2f2f2 50%); }
  .box-grid-row .arrow-right.arrow25 {
    top: 25%; }
  .box-grid-row .arrow-right.arrow75 {
    top: 75%; }

.box-grid-row .arrow-bottom {
  -webkit-transform: translate(50%, -50%) rotate(135deg);
  transform: translate(50%, -50%) rotate(135deg);
  bottom: -20px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto; }
  .box-grid-row .arrow-bottom.grey242 {
    background: linear-gradient(225deg, transparent 50%, #f2f2f2 50%); }

.box-grid-row .arrow-left {
  -webkit-transform: translate(50%, -50%) rotate(-135deg);
  transform: translate(50%, -50%) rotate(-135deg);
  top: 50%;
  left: -20px; }
  .box-grid-row .arrow-left.grey242 {
    background: linear-gradient(225deg, transparent 50%, #f2f2f2 50%); }
  .box-grid-row .arrow-left.arrow25 {
    top: 25%; }
  .box-grid-row .arrow-left.arrow75 {
    top: 75%; }

.square-line {
  height: 60px;
  width: 100%;
  position: relative; }

.square-link {
  display: block;
  width: 60px;
  height: 60px;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 30px;
  background: #d2c081;
  z-index: 100;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }
  .square-link:hover {
    background-color: #c5ad5b; }
  .square-link .square-link-text {
    font-family: "brownlight", "HelveticaNeue", Helvetica, Arial, sans-serif;
    font-size: 12px;
    line-height: 14px;
    color: white;
    position: absolute;
    width: 60px;
    text-align: center;
    top: 50%;
    left: 50%;
    -moz-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    -o-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    transform: translateY(-50%) translateX(-50%) rotate(45deg); }

.ls-playvideo {
  width: 100px !important;
  height: 100px !important;
  background-image: url(assets/images/play.png) !important;
  background-size: cover;
  background-position: 0px 0px !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.svg .ls-playvideo {
  width: 120px !important;
  height: 120px !important;
  background-image: url("../images/play.svg") !important;
  background-repeat: no-repeat; }

.social {
  float: right;
  padding: 6px 20px;
  border-right: 1px solid #bfbfbf;
  margin-right: 27px; }

.facebook {
  display: block;
  background: url("../images/facebook.png");
  background-size: 100%;
  background-repeat: no-repeat;
  padding: 10px; }

.svg .facebook {
  background: url("../images/facebook.svg"); }

.share-square .facebook {
  background-image: url("../images/facebook_white.png");
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 10px;
  display: block;
  height: 30px; }

.svg .share-square .facebook {
  background: url("../images/facebook_white.svg");
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center 10px; }

.bottle {
  width: auto;
  height: calc(100vh - 75px);
  opacity: .95; }

/**/
/* Default layout*/
/**/
.product-top-images > div {
  display: inline-block; }

.product-top-images {
  position: absolute;
  bottom: 15px;
  left: 10vw;
  -webkit-transform: translateY(25%);
  transform: translateY(25%); }

/**/
/* Centered layout*/
/**/
.product-display-center .product-top-images {
  left: 0;
  right: 0;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.product-display-center .caret {
  display: none !important; }

.product-menu .part {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJiYXNlL192YXJzLnNjc3MiLCJiYXNlL19mb250cy5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL19mdW5jdGlvbnMuc2NzcyIsIl9taXhpbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19nbG9iYWwuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2FsZXJ0LWJveGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Jsb2NrLWdyaWQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYnV0dG9uLWdyb3Vwcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2NsZWFyaW5nLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Ryb3Bkb3duLWJ1dHRvbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZmxleC12aWRlby5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19pY29uLWJhci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19pbmxpbmUtbGlzdHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fam95cmlkZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19rZXlzdHJva2VzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2xhYmVscy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19tYWdlbGxhbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3BhbmVscy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19wcmljaW5nLXRhYmxlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19wcm9ncmVzcy1iYXJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3JhbmdlLXNsaWRlci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc2lkZS1uYXYuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3BsaXQtYnV0dG9ucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL19zdWItbmF2LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3N3aXRjaGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RhYmxlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RodW1icy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190b29sdGlwcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3R5cGUuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fb2ZmY2FudmFzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24vc2Nzcy9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIl93b3JkcHJlc3Muc2NzcyIsImJhc2UvX3NwYWNpbmcuc2NzcyIsImJhc2UvX2FuaW1hdGUuc2NzcyIsImJhc2UvX21peGlucy5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwibGF5b3V0L19mcm9udC1iYXNpcy5zY3NzIiwibGF5b3V0L19iYXNpcy1ncmlkLnNjc3MiLCJsYXlvdXQvX3JlY2lwZS5zY3NzIiwibGF5b3V0L19yZWNpcGUtYXJjaGl2ZS5zY3NzIiwibGF5b3V0L19wcm9kdWN0LWZyb250LnNjc3MiLCJsYXlvdXQvX2FnZWNoZWNrZXIuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2UtbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fYWdlLnNjc3MiLCJjb21wb25lbnRzL190ZXh0YXJlYS5zY3NzIiwiY29tcG9uZW50cy9fZ3JpZC1pdGVtLnNjc3MiLCJjb21wb25lbnRzL190aW1lLnNjc3MiLCJjb21wb25lbnRzL19zcXVhcmUuc2NzcyIsImNvbXBvbmVudHMvX2xheWVyc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19zb2NpYWwuc2NzcyIsImNvbXBvbmVudHMvX2hlcm8uc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3QtbWVudS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEBtZWRpYSAjeyRzbWFsbC11cH0geyB9XHJcbi8vIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7IH1cclxuLy8gQG1lZGlhICN7JG1lZGl1bS11cH0geyB9XHJcbi8vIEBtZWRpYSAjeyRtZWRpdW0tb25seX0geyB9XHJcbi8vIEBtZWRpYSAjeyRsYXJnZS11cH0geyB9XHJcbi8vIEBtZWRpYSAjeyRsYXJnZS1vbmx5fSB7IH1cclxuLy8gQG1lZGlhICN7JHhsYXJnZS11cH0geyB9XHJcbi8vIEBtZWRpYSAjeyR4bGFyZ2Utb25seX0geyB9XHJcbi8vIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7IH1cclxuLy8gQG1lZGlhICN7JHh4bGFyZ2Utb25seX0geyB9XHJcblxyXG5AaW1wb3J0IFwiYmFzZS92YXJzXCI7XHJcbkBpbXBvcnQgXCJiYXNlL2ZvbnRzXCI7XHJcbkBpbXBvcnQgXCJzZXR0aW5nc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvblwiO1xyXG5AaW1wb3J0IFwid29yZHByZXNzXCI7XHJcblxyXG5AaW1wb3J0IFwiYmFzZS9zcGFjaW5nXCI7XHJcbkBpbXBvcnQgXCJiYXNlL2FuaW1hdGVcIjtcclxuQGltcG9ydCBcImJhc2UvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCJiYXNlL2Jhc2VcIjtcclxuXHJcbkBpbXBvcnQgXCJsYXlvdXQvZnJvbnQtYmFzaXNcIjtcclxuQGltcG9ydCBcImxheW91dC9iYXNpcy1ncmlkXCI7XHJcbkBpbXBvcnQgXCJsYXlvdXQvcmVjaXBlXCI7XHJcbkBpbXBvcnQgXCJsYXlvdXQvcmVjaXBlLWFyY2hpdmVcIjtcclxuQGltcG9ydCBcImxheW91dC9wcm9kdWN0LWZyb250XCI7XHJcbkBpbXBvcnQgXCJsYXlvdXQvYWdlY2hlY2tlclwiO1xyXG5cclxuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnZS1uYXZpZ2F0aW9uXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FnZVwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy90ZXh0YXJlYVwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9ncmlkLWl0ZW1cIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvdGltZVwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9zcXVhcmVcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvbGF5ZXJzbGlkZXJcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvc29jaWFsXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlcm9cIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvcHJvZHVjdC1tZW51XCI7XHJcbiIsIiRnb2xkZW46ICNkMmMwODE7XHJcblxyXG4vLyA9PT09PT09PT09PSBGb250c1xyXG4kZmFsbGJhY2stc3RhY2s6IFwiSGVsdmV0aWNhTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kYWFsYm9yZzogXCJhYWxib3JncmVndWxhclwiLCAkZmFsbGJhY2stc3RhY2s7XHJcbiRhYWxib3JnLTA0OiBcImFhbGJvcmdyZWd1bGFyMDRcIiwgJGZhbGxiYWNrLXN0YWNrO1xyXG4kYnJvd24tbGlnaHQ6IFwiYnJvd25saWdodFwiLCAkZmFsbGJhY2stc3RhY2s7XHJcbiRicm93bi10aGluOiBcImJyb3dudGhpblwiLCAkZmFsbGJhY2stc3RhY2s7XHJcbiRicm93bi1ib2xkOiBcImJyb3duYm9sZFwiLCAkZmFsbGJhY2stc3RhY2s7XHJcbiIsIkBtaXhpbiBmb250LXN0eWxlKCRmb250LXN0eWxlKSB7XHJcblxyXG4gIEBpZiAkZm9udC1zdHlsZSA9PSBcImJ1dHRvblwiIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkYWFsYm9yZztcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkZm9udC1zdHlsZSA9PSBcImdyaWQtaXRlbS10aXRsZVwiIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkYWFsYm9yZztcclxuXHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRmb250LXN0eWxlID09IFwiXCIge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vL1xyXG5cclxuLy8gVGFibGUgb2YgQ29udGVudHNcclxuLy8gRm91bmRhdGlvbiBTZXR0aW5nc1xyXG4vL1xyXG4vLyBhLiBCYXNlXHJcbi8vIGIuIEdyaWRcclxuLy8gYy4gR2xvYmFsXHJcbi8vIGQuIE1lZGlhIFF1ZXJ5IFJhbmdlc1xyXG4vLyBlLiBUeXBvZ3JhcGh5XHJcbi8vIDAxLiBBY2NvcmRpb25cclxuLy8gMDIuIEFsZXJ0IEJveGVzXHJcbi8vIDAzLiBCbG9jayBHcmlkXHJcbi8vIDA0LiBCcmVhZGNydW1ic1xyXG4vLyAwNS4gQnV0dG9uc1xyXG4vLyAwNi4gQnV0dG9uIEdyb3Vwc1xyXG4vLyAwNy4gQ2xlYXJpbmdcclxuLy8gMDguIERyb3Bkb3duXHJcbi8vIDA5LiBEcm9wZG93biBCdXR0b25zXHJcbi8vIDEwLiBGbGV4IFZpZGVvXHJcbi8vIDExLiBGb3Jtc1xyXG4vLyAxMi4gSWNvbiBCYXJcclxuLy8gMTMuIElubGluZSBMaXN0c1xyXG4vLyAxNC4gSm95cmlkZVxyXG4vLyAxNS4gS2V5c3Ryb2tlc1xyXG4vLyAxNi4gTGFiZWxzXHJcbi8vIDE3LiBNYWdlbGxhblxyXG4vLyAxOC4gT2ZmLWNhbnZhc1xyXG4vLyAxOS4gT3JiaXRcclxuLy8gMjAuIFBhZ2luYXRpb25cclxuLy8gMjEuIFBhbmVsc1xyXG4vLyAyMi4gUHJpY2luZyBUYWJsZXNcclxuLy8gMjMuIFByb2dyZXNzIEJhclxyXG4vLyAyNC4gUmFuZ2UgU2xpZGVyXHJcbi8vIDI1LiBSZXZlYWxcclxuLy8gMjYuIFNpZGUgTmF2XHJcbi8vIDI3LiBTcGxpdCBCdXR0b25zXHJcbi8vIDI4LiBTdWIgTmF2XHJcbi8vIDI5LiBTd2l0Y2hcclxuLy8gMzAuIFRhYmxlc1xyXG4vLyAzMS4gVGFic1xyXG4vLyAzMi4gVGh1bWJuYWlsc1xyXG4vLyAzMy4gVG9vbHRpcHNcclxuLy8gMzQuIFRvcCBCYXJcclxuLy8gMzYuIFZpc2liaWxpdHkgQ2xhc3Nlc1xyXG5cclxuLy8gYS4gQmFzZVxyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyBUaGlzIGlzIHRoZSBkZWZhdWx0IGh0bWwgYW5kIGJvZHkgZm9udC1zaXplIGZvciB0aGUgYmFzZSByZW0gdmFsdWUuXHJcbi8vICRyZW0tYmFzZTogMTZweDtcclxuXHJcbi8vIEFsbG93cyB0aGUgdXNlIG9mIHJlbS1jYWxjKCkgb3IgbG93ZXItYm91bmQoKSBpbiB5b3VyIHNldHRpbmdzXHJcbi8vQGltcG9ydCAnZm91bmRhdGlvbi9mdW5jdGlvbnMnO1xyXG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi9mdW5jdGlvbnNcIjtcclxuXHJcbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxyXG4vLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGJyb3dzZXItYmFzZWQgdGV4dCB6b29tIG9yIHVzZXItc2V0IGRlZmF1bHRzLlxyXG5cclxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxyXG4vLyBJZiB5b3Ugd2FudCB5b3VyIGJhc2UgZm9udC1zaXplIHRvIGJlIGRpZmZlcmVudCBhbmQgbm90IGhhdmUgaXQgYWZmZWN0IHRoZSBncmlkIGJyZWFrcG9pbnRzLFxyXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxyXG4vLyAkYmFzZS1mb250LXNpemU6IDEwMCU7XHJcblxyXG4vLyBUaGUgJGJhc2UtZm9udC1zaXplIGlzIDEwMCUgd2hpbGUgJGJhc2UtbGluZS1oZWlnaHQgaXMgMTUwJVxyXG4vLyAkYmFzZS1saW5lLWhlaWdodDogMTUwJTtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgQ1NTIGNsYXNzZXMgY29tZSB0aHJvdWdoIGluIHRoZSBnZW0gZmlsZXMuXHJcbiRpbmNsdWRlLWh0bWwtY2xhc3NlczogdHJ1ZTtcclxuLy8gJGluY2x1ZGUtcHJpbnQtc3R5bGVzOiB0cnVlO1xyXG4kaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBiLiBHcmlkXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcbi8vICRpbmNsdWRlLXhsLWh0bWwtZ3JpZC1jbGFzc2VzOiBmYWxzZTtcclxuXHJcbi8vICRyb3ctd2lkdGg6IHJlbS1jYWxjKDEwMDApO1xyXG4vLyAkdG90YWwtY29sdW1uczogMTI7XHJcbi8vICRjb2x1bW4tZ3V0dGVyOiByZW0tY2FsYygzMCk7XHJcblxyXG4vLyBjLiBHbG9iYWxcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgc3RhY2tzXHJcbi8vICRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuLy8gJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCBDYW1icmlhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XHJcbi8vICRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCB3ZWlnaHRzXHJcbi8vICRmb250LXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuLy8gJGZvbnQtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcblxyXG4kd2hpdGUgICAgICAgOiAjRkZGRkZGO1xyXG4kZ2hvc3QgICAgICAgOiAjRkFGQUZBO1xyXG4kc25vdyAgICAgICAgOiAjRjlGOUY5O1xyXG4kdmFwb3IgICAgICAgOiAjRjZGNkY2O1xyXG4kd2hpdGUtc21va2UgOiAjRjVGNUY1O1xyXG4kc2lsdmVyICAgICAgOiAjRUZFRkVGO1xyXG4kc21va2UgICAgICAgOiAjRUVFRUVFO1xyXG4kZ2FpbnNib3JvICAgOiAjREREREREO1xyXG4kaXJvbiAgICAgICAgOiAjQ0NDQ0NDO1xyXG4kYmFzZSAgICAgICAgOiAjQUFBQUFBO1xyXG4kYWx1bWludW0gICAgOiAjOTk5OTk5O1xyXG4kanVtYm8gICAgICAgOiAjODg4ODg4O1xyXG4kbW9uc29vbiAgICAgOiAjNzc3Nzc3O1xyXG4kc3RlZWwgICAgICAgOiAjNjY2NjY2O1xyXG4kY2hhcmNvYWwgICAgOiAjNTU1NTU1O1xyXG4kdHVhdGFyYSAgICAgOiAjNDQ0NDQ0O1xyXG4kb2lsICAgICAgICAgOiAjMzMzMzMzO1xyXG4kamV0ICAgICAgICAgOiAjMjIyMjIyO1xyXG4kYmxhY2sgICAgICAgOiAjMDAwMDAwO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIGFzIGRlZmF1bHQgY29sb3JzIHRocm91Z2hvdXRcclxuLy8gJHByaW1hcnktY29sb3I6ICMwMDhDQkE7XHJcbi8vICRzZWNvbmRhcnktY29sb3I6ICNlN2U3ZTc7XHJcbi8vICRhbGVydC1jb2xvcjogI2YwNDEyNDtcclxuLy8gJHN1Y2Nlc3MtY29sb3I6ICM0M0FDNkE7XHJcbi8vICR3YXJuaW5nLWNvbG9yOiAjZjA4YTI0O1xyXG4vLyAkaW5mby1jb2xvcjogI2EwZDNlODtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgZ2xvYmFsIHN0eWxlc1xyXG4vLyAkYm9keS1iZzogJHdoaXRlO1xyXG4vLyAkYm9keS1mb250LWNvbG9yOiAkamV0O1xyXG4vLyAkYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XHJcbi8vICRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkYm9keS1mb250LXN0eWxlOiBub3JtYWw7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXHJcbi8vICRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xyXG4vLyAkdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuLy8gJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XHJcbi8vICRkZWZhdWx0LWZsb2F0OiBsZWZ0O1xyXG4vLyAkbGFzdC1jaGlsZC1mbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHN1cmUgYm9yZGVyIHJhZGl1cyBtYXRjaGVzIHVubGVzcyB3ZSB3YW50IGl0IGRpZmZlcmVudC5cclxuLy8gJGdsb2JhbC1yYWRpdXM6IDNweDtcclxuLy8gJGdsb2JhbC1yb3VuZGVkOiAxMDAwcHg7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBpbnNldCBzaGFkb3cgc2hpbnkgZWRnZXMgYW5kIGRlcHJlc3Npb25zLlxyXG4vLyAkc2hpbnktZWRnZS1zaXplOiAwIDFweCAwO1xyXG4vLyAkc2hpbnktZWRnZS1jb2xvcjogcmdiYSgkd2hpdGUsIC41KTtcclxuLy8gJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yOiByZ2JhKCRibGFjaywgLjIpO1xyXG5cclxuLy8gZC4gTWVkaWEgUXVlcnkgUmFuZ2VzXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRzbWFsbC1icmVha3BvaW50OiAgZW0tY2FsYyg2NDApO1xyXG4vLyAkbWVkaXVtLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTAyNCk7XHJcbi8vICRsYXJnZS1icmVha3BvaW50OiAgZW0tY2FsYygxNDQwKTtcclxuLy8gJHhsYXJnZS1icmVha3BvaW50OiBlbS1jYWxjKDE5MjApO1xyXG5cclxuLy8gJHNtYWxsLXJhbmdlOiAgICgwLCAkc21hbGwtYnJlYWtwb2ludCk7XHJcbi8vICRtZWRpdW0tcmFuZ2U6ICAoJHNtYWxsLWJyZWFrcG9pbnQgICsgZW0tY2FsYygxKSwgJG1lZGl1bS1icmVha3BvaW50KTtcclxuLy8gJGxhcmdlLXJhbmdlOiAgICgkbWVkaXVtLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCAkbGFyZ2UtYnJlYWtwb2ludCk7XHJcbi8vICR4bGFyZ2UtcmFuZ2U6ICAoJGxhcmdlLWJyZWFrcG9pbnQgICsgZW0tY2FsYygxKSwgJHhsYXJnZS1icmVha3BvaW50KTtcclxuLy8gJHh4bGFyZ2UtcmFuZ2U6ICgkeGxhcmdlLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCBlbS1jYWxjKDk5OTk5OTk5KSk7XHJcblxyXG4vLyAkc2NyZWVuOiBcIm9ubHkgc2NyZWVuXCI7XHJcblxyXG4vLyAkbGFuZHNjYXBlOiBcIiN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKVwiO1xyXG4vLyAkcG9ydHJhaXQ6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdClcIjtcclxuXHJcbi8vICRzbWFsbC11cDogJHNjcmVlbjtcclxuLy8gJHNtYWxsLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1heC13aWR0aDogI3t1cHBlci1ib3VuZCgkc21hbGwtcmFuZ2UpfSlcIjtcclxuXHJcbi8vICRtZWRpdW0tdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIjtcclxuLy8gJG1lZGl1bS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiO1xyXG5cclxuLy8gJGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpfSlcIjtcclxuLy8gJGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KVwiO1xyXG5cclxuLy8gJHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KVwiO1xyXG4vLyAkeGxhcmdlLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCI7XHJcblxyXG4vLyAkeHhsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSlcIjtcclxuLy8gJHh4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiO1xyXG5cclxuLy8gJHJldGluYTogKFxyXG4vLyAgXCIjeyRzY3JlZW59IGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxyXG4vLyAgXCIjeyRzY3JlZW59IGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxyXG4vLyAgXCIjeyRzY3JlZW59IGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKVwiLFxyXG4vLyAgXCIjeyRzY3JlZW59IGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMilcIixcclxuLy8gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpXCIsXHJcbi8vICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpXCJcclxuLy8gKTtcclxuXHJcbi8vIExlZ2FjeVxyXG4vLyAkc21hbGw6ICRtZWRpdW0tdXA7XHJcbi8vICRtZWRpdW06ICRtZWRpdW0tdXA7XHJcbi8vICRsYXJnZTogJGxhcmdlLXVwO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgYXMgY3Vyc29ycyB2YWx1ZXMgZm9yIGVuYWJsaW5nIHRoZSBvcHRpb24gb2YgaGF2aW5nIGN1c3RvbSBjdXJzb3JzIGluIHRoZSB3aG9sZSBzaXRlJ3Mgc3R5bGVzaGVldFxyXG4vLyAkY3Vyc29yLWNyb3NzaGFpci12YWx1ZTogY3Jvc3NoYWlyO1xyXG4vLyAkY3Vyc29yLWRlZmF1bHQtdmFsdWU6IGRlZmF1bHQ7XHJcbi8vICRjdXJzb3ItZGlzYWJsZWQtdmFsdWU6IG5vdC1hbGxvd2VkO1xyXG4vLyAkY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXI7XHJcbi8vICRjdXJzb3ItaGVscC12YWx1ZTogaGVscDtcclxuLy8gJGN1cnNvci10ZXh0LXZhbHVlOiB0ZXh0O1xyXG5cclxuLy8gZS4gVHlwb2dyYXBoeVxyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLXR5cGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc3R5bGVzXHJcbi8vICRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4vLyAkaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuLy8gJGhlYWRlci1mb250LWNvbG9yOiAkamV0O1xyXG4vLyAkaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQ7XHJcbi8vICRoZWFkZXItdG9wLW1hcmdpbjogLjJyZW07XHJcbi8vICRoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW07XHJcbi8vICRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHNpemVzXHJcbi8vICRoMS1mb250LXNpemU6IHJlbS1jYWxjKDQ0KTtcclxuLy8gJGgyLWZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpO1xyXG4vLyAkaDMtZm9udC1zaXplOiByZW0tY2FsYygyNyk7XHJcbi8vICRoNC1mb250LXNpemU6IHJlbS1jYWxjKDIzKTtcclxuLy8gJGg1LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4vLyAkaDYtZm9udC1zaXplOiAxcmVtO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIHNpemUgcmVkdWN0aW9uIG9uIHNtYWxsIHNjcmVlbnNcclxuLy8gJGgxLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygxMCk7XHJcbi8vICRoMi1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApO1xyXG4vLyAkaDMtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDUpO1xyXG4vLyAkaDQtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDUpO1xyXG4vLyAkaDUtZm9udC1yZWR1Y3Rpb246IDA7XHJcbi8vICRoNi1mb250LXJlZHVjdGlvbjogMDtcclxuXHJcbi8vIFRoZXNlIGNvbnRyb2wgaG93IHN1YmhlYWRlcnMgYXJlIHN0eWxlZC5cclxuLy8gJHN1YmhlYWRlci1saW5lLWhlaWdodDogMS40O1xyXG4vLyAkc3ViaGVhZGVyLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKTtcclxuLy8gJHN1YmhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHN1YmhlYWRlci10b3AtbWFyZ2luOiAuMnJlbTtcclxuLy8gJHN1YmhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbTtcclxuXHJcbi8vIEEgZ2VuZXJhbCA8c21hbGw+IHN0eWxpbmdcclxuLy8gJHNtYWxsLWZvbnQtc2l6ZTogNjAlO1xyXG4vLyAkc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHBhcmFncmFwaHNcclxuLy8gJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdDtcclxuLy8gJHBhcmFncmFwaC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHBhcmFncmFwaC1mb250LXNpemU6IDFyZW07XHJcbi8vICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IDEuNjtcclxuLy8gJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbi8vICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ6IDEuMzU7XHJcbi8vICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTogaXRhbGljO1xyXG4vLyAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgPGNvZGU+IHRhZ3NcclxuLy8gJGNvZGUtY29sb3I6ICRvaWw7XHJcbi8vICRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4vLyAkY29kZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJGNvZGUtYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNzAlKTtcclxuLy8gJGNvZGUtYm9yZGVyLXNpemU6IDFweDtcclxuLy8gJGNvZGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJGNvZGUtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY29kZS1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcclxuLy8gJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMikgcmVtLWNhbGMoNSkgcmVtLWNhbGMoMSk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYW5jaG9yc1xyXG4vLyAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuLy8gJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbi8vICRhbmNob3ItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbi8vICRhbmNob3ItZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgPGhyPiBlbGVtZW50XHJcbi8vICRoci1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJGhyLWJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICRoci1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XHJcbi8vICRoci1tYXJnaW46IHJlbS1jYWxjKDIwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsaXN0c1xyXG4vLyAkbGlzdC1mb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcclxuLy8gJGxpc3QtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcclxuLy8gJGxpc3QtbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XHJcbi8vICRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuLy8gJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbi8vICRsaXN0LXNpZGUtbWFyZ2luOiAxLjFyZW07XHJcbi8vICRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW46IDEuNHJlbTtcclxuLy8gJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0OiAwO1xyXG4vLyAkbGlzdC1uZXN0ZWQtbWFyZ2luOiByZW0tY2FsYygyMCk7XHJcbi8vICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbi8vICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b206IC4zcmVtO1xyXG4vLyAkZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBibG9ja3F1b3Rlc1xyXG4vLyAkYmxvY2txdW90ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSk7XHJcbi8vICRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbi8vICRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRnYWluc2Jvcm87XHJcbi8vICRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbi8vICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAyMyUpO1xyXG4vLyAkYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjtcclxuXHJcbi8vIEFjcm9ueW0gc3R5bGVzXHJcbi8vICRhY3JvbnltLXVuZGVybGluZTogMXB4IGRvdHRlZCAkZ2FpbnNib3JvO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgcGFkZGluZyBhbmQgbWFyZ2luXHJcbi8vICRtaWNyb2Zvcm1hdC1wYWRkaW5nOiByZW0tY2FsYygxMCAxMik7XHJcbi8vICRtaWNyb2Zvcm1hdC1tYXJnaW46IHJlbS1jYWxjKDAgMCAyMCAwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXHJcbi8vICRtaWNyb2Zvcm1hdC1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBmdWxsIG5hbWUgZm9udCBzdHlsZXNcclxuLy8gJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3VtbWFyeSBmb250IHN0eWxlc1xyXG4vLyAkbWljcm9mb3JtYXQtc3VtbWFyeS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgcGFkZGluZ1xyXG4vLyAkbWljcm9mb3JtYXQtYWJici1wYWRkaW5nOiByZW0tY2FsYygwIDEpO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIGZvbnQgc3R5bGVzXHJcbi8vICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuLy8gMDEuIEFjY29yZGlvblxyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLWFjY29yZGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpO1xyXG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I6ICRzaWx2ZXI7XHJcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNSUpO1xyXG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSk7XHJcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0O1xyXG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblxyXG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpO1xyXG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4vLyAwMi4gQWxlcnQgQm94ZXNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFsZXJ0IHBhZGRpbmcuXHJcbi8vICRhbGVydC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpO1xyXG4vLyAkYWxlcnQtcGFkZGluZy1kZWZhdWx0LWZsb2F0OiAkYWxlcnQtcGFkZGluZy10b3A7XHJcbi8vICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbjogJGFsZXJ0LXBhZGRpbmctdG9wICsgcmVtLWNhbGMoMTApO1xyXG4vLyAkYWxlcnQtcGFkZGluZy1ib3R0b206ICRhbGVydC1wYWRkaW5nLXRvcDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGUuXHJcbi8vICRhbGVydC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJGFsZXJ0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4vLyAkYWxlcnQtZm9udC1jb2xvcjogJHdoaXRlO1xyXG4vLyAkYWxlcnQtZm9udC1jb2xvci1hbHQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC02NiUpO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgZm9yIGNsb3NlIGhvdmVyIGVmZmVjdC5cclxuLy8gJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcjogLTE0JTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXMuXHJcbi8vICRhbGVydC1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyAkYWxlcnQtYm9yZGVyLXdpZHRoOiAxcHg7XHJcbi8vICRhbGVydC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yKTtcclxuLy8gJGFsZXJ0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uc1xyXG4vLyAkYWxlcnQtY2xvc2UtY29sb3I6ICRvaWw7XHJcbi8vICRhbGVydC1jbG9zZS10b3A6IDUwJTtcclxuLy8gJGFsZXJ0LWNsb3NlLXBvc2l0aW9uOiByZW0tY2FsYyg0KTtcclxuLy8gJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4vLyAkYWxlcnQtY2xvc2Utb3BhY2l0eTogLjM7XHJcbi8vICRhbGVydC1jbG9zZS1vcGFjaXR5LWhvdmVyOiAuNTtcclxuLy8gJGFsZXJ0LWNsb3NlLXBhZGRpbmc6IDlweCA2cHggNHB4O1xyXG4vLyAkYWxlcnQtY2xvc2UtYmFja2dyb3VuZDogaW5oZXJpdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1c1xyXG4vLyAkYWxlcnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vICRhbGVydC10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcztcclxuLy8gJGFsZXJ0LXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQ7XHJcblxyXG4vLyAwMy4gQmxvY2sgR3JpZFxyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG4vLyAkaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogZmFsc2U7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcclxuLy8gJGJsb2NrLWdyaWQtZWxlbWVudHM6IDEyO1xyXG4vLyAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6IHJlbS1jYWxjKDIwKTtcclxuXHJcbi8vICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQ6IGZhbHNlO1xyXG4vLyBAaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7JGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiAkY29sdW1uLWd1dHRlcjt9XHJcblxyXG4vLyBFbmFibGVzIG1lZGlhIHF1ZXJpZXMgZm9yIGJsb2NrLWdyaWQgY2xhc3Nlcy4gU2V0IHRvIGZhbHNlIGlmIHdyaXRpbmcgc2VtYW50aWMgSFRNTC5cclxuLy8gJGJsb2NrLWdyaWQtbWVkaWEtcXVlcmllczogdHJ1ZTtcclxuXHJcbi8vIDA0LiBCcmVhZGNydW1ic1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBicmVhZGNydW1iIGNvbnRhaW5lci5cclxuLy8gJGNydW1iLWJnOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA1NSUpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgcGFkZGluZyBhcm91bmQgdGhlIGJyZWFkY3J1bWJzLlxyXG4vLyAkY3J1bWItcGFkZGluZzogcmVtLWNhbGMoOSAxNCA5KTtcclxuLy8gJGNydW1iLXNpZGUtcGFkZGluZzogcmVtLWNhbGMoMTIpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cclxuLy8gJGNydW1iLWZ1bmN0aW9uLWZhY3RvcjogLTEwJTtcclxuLy8gJGNydW1iLWJvcmRlci1zaXplOiAxcHg7XHJcbi8vICRjcnVtYi1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyAkY3J1bWItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY3J1bWItYmcsICRsaWdodG5lc3M6ICRjcnVtYi1mdW5jdGlvbi1mYWN0b3IpO1xyXG4vLyAkY3J1bWItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdmFyaW91cyB0ZXh0IHN0eWxlcyBmb3IgYnJlYWRjcnVtYnMuXHJcbi8vICRjcnVtYi1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuLy8gJGNydW1iLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyAkY3J1bWItZm9udC1jb2xvci1jdXJyZW50OiAkb2lsO1xyXG4vLyAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTogJGFsdW1pbnVtO1xyXG4vLyAkY3J1bWItZm9udC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuLy8gJGNydW1iLWxpbmstZGVjb3I6IHVuZGVybGluZTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWJzXHJcbi8vICRjcnVtYi1zbGFzaC1jb2xvcjogJGJhc2U7XHJcbi8vICRjcnVtYi1zbGFzaDogXCIvXCI7XHJcblxyXG4vLyAwNS4gQnV0dG9uc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucy5cclxuLy8gJGJ1dHRvbi10bnk6IHJlbS1jYWxjKDEwKTtcclxuLy8gJGJ1dHRvbi1zbWw6IHJlbS1jYWxjKDE0KTtcclxuLy8gJGJ1dHRvbi1tZWQ6IHJlbS1jYWxjKDE2KTtcclxuLy8gJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE4KTtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRpc3BsYXkgcHJvcGVydHkuXHJcbi8vICRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLyAkYnV0dG9uLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cclxuLy8gJGJ1dHRvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbi8vICRidXR0b24tZm9udC1jb2xvcjogJHdoaXRlO1xyXG4vLyAkYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAkb2lsO1xyXG4vLyAkYnV0dG9uLWZvbnQtdG55OiByZW0tY2FsYygxMSk7XHJcbi8vICRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKTtcclxuLy8gJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpO1xyXG4vLyAkYnV0dG9uLWZvbnQtbHJnOiByZW0tY2FsYygyMCk7XHJcbi8vICRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRidXR0b24tZm9udC1hbGlnbjogY2VudGVyO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBob3ZlciBlZmZlY3RzLlxyXG4vLyAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogLTIwJTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiBib3JkZXIgc3R5bGVzLlxyXG4vLyAkYnV0dG9uLWJvcmRlci13aWR0aDogMDtcclxuLy8gJGJ1dHRvbi1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyAkYnV0dG9uLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xyXG4vLyAkYnV0dG9uLWJvcmRlci1jb2xvcjogJGJ1dHRvbi1iZy1ob3ZlcjtcclxuLy8gJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcclxuLy8gJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlcjtcclxuLy8gJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xyXG4vLyAkc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXI7XHJcbi8vICRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xyXG4vLyAkYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcjogJGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlcjtcclxuLy8gJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xyXG4vLyAkd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yOiAkd2FybmluZy1idXR0b24tYmctaG92ZXI7XHJcbi8vICRpbmZvLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGluZm8tY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcclxuLy8gJGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcjogJGluZm8tYnV0dG9uLWJnLWhvdmVyO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXHJcbi8vICRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gJGJ1dHRvbi1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBidXR0b25zLlxyXG4vLyAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC43O1xyXG4vLyAkYnV0dG9uLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xyXG5cclxuLy8gMDYuIEJ1dHRvbiBHcm91cHNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcclxuLy8gJGJ1dHRvbi1iYXItbWFyZ2luLW9wcG9zaXRlOiByZW0tY2FsYygxMCk7XHJcbi8vICRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoOiAxcHg7XHJcblxyXG4vLyAwNy4gQ2xlYXJpbmdcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1jbGVhcmluZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgcGFydHMgb2YgQ2xlYXJpbmcuXHJcbi8vICRjbGVhcmluZy1iZzogJG9pbDtcclxuLy8gJGNsZWFyaW5nLWNhcHRpb24tYmc6ICRjbGVhcmluZy1iZztcclxuLy8gJGNsZWFyaW5nLWNhcm91c2VsLWJnOiByZ2JhKDUxLDUxLDUxLDAuOCk7XHJcbi8vICRjbGVhcmluZy1pbWctYmc6ICRjbGVhcmluZy1iZztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uXHJcbi8vICRjbGVhcmluZy1jbG9zZS1jb2xvcjogJGlyb247XHJcbi8vICRjbGVhcmluZy1jbG9zZS1zaXplOiAzMHB4O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBhcnJvd3NcclxuLy8gJGNsZWFyaW5nLWFycm93LXNpemU6IDEycHg7XHJcbi8vICRjbGVhcmluZy1hcnJvdy1jb2xvcjogJGNsZWFyaW5nLWNsb3NlLWNvbG9yO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGNhcHRpb25zXHJcbi8vICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I6ICRpcm9uO1xyXG4vLyAkY2xlYXJpbmctY2FwdGlvbi1mb250LXNpemU6IC44NzVlbTtcclxuLy8gJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHg7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSB0aGUgaW1hZ2UgYW5kIGNhcm91c2VsIGhlaWdodCBhbmQgc3R5bGVcclxuLy8gJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0OiA4NSU7XHJcbi8vICRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ6IDEyMHB4O1xyXG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItd2lkdGg6IDEyMHB4O1xyXG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItYWN0aXZlLWJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7XHJcblxyXG4vLyAwOC4gRHJvcGRvd25cclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXHJcbi8vICRmLWRyb3Bkb3duLW1heC13aWR0aDogMjAwcHg7XHJcbi8vICRmLWRyb3Bkb3duLWhlaWdodDogYXV0bztcclxuLy8gJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZTtcclxuXHJcbi8vIFVzZWQgZm9yIGJvdHRvbSBwb3NpdGlvblxyXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHg7XHJcblxyXG4vLyBVc2VkIGZvciByaWdodCBwb3NpdGlvblxyXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tbGVmdDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcclxuXHJcbi8vIFVzZWQgZm9yIGxlZnQgcG9zaXRpb25cclxuLy8gJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wO1xyXG5cclxuLy8gVXNlZCBmb3IgdG9wIHBvc2l0aW9uXHJcbi8vICRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXHJcbi8vICRmLWRyb3Bkb3duLWJnOiAkd2hpdGU7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cclxuLy8gJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJGYtZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAxcHg7XHJcbi8vICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgdHJpYW5nbGUgcGlwLlxyXG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHg7XHJcbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yOiAkd2hpdGU7XHJcbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0OiAxMHB4O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc3R5bGVzIGZvciB0aGUgbGlzdCBlbGVtZW50cy5cclxuLy8gJGYtZHJvcGRvd24tbGlzdC1zdHlsZTogbm9uZTtcclxuLy8gJGYtZHJvcGRvd24tZm9udC1jb2xvcjogJGNoYXJjb2FsO1xyXG4vLyAkZi1kcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuLy8gJGYtZHJvcGRvd24tbGlzdC1wYWRkaW5nOiByZW0tY2FsYyg1LCAxMCk7XHJcbi8vICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XHJcbi8vICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc6ICRzbW9rZTtcclxuLy8gJGRyb3Bkb3duLW1vYmlsZS1kZWZhdWx0LWZsb2F0OiAwO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3R5bGVzIGZvciB3aGVuIHRoZSBkcm9wZG93biBoYXMgY3VzdG9tIGNvbnRlbnQuXHJcbi8vICRmLWRyb3Bkb3duLWNvbnRlbnQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG5cclxuLy8gRGVmYXVsdCByYWRpdXMgZm9yIGRyb3Bkb3duLlxyXG4vLyAkZi1kcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuXHJcbi8vIDA5LiBEcm9wZG93biBCdXR0b25zXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvcjogJHdoaXRlO1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWw7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBzaXplIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xyXG4vLyAkYnV0dG9uLXBpcC10bnk6IHJlbS1jYWxjKDYpO1xyXG4vLyAkYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpO1xyXG4vLyAkYnV0dG9uLXBpcC1tZWQ6IHJlbS1jYWxjKDkpO1xyXG4vLyAkYnV0dG9uLXBpcC1scmc6IHJlbS1jYWxjKDExKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aW55IGRyb3Bkb3duIGJ1dHRvbnNcclxuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogNztcclxuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueTtcclxuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAzO1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55OiAoLSRidXR0b24tcGlwLXRueSAvIDIpICsgcmVtLWNhbGMoMSk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgc21hbGwgZHJvcGRvd24gYnV0dG9uc1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA3O1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sO1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDM7XHJcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6ICgtJGJ1dHRvbi1waXAtc21sIC8gMikgKyByZW0tY2FsYygxKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBtZWRpdW0gZHJvcGRvd24gYnV0dG9uc1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA2ICsgcmVtLWNhbGMoMyk7XHJcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKTtcclxuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAyLjU7XHJcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ6ICgtJGJ1dHRvbi1waXAtbWVkIC8gMikgKyByZW0tY2FsYygyKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsYXJnZSBkcm9wZG93biBidXR0b25zXHJcbi8vICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgKyByZW0tY2FsYygzKTtcclxuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpO1xyXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc6ICRidXR0b24tcGlwLWxyZyAqIDIuNTtcclxuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZzogKC0kYnV0dG9uLXBpcC1scmcgLyAyKSArIHJlbS1jYWxjKDMpO1xyXG5cclxuLy8gMTAuIEZsZXggVmlkZW9cclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2aWRlbyBjb250YWluZXIgcGFkZGluZyBhbmQgbWFyZ2luc1xyXG4vLyAkZmxleC12aWRlby1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpO1xyXG4vLyAkZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTogNjcuNSU7XHJcbi8vICRmbGV4LXZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2lkZXNjcmVlbiBib3R0b20gcGFkZGluZ1xyXG4vLyAkZmxleC12aWRlby13aWRlc2NyZWVuLXBhZGRpbmctYm90dG9tOiA1Ni4zNCU7XHJcblxyXG4vLyAxMS4gRm9ybXNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFzZSBmb3IgbG90cyBvZiBmb3JtIHNwYWNpbmcgYW5kIHBvc2l0aW9uaW5nIHN0eWxlc1xyXG4vLyAkZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVscyBpbiBkaWZmZXJlbnQgd2F5c1xyXG4vLyAkZm9ybS1sYWJlbC1wb2ludGVyOiBwb2ludGVyO1xyXG4vLyAkZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuLy8gJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjU7XHJcbi8vICRmb3JtLWxhYmVsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRibGFjaywgJGxpZ2h0bmVzczogMzAlKTtcclxuLy8gJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4vLyAkZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luOiAwO1xyXG4vLyAkaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbi8vICRpbnB1dC1mb250LWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpO1xyXG4vLyAkaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICRpbnB1dC1iZy1jb2xvcjogJHdoaXRlO1xyXG4vLyAkaW5wdXQtZm9jdXMtYmctY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIlKTtcclxuLy8gJGlucHV0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKTtcclxuLy8gJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNDAlKTtcclxuLy8gJGlucHV0LWJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICRpbnB1dC1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJGlucHV0LWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyAkaW5wdXQtZGlzYWJsZWQtYmc6ICRnYWluc2Jvcm87XHJcbi8vICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcclxuLy8gJGlucHV0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMSk7XHJcbi8vICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0OiBmYWxzZTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZmllbGRzZXQgYm9yZGVyIGFuZCBzcGFjaW5nLlxyXG4vLyAkZmllbGRzZXQtYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJGZpZWxkc2V0LWJvcmRlci13aWR0aDogMXB4O1xyXG4vLyAkZmllbGRzZXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvO1xyXG4vLyAkZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4vLyAkZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGVnZW5kcyB3aGVuIHlvdSB1c2UgdGhlbVxyXG4vLyAkbGVnZW5kLWJnOiAkd2hpdGU7XHJcbi8vICRsZWdlbmQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4vLyAkbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHByZWZpeCBhbmQgcG9zdGZpeCBpbnB1dCBlbGVtZW50c1xyXG4vLyAkaW5wdXQtcHJlZml4LWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSk7XHJcbi8vICRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpO1xyXG4vLyAkaW5wdXQtcHJlZml4LWJvcmRlci1zaXplOiAxcHg7XHJcbi8vICRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU6IHNvbGlkO1xyXG4vLyAkaW5wdXQtcHJlZml4LW92ZXJmbG93OiBoaWRkZW47XHJcbi8vICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjogJG9pbDtcclxuLy8gJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgc2V0dGluZyB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnMgKHRoZSB1cC9kb3duIGFycm93cylcclxuLy8gJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZXJyb3Igc3RhdGVzIGZvciBpbnB1dHMgYW5kIGxhYmVsc1xyXG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nOiByZW0tY2FsYyg2IDkgOSk7XHJcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDogLTFweDtcclxuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWM7XHJcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I6ICR3aGl0ZTtcclxuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3I6ICRhbGVydC1jb2xvcjtcclxuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ6ICRvaWw7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZ2xvd2luZyBlZmZlY3Qgb2YgaW5wdXRzIHdoZW4gZm9jdXNlZFxyXG4vLyAkZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lOiAuNDVzO1xyXG4vLyAkZ2xvd2luZy1lZmZlY3QtY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgdHJhbnNpdGlvbiB3aGVuIGlucHV0cyBhcmUgZm9jdXNlZCBhbmQgd2hlbiB0aGUgZ2xvd2luZyBlZmZlY3QgaXMgZGlzYWJsZWQuXHJcbi8vICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZTogMC4xNXM7XHJcbi8vICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcblxyXG4vLyBTZWxlY3QgdmFyaWFibGVzXHJcbi8vICRzZWxlY3QtYmctY29sb3I6ICRnaG9zdDtcclxuLy8gJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHNlbGVjdC1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKTtcclxuXHJcblxyXG4vLyAxMi4gSWNvbiBCYXJcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBpY29uLWJhciBhbmQgaXRlbXNcclxuLy8gJGljb24tYmFyLWJnOiAkb2lsO1xyXG4vLyAkaWNvbi1iYXItZm9udC1jb2xvcjogJHdoaXRlO1xyXG4vLyAkaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcjogJGljb24tYmFyLWZvbnQtY29sb3I7XHJcbi8vICRpY29uLWJhci1mb250LXNpemU6IDFyZW07XHJcbi8vICRpY29uLWJhci1ob3Zlci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbi8vICRpY29uLWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbi8vICRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyOiAkaWNvbi1iYXItaWNvbi1jb2xvcjtcclxuLy8gJGljb24tYmFyLWljb24tc2l6ZTogMS44NzVyZW07XHJcbi8vICRpY29uLWJhci1pbWFnZS13aWR0aDogMS44NzVyZW07XHJcbi8vICRpY29uLWJhci1pbWFnZS1oZWlnaHQ6IDEuODc1cmVtO1xyXG4vLyAkaWNvbi1iYXItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJGljb24tYmFyLWl0ZW0tcGFkZGluZzogMS4yNXJlbTtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgaWNvbnMuXHJcbi8vICRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5OiAuNztcclxuXHJcbi8vIDEzLiBJbmxpbmUgTGlzdHNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXJnaW5zIGFuZCBwYWRkaW5nIG9mIHRoZSBpbmxpbmUgbGlzdC5cclxuLy8gJGlubGluZS1saXN0LXRvcC1tYXJnaW46IDA7XHJcbi8vICRpbmxpbmUtbGlzdC1vcHBvc2l0ZS1tYXJnaW46IDA7XHJcbi8vICRpbmxpbmUtbGlzdC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygxNyk7XHJcbi8vICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjogcmVtLWNhbGMoLTIyKTtcclxuLy8gJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDIyKTtcclxuXHJcbi8vICRpbmxpbmUtbGlzdC1wYWRkaW5nOiAwO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgb3ZlcmZsb3cgb2YgdGhlIGlubGluZSBsaXN0LlxyXG4vLyAkaW5saW5lLWxpc3Qtb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbXNcclxuLy8gJGlubGluZS1saXN0LWRpc3BsYXk6IGJsb2NrO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbnkgZWxlbWVudHMgd2l0aGluIGxpc3QgaXRlbXNcclxuLy8gJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk6IGJsb2NrO1xyXG5cclxuLy8gMTQuIEpveXJpZGVcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIENvbnRyb2xsaW5nIGRlZmF1bHQgSm95cmlkZSBzdHlsZXNcclxuLy8gJGpveXJpZGUtdGlwLWJnOiAkb2lsO1xyXG4vLyAkam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDogMzAwcHg7XHJcbi8vICRqb3lyaWRlLXRpcC1wYWRkaW5nOiByZW0tY2FsYygxOCAyMCAyNCk7XHJcbi8vICRqb3lyaWRlLXRpcC1ib3JkZXI6IHNvbGlkIDFweCAkY2hhcmNvYWw7XHJcbi8vICRqb3lyaWRlLXRpcC1yYWRpdXM6IDRweDtcclxuLy8gJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDogMjJweDtcclxuXHJcbi8vIEhlcmUsIHdlJ3JlIHNldHRpbmcgdGhlIHRpcCBmb250IHN0eWxlc1xyXG4vLyAkam95cmlkZS10aXAtZm9udC1jb2xvcjogJHdoaXRlO1xyXG4vLyAkam95cmlkZS10aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIFRoaXMgY2hhbmdlcyB0aGUgbnViIHNpemVcclxuLy8gJGpveXJpZGUtdGlwLW51Yi1zaXplOiAxMHB4O1xyXG5cclxuLy8gVGhpcyBhZGp1c3RzIHRoZSBzdHlsZXMgZm9yIHRoZSB0aW1lciB3aGVuIGl0cyBlbmFibGVkXHJcbi8vICRqb3lyaWRlLXRpcC10aW1lci13aWR0aDogNTBweDtcclxuLy8gJGpveXJpZGUtdGlwLXRpbWVyLWhlaWdodDogM3B4O1xyXG4vLyAkam95cmlkZS10aXAtdGltZXItY29sb3I6ICRzdGVlbDtcclxuXHJcbi8vIFRoaXMgY2hhbmdlcyB1cCB0aGUgc3R5bGVzIGZvciB0aGUgY2xvc2UgYnV0dG9uXHJcbi8vICRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvcjogJG1vbnNvb247XHJcbi8vICRqb3lyaWRlLXRpcC1jbG9zZS1zaXplOiAyNHB4O1xyXG4vLyAkam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG5cclxuLy8gV2hlbiBKb3lyaWRlIGlzIGZpbGxpbmcgdGhlIHNjcmVlbiwgd2UgdXNlIHRoaXMgc3R5bGUgZm9yIHRoZSBiZ1xyXG4vLyAkam95cmlkZS1zY3JlZW5maWxsOiByZ2JhKDAsMCwwLDAuNSk7XHJcblxyXG4vLyAxNS4gS2V5c3Ryb2tlc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlcy5cclxuLy8gJGtleXN0cm9rZS1mb250OiBcIkNvbnNvbGFzXCIsIFwiTWVubG9cIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcclxuLy8gJGtleXN0cm9rZS1mb250LXNpemU6IGluaGVyaXQ7XHJcbi8vICRrZXlzdHJva2UtZm9udC1jb2xvcjogJGpldDtcclxuLy8gJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xyXG4vLyAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcjogLTclO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBrZXlzdHJva2UgcGFkZGluZy5cclxuLy8gJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzLlxyXG4vLyAka2V5c3Ryb2tlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKTtcclxuLy8gJGtleXN0cm9rZS1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyAka2V5c3Ryb2tlLWJvcmRlci13aWR0aDogMXB4O1xyXG4vLyAka2V5c3Ryb2tlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGtleXN0cm9rZS1iZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xyXG4vLyAka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAxNi4gTGFiZWxzXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtbGFiZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHNcclxuLy8gJGxhYmVsLXBhZGRpbmc6IHJlbS1jYWxjKDQgOCA0KTtcclxuLy8gJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVsIHRleHRcclxuLy8gJGxhYmVsLWZvbnQtc2l6aW5nOiByZW0tY2FsYygxMSk7XHJcbi8vICRsYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJGxhYmVsLWZvbnQtY29sb3I6ICRvaWw7XHJcbi8vICRsYWJlbC1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xyXG4vLyAkbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cclxuLy8gMTcuIE1hZ2VsbGFuXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gJG1hZ2VsbGFuLWJnOiAkd2hpdGU7XHJcbi8vICRtYWdlbGxhbi1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLy8gMTguIE9mZi1jYW52YXNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIFZhcmlhYmxlc1xyXG4vLyAkaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gJHRhYmJhci1iZzogJG9pbDtcclxuLy8gJHRhYmJhci1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcclxuLy8gJHRhYmJhci1pY29uLXdpZHRoOiAkdGFiYmFyLWhlaWdodDtcclxuLy8gJHRhYmJhci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQ7XHJcbi8vICR0YWJiYXItY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRhYmJhci1taWRkbGUtcGFkZGluZzogMCByZW0tY2FsYygxMCk7XHJcblxyXG4vLyBPZmYgQ2FudmFzIERpdmlkZXIgU3R5bGVzXHJcbi8vICR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC01MCUpO1xyXG4vLyAkdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyOiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XHJcblxyXG5cclxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIEhlYWRlcnNcclxuLy8gJHRhYmJhci1oZWFkZXItY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRhYmJhci1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xyXG4vLyAkdGFiYmFyLWhlYWRlci1tYXJnaW46IDA7XHJcblxyXG4vLyBPZmYgQ2FudmFzIE1lbnUgVmFyaWFibGVzXHJcbi8vICRvZmYtY2FudmFzLXdpZHRoOiByZW0tY2FsYygyNTApO1xyXG4vLyAkb2ZmLWNhbnZhcy1iZzogJG9pbDtcclxuLy8gJG9mZi1jYW52YXMtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpO1xyXG4vLyAkb2ZmLWNhbnZhcy1iZy1hY3RpdmU6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpO1xyXG5cclxuLy8gT2ZmIENhbnZhcyBNZW51IExpc3QgVmFyaWFibGVzXHJcbi8vICRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc6IC4zcmVtIHJlbS1jYWxjKDE1KTtcclxuLy8gJG9mZi1jYW52YXMtbGFiZWwtY29sb3I6ICRhbHVtaW51bTtcclxuLy8gJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuLy8gJG9mZi1jYW52YXMtbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbi8vICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJG9mZi1jYW52YXMtbGFiZWwtYmc6ICR0dWF0YXJhO1xyXG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtbGFiZWwtYmcsICRsaWdodG5lc3M6IDE0JSk7XHJcbi8vICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b206IG5vbmU7XHJcbi8vICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjowO1xyXG4vLyAkb2ZmLWNhbnZhcy1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDEwLCAxNSk7XHJcbi8vICRvZmYtY2FudmFzLWxpbmstY29sb3I6IHJnYmEoJHdoaXRlLCAuNyk7XHJcbi8vICRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJnLCAkbGlnaHRuZXNzOiAtMjUlKTtcclxuLy8gJG9mZi1jYW52YXMtYmFjay1iZzogIzQ0NDtcclxuLy8gJG9mZi1jYW52YXMtYmFjay1ib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wO1xyXG4vLyAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b207XHJcbi8vICRvZmYtY2FudmFzLWJhY2staG92ZXItYmc6IHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJhY2stYmcsICRsaWdodG5lc3M6IC0zMCUpO1xyXG4vLyAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKTtcclxuLy8gJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItYm90dG9tOiBub25lO1xyXG5cclxuLy8gT2ZmIENhbnZhcyBNZW51IEljb24gVmFyaWFibGVzXHJcbi8vICR0YWJiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbi8vICR0YWJiYXItbWVudS1pY29uLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSk7XHJcblxyXG4vLyAkdGFiYmFyLW1lbnUtaWNvbi10ZXh0LWluZGVudDogcmVtLWNhbGMoMzUpO1xyXG4vLyAkdGFiYmFyLW1lbnUtaWNvbi13aWR0aDogJHRhYmJhci1pY29uLXdpZHRoO1xyXG4vLyAkdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xyXG4vLyAkdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nOiAwO1xyXG5cclxuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi13aWR0aDogcmVtLWNhbGMoMTYpO1xyXG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ6IGZhbHNlO1xyXG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcDogZmFsc2U7XHJcbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzOiAxcHg7XHJcbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwOiA2cHg7XHJcblxyXG4vLyBPZmYgQ2FudmFzIEJhY2stTGluayBPdmVybGF5XHJcbi8vICRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlO1xyXG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjogcG9pbnRlcjtcclxuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93OiAtNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSksIDRweCAwIDRweCByZ2JhKCRibGFjaywgLjUpO1xyXG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuMik7XHJcbi8vICRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkd2hpdGUsIC4wNSk7XHJcblxyXG4vLyBUcmFuc2l0aW9uIFZhcmlhYmxlc1xyXG4vLyAkbWVudS1zbGlkZTogXCJ0cmFuc2Zvcm0gNTAwbXMgZWFzZVwiO1xyXG5cclxuLy8gMTkuIE9yYml0XHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtb3JiaXQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGNhcHRpb24gc3R5bGVzXHJcbi8vICRvcmJpdC1jb250YWluZXItYmc6IG5vbmU7XHJcbi8vICRvcmJpdC1jYXB0aW9uLWJnOiByZ2JhKDUxLDUxLDUxLCAuOCk7XHJcbi8vICRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I6ICR3aGl0ZTtcclxuLy8gJG9yYml0LWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uOiBcImJvdHRvbVwiOyAvLyBTdXBwb3J0ZWQgdmFsdWVzOiBcImJvdHRvbVwiLCBcInVuZGVyXCJcclxuLy8gJG9yYml0LWNhcHRpb24tcGFkZGluZzogcmVtLWNhbGMoMTAgMTQpO1xyXG4vLyAkb3JiaXQtY2FwdGlvbi1oZWlnaHQ6IGF1dG87XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGVmdC9yaWdodCBuYXYgc3R5bGVzXHJcbi8vICRvcmJpdC1uYXYtYmc6IHRyYW5zcGFyZW50O1xyXG4vLyAkb3JiaXQtbmF2LWJnLWhvdmVyOiByZ2JhKDAsMCwwLDAuMyk7XHJcbi8vICRvcmJpdC1uYXYtYXJyb3ctY29sb3I6ICR3aGl0ZTtcclxuLy8gJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjogJHdoaXRlO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xyXG4vLyAkb3JiaXQtdGltZXItYmc6IHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtcclxuLy8gJG9yYml0LXRpbWVyLXNob3ctcHJvZ3Jlc3MtYmFyOiB0cnVlO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJ1bGxldCBuYXYgc3R5bGVzXHJcbi8vICRvcmJpdC1idWxsZXQtbmF2LWNvbG9yOiAkaXJvbjtcclxuLy8gJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlOiAkYWx1bWludW07XHJcbi8vICRvcmJpdC1idWxsZXQtcmFkaXVzOiByZW0tY2FsYyg5KTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xyXG4vLyAkb3JiaXQtc2xpZGUtbnVtYmVyLWJnOiByZ2JhKDAsMCwwLDApO1xyXG4vLyAkb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I6ICR3aGl0ZTtcclxuLy8gJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nOiByZW0tY2FsYyg1KTtcclxuXHJcbi8vIEdyYWNlZnVsIExvYWRpbmcgV3JhcHBlciBhbmQgcHJlbG9hZGVyXHJcbi8vICR3cmFwcGVyLWNsYXNzOiBcInNsaWRlc2hvdy13cmFwcGVyXCI7XHJcbi8vICRwcmVsb2FkZXItY2xhc3M6IFwicHJlbG9hZGVyXCI7XHJcblxyXG4vLyBIaWRlIGNvbnRyb2xzIG9uIHNtYWxsXHJcbi8vICRvcmJpdC1uYXYtaGlkZS1mb3Itc21hbGw6IHRydWU7XHJcbi8vICRvcmJpdC1idWxsZXQtaGlkZS1mb3Itc21hbGw6IHRydWU7XHJcbi8vICRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbDogdHJ1ZTtcclxuXHJcbi8vIDIwLiBQYWdpbmF0aW9uXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLXBhZ2luYXRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyXHJcbi8vICRwYWdpbmF0aW9uLWhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG4vLyAkcGFnaW5hdGlvbi1tYXJnaW46IHJlbS1jYWxjKC01KTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGxpc3QtaXRlbSBwcm9wZXJ0aWVzXHJcbi8vICRwYWdpbmF0aW9uLWxpLWZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuLy8gJHBhZ2luYXRpb24tbGktaGVpZ2h0OiByZW0tY2FsYygyNCk7XHJcbi8vICRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I6ICRqZXQ7XHJcbi8vICRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4vLyAkcGFnaW5hdGlvbi1saS1tYXJnaW46IHJlbS1jYWxjKDUpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIGZvciB0aGUgcGFnaW5hdGlvbiBhbmNob3IgbGlua3NcclxuLy8gJHBhZ2luYXRpb24tbGluay1wYWQ6IHJlbS1jYWxjKDEgMTAgMSk7XHJcbi8vICRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjogJGFsdW1pbnVtO1xyXG4vLyAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMTAlKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSBmb3IgZGlzYWJsZWQgYW5jaG9yIGxpbmtzXHJcbi8vICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yOiBkZWZhdWx0O1xyXG4vLyAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I6ICRhbHVtaW51bTtcclxuLy8gJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU6IHRyYW5zcGFyZW50O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIGZvciBjdXJyZW50bHkgc2VsZWN0ZWQgYW5jaG9yIGxpbmtzXHJcbi8vICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I6ICR3aGl0ZTtcclxuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWN1cnNvcjogZGVmYXVsdDtcclxuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3I7XHJcblxyXG4vLyAyMS4gUGFuZWxzXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXNcclxuLy8gJHBhbmVsLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSk7XHJcbi8vICRwYW5lbC1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyAkcGFuZWwtYm9yZGVyLXNpemU6IDFweDtcclxuLy8gJGNhbGxvdXQtcGFuZWwtYmc6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA5NCUpO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcclxuLy8gJHBhbmVsLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHBhbmVsLWJnLCAkbGlnaHRuZXNzOiAtMTElKTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBpbm5lciBwYWRkaW5nIGFuZCBib3R0b20gbWFyZ2luXHJcbi8vICRwYW5lbC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbi8vICRwYW5lbC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgZm9udCBjb2xvcnNcclxuLy8gJHBhbmVsLWZvbnQtY29sb3I6ICRvaWw7XHJcbi8vICRwYW5lbC1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xyXG5cclxuLy8gJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWU7XHJcbi8vICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuXHJcbi8vIDIyLiBQcmljaW5nIFRhYmxlc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm9yZGVyIGNvbG9yXHJcbi8vICRwcmljZS10YWJsZS1ib3JkZXI6IHNvbGlkIDFweCAkZ2FpbnNib3JvO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgcHJpY2luZyB0YWJsZVxyXG4vLyAkcHJpY2UtdGFibGUtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpdGxlIHN0eWxlc1xyXG4vLyAkcHJpY2UtdGl0bGUtYmc6ICRvaWw7XHJcbi8vICRwcmljZS10aXRsZS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCk7XHJcbi8vICRwcmljZS10aXRsZS1hbGlnbjogY2VudGVyO1xyXG4vLyAkcHJpY2UtdGl0bGUtY29sb3I6ICRzbW9rZTtcclxuLy8gJHByaWNlLXRpdGxlLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHByaWNlLXRpdGxlLXNpemU6IHJlbS1jYWxjKDE2KTtcclxuLy8gJHByaWNlLXRpdGxlLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwcmljZSBzdHlsZXNcclxuLy8gJHByaWNlLW1vbmV5LWJnOiAkdmFwb3I7XHJcbi8vICRwcmljZS1tb25leS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCk7XHJcbi8vICRwcmljZS1tb25leS1hbGlnbjogY2VudGVyO1xyXG4vLyAkcHJpY2UtbW9uZXktY29sb3I6ICRvaWw7XHJcbi8vICRwcmljZS1tb25leS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRwcmljZS1tb25leS1zaXplOiByZW0tY2FsYygzMik7XHJcbi8vICRwcmljZS1tb25leS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblxyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGRlc2NyaXB0aW9uIHN0eWxlc1xyXG4vLyAkcHJpY2UtYmc6ICR3aGl0ZTtcclxuLy8gJHByaWNlLWRlc2MtY29sb3I6ICRtb25zb29uO1xyXG4vLyAkcHJpY2UtZGVzYy1wYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcbi8vICRwcmljZS1kZXNjLWFsaWduOiBjZW50ZXI7XHJcbi8vICRwcmljZS1kZXNjLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4vLyAkcHJpY2UtZGVzYy13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRwcmljZS1kZXNjLWxpbmUtaGVpZ2h0OiAxLjQ7XHJcbi8vICRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggJGdhaW5zYm9ybztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW0gc3R5bGVzXHJcbi8vICRwcmljZS1pdGVtLWNvbG9yOiAkb2lsO1xyXG4vLyAkcHJpY2UtaXRlbS1wYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcbi8vICRwcmljZS1pdGVtLWFsaWduOiBjZW50ZXI7XHJcbi8vICRwcmljZS1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4vLyAkcHJpY2UtaXRlbS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggJGdhaW5zYm9ybztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBDVEEgYXJlYSBzdHlsZXNcclxuLy8gJHByaWNlLWN0YS1iZzogJHdoaXRlO1xyXG4vLyAkcHJpY2UtY3RhLWFsaWduOiBjZW50ZXI7XHJcbi8vICRwcmljZS1jdGEtcGFkZGluZzogcmVtLWNhbGMoMjAgMjAgMCk7XHJcblxyXG4vLyAyMy4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBwcm9ncmVzcyBiYXIgaGVpZ2h0XHJcbi8vICRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSk7XHJcbi8vICRwcm9ncmVzcy1iYXItY29sb3I6ICR2YXBvcjtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXHJcbi8vICRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDIwJSk7XHJcbi8vICRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemU6IDFweDtcclxuLy8gJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcclxuLy8gJHByb2dyZXNzLWJhci1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBtZXRlciBjb2xvcnNcclxuLy8gJHByb2dyZXNzLW1ldGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuLy8gJHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xyXG4vLyAkcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3I6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI0LiBSYW5nZSBTbGlkZXJcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gVGhlc2UgdmFyaWFibGVzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcclxuLy8gJHJhbmdlLXNsaWRlci1iYXItd2lkdGg6IDEwMCU7XHJcbi8vICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDogcmVtLWNhbGMoMTYpO1xyXG5cclxuLy8gJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoOiAxcHg7XHJcbi8vICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybztcclxuLy8gJHJhbmdlLXNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQ7XHJcbi8vICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOiAkZ2hvc3Q7XHJcbi8vICRyYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0xJSk7XHJcblxyXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXHJcbi8vICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoOiByZW0tY2FsYygxNik7XHJcbi8vICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodDogcmVtLWNhbGMoMjAwKTtcclxuXHJcbi8vIFRoZXNlIHZhcmlhYmVscyBkZWZpbmUgdGhlIHNsaWRlciBoYW5kbGUgc3R5bGVzXHJcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoOiByZW0tY2FsYygzMik7XHJcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogcmVtLWNhbGMoMjIpO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKC01KTtcclxuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweDtcclxuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG9yOiBub25lO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1ob3Zlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMiUpO1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4vLyAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk6IC43O1xyXG4vLyAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZTtcclxuXHJcbi8vIDI1LiBSZXZlYWxcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSByZXZlYWwgb3ZlcmxheS5cclxuLy8gJHJldmVhbC1vdmVybGF5LWJnOiByZ2JhKCRibGFjaywgLjQ1KTtcclxuLy8gJHJldmVhbC1vdmVybGF5LWJnLW9sZDogJGJsYWNrO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSBtb2RhbCBpdHNlbGYuXHJcbi8vICRyZXZlYWwtbW9kYWwtYmc6ICR3aGl0ZTtcclxuLy8gJHJldmVhbC1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKDEwMCk7XHJcbi8vICRyZXZlYWwtZGVmYXVsdC13aWR0aDogODAlO1xyXG4vLyAkcmV2ZWFsLW1heC13aWR0aDogJHJvdy13aWR0aDtcclxuLy8gJHJldmVhbC1tb2RhbC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbi8vICRyZXZlYWwtYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssLjQpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSByZXZlYWwgY2xvc2UgYnV0dG9uXHJcbi8vICRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XHJcbi8vICRyZXZlYWwtY2xvc2UtdG9wOiByZW0tY2FsYygxMCk7XHJcbi8vICRyZXZlYWwtY2xvc2Utc2lkZTogcmVtLWNhbGMoMjIpO1xyXG4vLyAkcmV2ZWFsLWNsb3NlLWNvbG9yOiAkYmFzZTtcclxuLy8gJHJldmVhbC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXHJcbi8vICRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gJHJldmVhbC1yb3VuZDogJGdsb2JhbC1yb3VuZGVkO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1vZGFsIGJvcmRlclxyXG4vLyAkcmV2ZWFsLWJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICRyZXZlYWwtYm9yZGVyLXdpZHRoOiAxcHg7XHJcbi8vICRyZXZlYWwtYm9yZGVyLWNvbG9yOiAkc3RlZWw7XHJcblxyXG4vLyAkcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiO1xyXG4vLyAkY2xvc2UtcmV2ZWFsLW1vZGFsLWNsYXNzOiBcImNsb3NlLXJldmVhbC1tb2RhbFwiO1xyXG5cclxuLy8gMjYuIFNpZGUgTmF2XHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgcGFkZGluZy5cclxuLy8gJHNpZGUtbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDE0IDApO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGlzdCBzdHlsZXMuXHJcbi8vICRzaWRlLW5hdi1saXN0LXR5cGU6IG5vbmU7XHJcbi8vICRzaWRlLW5hdi1saXN0LXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4vLyAkc2lkZS1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDAgMCA3IDApO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGluayBzdHlsZXMuXHJcbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKTtcclxuLy8gJHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzaWRlLW5hdi1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpO1xyXG4vLyAkc2lkZS1uYXYtbGluay1iZy1ob3ZlcjogaHNsYSgwLCAwLCAwLCAuMDI1KTtcclxuLy8gJHNpZGUtbmF2LWxpbmstbWFyZ2luOiAwO1xyXG4vLyAkc2lkZS1uYXYtbGluay1wYWRkaW5nOiByZW0tY2FsYyg3IDE0KTtcclxuLy8gJHNpZGUtbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4vLyAkc2lkZS1uYXYtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU6ICRzaWRlLW5hdi1mb250LXdlaWdodDtcclxuLy8gJHNpZGUtbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuLy8gJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGluZyBzdHlsZXMuXHJcbi8vICRzaWRlLW5hdi1oZWFkaW5nLWNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvcjtcclxuLy8gJHNpZGUtbmF2LWhlYWRpbmctZm9udC1zaXplOiAkc2lkZS1uYXYtZm9udC1zaXplO1xyXG4vLyAkc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDogYm9sZDtcclxuLy8gJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcclxuLy8gJHNpZGUtbmF2LWRpdmlkZXItc2l6ZTogMXB4O1xyXG4vLyAkc2lkZS1uYXYtZGl2aWRlci1zdHlsZTogc29saWQ7XHJcbi8vICRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDEwJSk7XHJcblxyXG4vLyAyNy4gU3BsaXQgQnV0dG9uc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBkaWZmZXJlbnQgc2hhcmVkIHN0eWxlcyBmb3IgU3BsaXQgQnV0dG9uc1xyXG4vLyAkc3BsaXQtYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogMTAlO1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvcjogJHdoaXRlO1xyXG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XHJcbi8vICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbDtcclxuLy8gJHNwbGl0LWJ1dHRvbi1hY3RpdmUtYmctdGludDogcmdiYSgwLDAsMCwwLjEpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGlueSBzcGxpdCBidXR0b25zXHJcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy10bnk6ICRidXR0b24tcGlwLXRueSAqIDEwO1xyXG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55OiAkYnV0dG9uLXBpcC10bnkgKiA2O1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55O1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAyO1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTogcmVtLWNhbGMoLTYpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc21hbGwgc3BsaXQgYnV0dG9uc1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxMDtcclxuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDogJGJ1dHRvbi1waXAtc21sICogNjtcclxuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbDtcclxuLy8gJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXNtbDogJGJ1dHRvbi1waXAtc21sICogMS41O1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDogcmVtLWNhbGMoLTYpO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWVkaXVtIHNwbGl0IGJ1dHRvbnNcclxuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogOTtcclxuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNS41O1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMyk7XHJcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDEuNTtcclxuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ6IHJlbS1jYWxjKC02KTtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxhcmdlIHNwbGl0IGJ1dHRvbnNcclxuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogODtcclxuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNTtcclxuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpO1xyXG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtbHJnOiAkYnV0dG9uLXBpcC1scmcgKyByZW0tY2FsYyg1KTtcclxuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc6IHJlbS1jYWxjKC02KTtcclxuXHJcbi8vIDI4LiBTdWIgTmF2XHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4vLyAkc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCk7XHJcbi8vICRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpO1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGVmaW5pdGlvblxyXG4vLyAkc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbi8vICRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4vLyAkc3ViLW5hdi1mb250LWNvbG9yOiAkYWx1bWludW07XHJcbi8vICRzdWItbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkc3ViLW5hdi10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbi8vICRzdWItbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDMgMTYpO1xyXG4vLyAkc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHg7XHJcbi8vICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0yNSUpO1xyXG5cclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBhY3RpdmUgaXRlbSBzdHlsZXNcclxuXHJcbi8vICRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHN1Yi1uYXYtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvcjtcclxuLy8gJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4vLyAkc3ViLW5hdi1hY3RpdmUtY29sb3I6ICR3aGl0ZTtcclxuLy8gJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmc7XHJcbi8vICRzdWItbmF2LWFjdGl2ZS1jdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4vLyAkc3ViLW5hdi1pdGVtLWRpdmlkZXI6IFwiXCI7XHJcbi8vICRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW46IHJlbS1jYWxjKDEyKTtcclxuXHJcbi8vIDI5LiBTd2l0Y2hcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIENvbnRyb2xsaW5nIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyXHJcbi8vICRzd2l0Y2gtYmc6ICRnYWluc2Jvcm87XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3dpdGNoIGhlaWdodHMgZm9yIG91ciBkZWZhdWx0IGNsYXNzZXNcclxuLy8gJHN3aXRjaC1oZWlnaHQtdG55OiAxLjVyZW07XHJcbi8vICRzd2l0Y2gtaGVpZ2h0LXNtbDogMS43NXJlbTtcclxuLy8gJHN3aXRjaC1oZWlnaHQtbWVkOiAycmVtO1xyXG4vLyAkc3dpdGNoLWhlaWdodC1scmc6IDIuNXJlbTtcclxuLy8gJHN3aXRjaC1ib3R0b20tbWFyZ2luOiAxLjVyZW07XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHN3aXRjaC1wYWRkbGVcclxuLy8gJHN3aXRjaC1wYWRkbGUtYmc6ICR3aGl0ZTtcclxuLy8gJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZDogLjE1cztcclxuLy8gJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dDtcclxuLy8gJHN3aXRjaC1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cclxuLy8gMzAuIFRhYmxlc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWJsZSBhbmQgZXZlbiByb3dzXHJcbi8vICR0YWJsZS1iZzogJHdoaXRlO1xyXG4vLyAkdGFibGUtZXZlbi1yb3ctYmc6ICRzbm93O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgY2VsbCBib3JkZXIgc3R5bGVcclxuLy8gJHRhYmxlLWJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICR0YWJsZS1ib3JkZXItc2l6ZTogMXB4O1xyXG4vLyAkdGFibGUtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvO1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcclxuLy8gJHRhYmxlLWhlYWQtYmc6ICR3aGl0ZS1zbW9rZTtcclxuLy8gJHRhYmxlLWhlYWQtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRqZXQ7XHJcbi8vICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJHRhYmxlLWhlYWQtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBmb290IHN0eWxlc1xyXG4vLyAkdGFibGUtZm9vdC1iZzogJHRhYmxlLWhlYWQtYmc7XHJcbi8vICR0YWJsZS1mb290LWZvbnQtc2l6ZTogJHRhYmxlLWhlYWQtZm9udC1zaXplO1xyXG4vLyAkdGFibGUtZm9vdC1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xyXG4vLyAkdGFibGUtZm9vdC1mb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ7XHJcbi8vICR0YWJsZS1mb290LXBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmc7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIHRoZSBjYXB0aW9uXHJcbi8vIHRhYmxlLWNhcHRpb24tYmc6IHRyYW5zcGFyZW50O1xyXG4vLyAkdGFibGUtY2FwdGlvbi1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xyXG4vLyAkdGFibGUtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuLy8gJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIHRoZSByb3cgcGFkZGluZyBhbmQgZm9udCBzdHlsZXNcclxuLy8gJHRhYmxlLXJvdy1wYWRkaW5nOiByZW0tY2FsYyg5IDEwKTtcclxuLy8gJHRhYmxlLXJvdy1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuLy8gJHRhYmxlLXJvdy1mb250LWNvbG9yOiAkamV0O1xyXG4vLyAkdGFibGUtbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcclxuXHJcbi8vIFRoZXNlIGFyZSBmb3IgY29udHJvbGxpbmcgdGhlIGxheW91dCwgZGlzcGxheSBhbmQgbWFyZ2luIG9mIHRhYmxlc1xyXG4vLyAkdGFibGUtbGF5b3V0OiBhdXRvO1xyXG4vLyAkdGFibGUtZGlzcGxheTogdGFibGUtY2VsbDtcclxuLy8gJHRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHJcblxyXG4vLyAzMS4gVGFic1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLXRhYnMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNik7XHJcbi8vICR0YWJzLW5hdmlnYXRpb24tYmctY29sb3I6ICRzaWx2ZXI7XHJcbi8vICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGU7XHJcbi8vICR0YWJzLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I6IHNjYWxlLWNvbG9yKCR0YWJzLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC02JSk7XHJcbi8vICR0YWJzLW5hdmlnYXRpb24tZm9udC1jb2xvcjogJGpldDtcclxuLy8gJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yO1xyXG4vLyAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4vLyAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHJcbi8vICR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xyXG4vLyAkdGFicy1jb250ZW50LXBhZGRpbmc6ICgkY29sdW1uLWd1dHRlci8yKTtcclxuXHJcbi8vICR0YWJzLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcclxuXHJcbi8vIDMyLiBUaHVtYm5haWxzXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xyXG4vLyAkdGh1bWItYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gJHRodW1iLWJvcmRlci13aWR0aDogNHB4O1xyXG4vLyAkdGh1bWItYm9yZGVyLWNvbG9yOiAkd2hpdGU7XHJcbi8vICR0aHVtYi1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssLjIpO1xyXG4vLyAkdGh1bWItYm94LXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpO1xyXG5cclxuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcclxuLy8gJHRodW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vICR0aHVtYi10cmFuc2l0aW9uLXNwZWVkOiAyMDBtcztcclxuXHJcbi8vIDMzLiBUb29sdGlwc1xyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcblxyXG4vLyAkaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xyXG5cclxuLy8gJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkaXJvbjtcclxuLy8gJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4vLyAkaGFzLXRpcC1mb250LWNvbG9yOiAkb2lsO1xyXG4vLyAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyOiBkb3R0ZWQgMXB4IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNTUlKTtcclxuLy8gJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3I7XHJcbi8vICRoYXMtdGlwLWN1cnNvci10eXBlOiBoZWxwO1xyXG5cclxuLy8gJHRvb2x0aXAtcGFkZGluZzogcmVtLWNhbGMoMTIpO1xyXG4vLyAkdG9vbHRpcC1iZzogJG9pbDtcclxuLy8gJHRvb2x0aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbi8vICR0b29sdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4vLyAkdG9vbHRpcC1mb250LWNvbG9yOiAkd2hpdGU7XHJcbi8vICR0b29sdGlwLWxpbmUtaGVpZ2h0OiAxLjM7XHJcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xyXG4vLyAkdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHRvb2x0aXAtY2xvc2UtZm9udC1jb2xvcjogJG1vbnNvb247XHJcbi8vICR0b29sdGlwLWZvbnQtc2l6ZS1zbWw6IHJlbS1jYWxjKDE0KTtcclxuLy8gJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gJHRvb2x0aXAtcm91bmRlZDogJGdsb2JhbC1yb3VuZGVkO1xyXG4vLyAkdG9vbHRpcC1waXAtc2l6ZTogNXB4O1xyXG4vLyAkdG9vbHRpcC1tYXgtd2lkdGg6IDMwMHB4O1xyXG5cclxuLy8gMzQuIFRvcCBCYXJcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuXHJcbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXHJcbi8vICR0b3BiYXItYmctY29sb3I6ICRvaWw7XHJcbi8vICR0b3BiYXItYmc6ICR0b3BiYXItYmctY29sb3I7XHJcblxyXG4vLyBIZWlnaHQgYW5kIG1hcmdpblxyXG4vLyAkdG9wYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpO1xyXG4vLyAkdG9wYmFyLW1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4vLyBDb250cm9sbGluZyB0aGUgc3R5bGVzIGZvciB0aGUgdGl0bGUgaW4gdGhlIHRvcCBiYXJcclxuLy8gJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbi8vICR0b3BiYXItdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcblxyXG4vLyBTZXQgdGhlIGxpbmsgY29sb3JzIGFuZCBzdHlsZXMgZm9yIHRvcC1sZXZlbCBuYXZcclxuLy8gJHRvcGJhci1saW5rLWNvbG9yOiAkd2hpdGU7XHJcbi8vICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogJHdoaXRlO1xyXG4vLyAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbi8vICR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI6ICR3aGl0ZTtcclxuLy8gJHRvcGJhci1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4vLyAkdG9wYmFyLWxpbmstaG92ZXItbGlnaHRuZXNzOiAtMTAlOyAvLyBEYXJrZW4gYnkgMTAlXHJcbi8vICR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZztcclxuLy8gJHRvcGJhci1saW5rLWJnLWhvdmVyOiAkamV0O1xyXG4vLyAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI6ICRjaGFyY29hbDtcclxuLy8gJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbi8vICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuLy8gJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuLy8gJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4vLyAkdG9wYmFyLWxpbmstcGFkZGluZzogKCR0b3BiYXItaGVpZ2h0IC8gMyk7XHJcbi8vICR0b3BiYXItYmFjay1saW5rLXNpemU6IHJlbS1jYWxjKDE4KTtcclxuLy8gJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuLy8gJHRvcGJhci1idXR0b24tZm9udC1zaXplOiAuNzVyZW07XHJcbi8vICR0b3BiYXItYnV0dG9uLXRvcDogN3B4O1xyXG5cclxuLy8gU3R5bGUgdGhlIHRvcCBiYXIgZHJvcGRvd24gZWxlbWVudHNcclxuLy8gJHRvcGJhci1kcm9wZG93bi1iZzogJG9pbDtcclxuLy8gJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yOiAkd2hpdGU7XHJcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc6ICRvaWw7XHJcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjogJGpldDtcclxuLy8gJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuLy8gJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZTogNXB4O1xyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvcjogJHdoaXRlO1xyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYTogLjQ7XHJcblxyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yOiAkbW9uc29vbjtcclxuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEwKTtcclxuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZzogJG9pbDtcclxuXHJcbi8vIFRvcCBtZW51IGljb24gc3R5bGVzXHJcbi8vICR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4vLyAkdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuLy8gJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuLy8gJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRvcGJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZTtcclxuLy8gJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDogJGp1bWJvO1xyXG4vLyAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkOiAkanVtYm87XHJcbi8vICR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9uOiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyAvLyBDaGFuZ2UgdG8gJGRlZmF1bHQtZmxvYXQgZm9yIGEgbGVmdCBtZW51IGljb25cclxuXHJcbi8vIFRyYW5zaXRpb25zIGFuZCBicmVha3BvaW50IHN0eWxlc1xyXG4vLyAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zO1xyXG4vLyBVc2luZyByZW0tY2FsYyBmb3IgdGhlIGJlbG93IGJyZWFrcG9pbnQgY2F1c2VzIGlzc3VlcyB3aXRoIHRvcCBiYXJcclxuLy8gJHRvcGJhci1icmVha3BvaW50OiAje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfTsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcclxuLy8gJHRvcGJhci1tZWRpYS1xdWVyeTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHRvcGJhci1icmVha3BvaW50KX0pXCI7XHJcblxyXG4vLyBUb3AtYmFyIGlucHV0IHN0eWxlc1xyXG4vLyAkdG9wYmFyLWlucHV0LWhlaWdodDogcmVtLWNhbGMoMjgpO1xyXG5cclxuLy8gRGl2aWRlciBTdHlsZXNcclxuLy8gJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b206IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpO1xyXG4vLyAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xyXG5cclxuLy8gU3RpY2t5IENsYXNzXHJcbi8vICR0b3BiYXItc3RpY2t5LWNsYXNzOiBcIi5zdGlja3lcIjtcclxuLy8gJHRvcGJhci1hcnJvd3M6IHRydWU7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cclxuLy8gJHRvcGJhci1kcm9wZG93bi1hcnJvd3M6IHRydWU7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgXFwwMGJiID4+IHRleHQgZnJvbSBkcm9wZG93biBzdWJuYXZpZ2F0aW9uIGxpLy9cclxuXHJcbi8vIDM2LiBWaXNpYmlsaXR5IENsYXNzZXNcclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxyXG5cclxuLy8gJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcclxuLy8gJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzOiB0cnVlO1xyXG4vLyAkaW5jbHVkZS10YWJsZS12aXNpYmlsaXR5LWNsYXNzZXM6IHRydWU7XHJcbi8vICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXM6IHRydWU7XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCBodG1sIGFuZCBib2R5IGZvbnQtc2l6ZSBmb3IgdGhlIGJhc2UgcmVtIHZhbHVlLlxyXG4kcmVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XHJcblxyXG4vLyBJTVBPUlQgT05DRVxyXG4vLyBXZSB1c2UgdGhpcyB0byBwcmV2ZW50IHN0eWxlcyBmcm9tIGJlaW5nIGxvYWRlZCBtdWx0aXBsZSB0aW1lcyBmb3IgY29tcG9uZW50cyB0aGF0IHJlbHkgb24gb3RoZXIgY29tcG9uZW50cy5cclxuJG1vZHVsZXM6ICgpICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGV4cG9ydHMoJG5hbWUpIHtcclxuICAvLyBJbXBvcnQgZnJvbSBnbG9iYWwgc2NvcGVcclxuICAkbW9kdWxlczogJG1vZHVsZXMgIWdsb2JhbDtcclxuICAvLyBDaGVjayBpZiBhIG1vZHVsZSBpcyBhbHJlYWR5IG9uIHRoZSBsaXN0XHJcbiAgJG1vZHVsZV9pbmRleDogaW5kZXgoJG1vZHVsZXMsICRuYW1lKTtcclxuICBAaWYgKCgkbW9kdWxlX2luZGV4ID09IG51bGwpIG9yICgkbW9kdWxlX2luZGV4ID09IGZhbHNlKSkge1xyXG4gICAgJG1vZHVsZXM6IGFwcGVuZCgkbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vXHJcbi8vIEBmdW5jdGlvbnNcclxuLy9cclxuXHJcblxyXG4vLyBSQU5HRVNcclxuLy8gV2UgdXNlIHRoZXNlIGZ1bmN0aW9ucyB0byBkZWZpbmUgcmFuZ2VzIGZvciB2YXJpb3VzIHRoaW5ncywgbGlrZSBtZWRpYSBxdWVyaWVzLlxyXG5AZnVuY3Rpb24gbG93ZXItYm91bmQoJHJhbmdlKSB7XHJcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDw9IDAge1xyXG4gICAgQHJldHVybiAwO1xyXG4gIH1cclxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDEpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XHJcbiAgQGlmIGxlbmd0aCgkcmFuZ2UpIDwgMiB7XHJcbiAgICBAcmV0dXJuIDk5OTk5OTk5OTk5OTtcclxuICB9XHJcbiAgQHJldHVybiBudGgoJHJhbmdlLCAyKTtcclxufVxyXG5cclxuLy8gU1RSSVAgVU5JVFxyXG4vLyBJdCBzdHJpcHMgdGhlIHVuaXQgb2YgbWVhc3VyZSBhbmQgcmV0dXJucyBpdFxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XHJcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XHJcbn1cclxuXHJcbi8vIFRFWFQgSU5QVVQgVFlQRVNcclxuXHJcbkBmdW5jdGlvbiB0ZXh0LWlucHV0cyggJHR5cGVzOiBhbGwsICRzZWxlY3RvcjogaW5wdXQgKSB7XHJcblxyXG4gICRyZXR1cm46ICgpO1xyXG5cclxuICAkYWxsLXRleHQtaW5wdXQtdHlwZXM6XHJcbiAgICB0ZXh0XHJcbiAgICBwYXNzd29yZFxyXG4gICAgZGF0ZVxyXG4gICAgZGF0ZXRpbWVcclxuICAgIGRhdGV0aW1lLWxvY2FsXHJcbiAgICBtb250aFxyXG4gICAgd2Vla1xyXG4gICAgZW1haWxcclxuICAgIG51bWJlclxyXG4gICAgc2VhcmNoXHJcbiAgICB0ZWxcclxuICAgIHRpbWVcclxuICAgIHVybFxyXG4gICAgY29sb3JcclxuICAgIHRleHRhcmVhO1xyXG5cclxuICBAaWYgJHR5cGVzID09IGFsbCB7ICR0eXBlczogJGFsbC10ZXh0LWlucHV0LXR5cGVzOyB9XHJcblxyXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XHJcbiAgICBAaWYgJHR5cGUgPT0gdGV4dGFyZWEge1xyXG4gICAgICBAaWYgJHNlbGVjdG9yID09IGlucHV0IHtcclxuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0nKSwgY29tbWEpXHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyR0eXBlfSN7JHNlbGVjdG9yfScpLCBjb21tYSlcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCcjeyRzZWxlY3Rvcn1bdHlwZT1cIiN7JHR5cGV9XCJdJyksIGNvbW1hKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgICBAcmV0dXJuICRyZXR1cm47XHJcblxyXG59XHJcblxyXG4vLyBDT05WRVJUIFRPIFJFTVxyXG5AZnVuY3Rpb24gY29udmVydC10by1yZW0oJHZhbHVlLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XHJcbiAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlLXZhbHVlKSAqIDFyZW07XHJcbiAgQGlmICgkdmFsdWUgPT0gMHJlbSkgeyAkdmFsdWU6IDA7IH0gLy8gVHVybiAwcmVtIGludG8gMFxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZGF0YSgkYXR0cikge1xyXG4gIEBpZiAkbmFtZXNwYWNlIHtcclxuICAgIEByZXR1cm4gJ1tkYXRhLScgKyAkbmFtZXNwYWNlICsgJy0nICsgJGF0dHIgKyAnXSc7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICdbZGF0YS0nICsgJGF0dHIgKyAnXSc7XHJcbn1cclxuXHJcbi8vIFJFTSBDQUxDXHJcblxyXG4vLyBOZXcgU3ludGF4LCBhbGxvd3MgdG8gb3B0aW9uYWxseSBjYWxjdWxhdGUgb24gYSBkaWZmZXJlbnQgYmFzZSB2YWx1ZSB0byBjb3VudGVyIGNvbXBvdW5kaW5nIGVmZmVjdCBvZiByZW0ncy5cclxuLy8gQ2FsbCB3aXRoIDEsIDIsIDMgb3IgNCBwYXJhbWV0ZXJzLCAncHgnIGlzIG5vdCByZXF1aXJlZCBidXQgc3VwcG9ydGVkOlxyXG4vL1xyXG4vLyAgIHJlbS1jYWxjKDEwIDIwIDMwcHggNDApO1xyXG4vL1xyXG4vLyBTcGFjZSBkZWxpbWl0ZWQsIGlmIHlvdSB3YW50IHRvIGRlbGltaXQgdXNpbmcgY29tbWEncywgd3JhcCBpdCBpbiBhbm90aGVyIHBhaXIgb2YgYnJhY2tldHNcclxuLy9cclxuLy8gICByZW0tY2FsYygoMTAsIDIwLCAzMCwgNDBweCkpO1xyXG4vL1xyXG4vLyBPcHRpb25hbGx5IGNhbGwgd2l0aCBhIGRpZmZlcmVudCBiYXNlIChlZzogOHB4KSB0byBjYWxjdWxhdGUgcmVtLlxyXG4vL1xyXG4vLyAgIHJlbS1jYWxjKDE2cHggMzJweCA0OHB4LCA4cHgpO1xyXG4vL1xyXG4vLyBJZiB5b3UgcmVxdWlyZSB0byBjb21tYSBzZXBhcmF0ZSB5b3VyIGxpc3RcclxuLy9cclxuLy8gICByZW0tY2FsYygoMTZweCwgMzJweCwgNDgpLCA4cHgpO1xyXG5cclxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcclxuICAkbWF4OiBsZW5ndGgoJHZhbHVlcyk7XHJcblxyXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAxKSwgJGJhc2UtdmFsdWUpOyB9XHJcblxyXG4gICRyZW1WYWx1ZXM6ICgpO1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XHJcbiAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcclxuICB9XHJcbiAgQHJldHVybiAkcmVtVmFsdWVzO1xyXG59XHJcblxyXG5cclxuQGZ1bmN0aW9uIGVtLWNhbGMoJHZhbHVlcykge1xyXG4gICRyZW1WYWx1ZXM6IHJlbS1jYWxjKCR2YWx1ZXMpO1xyXG5cclxuICAkbWF4OiBsZW5ndGgoJHJlbVZhbHVlcyk7XHJcblxyXG4gIEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsIDEpKSAqIDFlbTsgfVxyXG5cclxuICAkZW1WYWx1ZXM6ICgpO1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XHJcbiAgICAkZW1WYWx1ZXM6IGFwcGVuZCgkZW1WYWx1ZXMsIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsICRpKSkgKiAxZW0pO1xyXG4gIH1cclxuICBAcmV0dXJuICRlbVZhbHVlcztcclxufVxyXG5cclxuXHJcbi8vIERlcHJlY2F0ZWQ6IE9MRCBFTSBDQUxDXHJcbkBmdW5jdGlvbiBlbUNhbGMoJHZhbHVlcykge1xyXG4gIEByZXR1cm4gZW0tY2FsYygkdmFsdWVzKTtcclxufVxyXG4iLCIvKlxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuIEN1c3RvbSBBS1ZBVklUIE1peGluc1xyXG5cclxuIFRoZXNlIGFyZSBvcHRpb25hbC4gVW5jb21tZW50IEBpbXBvcnQgXCJtaXhpbnNcIjsgaW4gYXBwLnNjc3MgdG8gdXNlIHRoZW0uXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qL1xyXG5cclxuQGZ1bmN0aW9uIGltYWdlLXVybCggJHVybCApIHtcclxuICAgIEByZXR1cm4gdXJsKCcuLi9pbWFnZXMvI3skdXJsfScpO1xyXG59XHJcblxyXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcclxuICB3aWR0aDogJHdpZHRoO1xyXG4gIGhlaWdodDogJGhlaWdodDtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogICAgJHRyYW5zaXRpb247XHJcbiAgICAtby10cmFuc2l0aW9uOiAgICAgICR0cmFuc2l0aW9uO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcclxuICAgIHRyYW5zaXRpb246ICAgICAgICAgJHRyYW5zaXRpb247XHJcbn1cclxuXHJcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcclxuICBALW8ta2V5ZnJhbWVzICRuYW1lIHsgQGNvbnRlbnQgfTtcclxuICBALW1vei1rZXlmcmFtZXMgJG5hbWUgeyBAY29udGVudCB9O1xyXG4gIEAtd2Via2l0LWtleWZyYW1lcyAkbmFtZSB7IEBjb250ZW50IH07XHJcbiAgQC1rZXlmcmFtZXMgJG5hbWUgeyBAY29udGVudCB9O1xyXG59XHJcbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZS4uLikge1xyXG4gIC1vLWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcclxuICAtbW96LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcclxuICBhbmltYXRpb24tbmFtZTogJG5hbWU7XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24uLi4pIHtcclxuICAtby1hbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcclxuICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24uLi4pIHtcclxuICAtby1hbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcclxuICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy4uLikge1xyXG4gIC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XHJcbiAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xyXG59XHJcbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRjb3VudC4uLikge1xyXG4gIC1vLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRjb3VudDtcclxuICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRjb3VudDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRjb3VudDtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkY291bnQ7XHJcbn1cclxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbi4uLikge1xyXG4gIC1vLWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgLW1vei1hbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG59XHJcbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLi4uKSB7XHJcbiAgLW8tYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGw7XHJcbiAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsO1xyXG59XHJcbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGUuLi4pIHtcclxuICAtby1hbmltYXRpb24tcGxheS1zdGF0ZTogJHN0YXRlO1xyXG4gIC1tb3otYW5pbWF0aW9uLXBsYXktc3RhdGU6ICRzdGF0ZTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiAkc3RhdGU7XHJcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6ICRzdGF0ZTtcclxufVxyXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24uLi4pIHtcclxuICAtby1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgLW1vei1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xyXG59XHJcblxyXG4vLyBnZW5lcmljIHRyYW5zZm9ybVxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcblx0ICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG5cdCAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuXHQgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcblx0LXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG4vLyByb3RhdGVcclxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XHJcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgjeyRkZWd9ZGVnKSk7XHJcbn1cclxuXHJcbi8vIHNjYWxlXHJcbkBtaXhpbiBzY2FsZSgkc2NhbGUpIHtcclxuXHQgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRzY2FsZSkpO1xyXG59XHJcbi8vIHRyYW5zbGF0ZVxyXG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xyXG4gICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKCR4LCAkeSkpO1xyXG59XHJcbi8vIHNrZXdcclxuQG1peGluIHNrZXcoJHgsICR5KSB7XHJcbiAgIEBpbmNsdWRlIHRyYW5zZm9ybShza2V3KCN7JHh9ZGVnLCAjeyR5fWRlZykpO1xyXG59XHJcbi8vdHJhbnNmb3JtIG9yaWdpblxyXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbiAoJG9yaWdpbikge1xyXG4gICAgbW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XHJcblx0ICAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xyXG5cdCAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcclxuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XHJcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xyXG59XHJcblxyXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcclxuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xyXG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XHJcblxyXG4gICRvZmZzZXRzOiAoXHJcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxyXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcclxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXHJcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXHJcbiAgKTtcclxuXHJcbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcclxuXHJcbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcclxuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xyXG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XHJcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcclxuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcclxuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xyXG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xyXG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiXHJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXHJcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8gTWFrZSBzdXJlIHRoZSBjaGFyc2V0IGlzIHNldCBhcHByb3ByaWF0ZWx5XHJcblxyXG4vLyBCZWhvbGQsIGhlcmUgYXJlIGFsbCB0aGUgRm91bmRhdGlvbiBjb21wb25lbnRzLlxyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvZ3JpZCc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9hY2NvcmRpb24nO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvYWxlcnQtYm94ZXMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvYmxvY2stZ3JpZCc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9icmVhZGNydW1icyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9idXR0b24tZ3JvdXBzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2J1dHRvbnMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvY2xlYXJpbmcnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvZHJvcGRvd24nO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9ucyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9mbGV4LXZpZGVvJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2Zvcm1zJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2ljb24tYmFyJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2lubGluZS1saXN0cyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9qb3lyaWRlJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL2tleXN0cm9rZXMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvbGFiZWxzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL21hZ2VsbGFuJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL29yYml0JztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3BhZ2luYXRpb24nO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcGFuZWxzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3ByaWNpbmctdGFibGVzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3Byb2dyZXNzLWJhcnMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvcmFuZ2Utc2xpZGVyJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3JldmVhbCc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9zaWRlLW5hdic7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9zcGxpdC1idXR0b25zJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3N1Yi1uYXYnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvc3dpdGNoZXMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvdGFibGVzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3RhYnMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvdGh1bWJzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3Rvb2x0aXBzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi9jb21wb25lbnRzL3RvcC1iYXInO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvdHlwZSc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vY29tcG9uZW50cy9vZmZjYW52YXMnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCkgIWRlZmF1bHQ7XHJcbiR0b3RhbC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcclxuXHJcbiRsYXN0LWNoaWxkLWZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gR3JpZCBGdW5jdGlvbnNcclxuLy9cclxuXHJcbi8vIERlcHJlY2F0ZWQ6IFdlJ2xsIGRyb3Agc3VwcG9ydCBmb3IgdGhpcyBpbiA1LjEsIHVzZSBncmlkLWNhbGMoKVxyXG5AZnVuY3Rpb24gZ3JpZENhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xyXG4gIEB3YXJuIFwiZ3JpZENhbGMoKSBpcyBkZXByZWNhdGVkLCB1c2UgZ3JpZC1jYWxjKClcIjtcclxuICBAcmV0dXJuIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKTtcclxufVxyXG5cclxuLy8gQEZVTkNUSU9OXHJcbi8vICRjb2xOdW1iZXIgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXHJcbi8vICR0b3RhbENvbHVtbnMgLSBGb3VuZCBpbiBzZXR0aW5ncyBmaWxlXHJcbkBmdW5jdGlvbiBncmlkLWNhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xyXG4gICRyZXN1bHQ6IHBlcmNlbnRhZ2UoKCRjb2xOdW1iZXIgLyAkdG90YWxDb2x1bW5zKSk7XHJcbiAgQGlmICRyZXN1bHQgPT0gMCUgeyAkcmVzdWx0OiAwOyB9XHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcblxyXG4vLyBGb3IgY3JlYXRpbmcgY29udGFpbmVyLCBuZXN0ZWQsIGFuZCBjb2xsYXBzZWQgcm93cy5cclxuLy9cclxuLy9cclxuLy8gJGJlaGF2aW9yIC0gQW55IHNwZWNpYWwgYmVoYXZpb3IgZm9yIHRoaXMgcm93PyBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogbmVzdCwgY29sbGFwc2UsIG5lc3QtY29sbGFwc2UsIGZhbHNlLlxyXG5AbWl4aW4gZ3JpZC1yb3coJGJlaGF2aW9yOiBmYWxzZSkge1xyXG5cclxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3cobmVzdCk7IHRvIGluY2x1ZGUgYSBuZXN0ZWQgcm93XHJcbiAgQGlmICRiZWhhdmlvciA9PSBuZXN0IHtcclxuICAgIG1hcmdpbjogMCAoLSgkY29sdW1uLWd1dHRlci8yKSk7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9XHJcblxyXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhjb2xsYXBzZSk7IHRvIGNvbGxhcHNlZCBhIGNvbnRhaW5lciByb3cgbWFyZ2luc1xyXG4gIEBlbHNlIGlmICRiZWhhdmlvciA9PSBjb2xsYXBzZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0LWNvbGxhcHNlKTsgdG8gY29sbGFwc2Ugb3V0ZXIgbWFyZ2lucyBvbiBhIG5lc3RlZCByb3dcclxuICBAZWxzZSBpZiAkYmVoYXZpb3IgPT0gbmVzdC1jb2xsYXBzZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9XHJcblxyXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdzsgdG8gdXNlIGEgY29udGFpbmVyIHJvd1xyXG4gIEBlbHNlIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAkcm93LXdpZHRoO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAvLyBDbGVhcmZpeCBmb3IgYWxsIHJvd3NcclxuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG59XHJcblxyXG4vLyBDcmVhdGVzIGEgY29sdW1uLCBzaG91bGQgYmUgdXNlZCBpbnNpZGUgb2YgYSBtZWRpYSBxdWVyeSB0byBjb250cm9sIGxheW91dHNcclxuLy9cclxuLy8gJGNvbHVtbnMgLSBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhpcyBzaG91bGQgYmVcclxuLy8gJGxhc3QtY29sdW1uIC0gSXMgdGhpcyB0aGUgbGFzdCBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxyXG4vLyAkY2VudGVyIC0gQ2VudGVyIHRoZXNlIGNvbHVtbnM/IERlZmF1bHQ6IGZhbHNlLlxyXG4vLyAkb2Zmc2V0IC0gIyBvZiBjb2x1bW5zIHRvIG9mZnNldC4gRGVmYXVsdDogZmFsc2UuXHJcbi8vICRwdXNoIC0gIyBvZiBjb2x1bW5zIHRvIHB1c2guIERlZmF1bHQ6IGZhbHNlLlxyXG4vLyAkcHVsbCAtICMgb2YgY29sdW1ucyB0byBwdWxsLiBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJGNvbGxhcHNlIC0gR2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZyBvbiBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxyXG4vLyAkZmxvYXQgLSBTaG91bGQgdGhpcyBmbG9hdD8gRGVmYXVsdDogdHJ1ZS4gT3B0aW9uczogdHJ1ZSwgZmFsc2UsIGxlZnQsIHJpZ2h0LlxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXHJcbiAgJGNvbHVtbnM6ZmFsc2UsXHJcbiAgJGxhc3QtY29sdW1uOmZhbHNlLFxyXG4gICRjZW50ZXI6ZmFsc2UsXHJcbiAgJG9mZnNldDpmYWxzZSxcclxuICAkcHVzaDpmYWxzZSxcclxuICAkcHVsbDpmYWxzZSxcclxuICAkY29sbGFwc2U6ZmFsc2UsXHJcbiAgJGZsb2F0OnRydWUsXHJcbiAgJHBvc2l0aW9uOmZhbHNlKSB7XHJcblxyXG4gIC8vIElmIHBvc2l0aW9uZWQgZm9yIGRlZmF1bHQgLmNvbHVtbiwgaW5jbHVkZSByZWxhdGl2ZSBwb3NpdGlvblxyXG4gIC8vIHB1c2ggYW5kIHB1bGwgcmVxdWlyZSBwb3NpdGlvbiBzZXRcclxuICBAaWYgJHBvc2l0aW9uIG9yICRwdXNoIG9yICRwdWxsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gIC8vIElmIGNvbGxhcHNlZCwgZ2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZ1xyXG4gIEBpZiAkY29sbGFwc2Uge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcblxyXG4gIC8vIEd1dHRlciBwYWRkaW5nIHdoZW5ldmVyIGEgY29sdW1uIGlzbid0IHNldCB0byBjb2xsYXBzZVxyXG4gIC8vICh1c2UgJGNvbGxhcHNlOm51bGwgdG8gZG8gbm90aGluZylcclxuICBAZWxzZSBpZiAkY29sbGFwc2UgPT0gZmFsc2Uge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICgkY29sdW1uLWd1dHRlciAvIDIpO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgYSBjb2x1bW4gbnVtYmVyIGlzIGdpdmVuLCBjYWxjdWxhdGUgd2lkdGhcclxuICBAaWYgJGNvbHVtbnMge1xyXG4gICAgd2lkdGg6IGdyaWQtY2FsYygkY29sdW1ucywgJHRvdGFsLWNvbHVtbnMpO1xyXG5cclxuICAgIC8vIElmIGxhc3QgY29sdW1uLCBmbG9hdCBuYXR1cmFsbHkgaW5zdGVhZCBvZiB0byB0aGUgcmlnaHRcclxuICAgIEBpZiAkbGFzdC1jb2x1bW4geyBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjsgfVxyXG4gIH1cclxuXHJcbiAgLy8gU291cmNlIE9yZGVyaW5nLCBhZGRzIGxlZnQvcmlnaHQgZGVwZW5kaW5nIG9uIHdoaWNoIHlvdSB1c2UuXHJcbiAgQGlmICRwdXNoIHsgI3skZGVmYXVsdC1mbG9hdH06IGdyaWQtY2FsYygkcHVzaCwgJHRvdGFsLWNvbHVtbnMpOyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvOyB9XHJcbiAgQGlmICRwdWxsIHsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogZ3JpZC1jYWxjKCRwdWxsLCAkdG90YWwtY29sdW1ucyk7ICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvOyB9XHJcblxyXG4gIEBpZiAkZmxvYXQge1xyXG4gICAgQGlmICRmbG9hdCA9PSBsZWZ0IG9yICRmbG9hdCA9PSB0cnVlIHsgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0OyB9XHJcbiAgICBAZWxzZSBpZiAkZmxvYXQgPT0gcmlnaHQgeyBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjsgfVxyXG4gICAgQGVsc2UgeyBmbG9hdDogbm9uZTsgfVxyXG4gIH1cclxuXHJcbiAgLy8gSWYgY2VudGVyZWQsIGdldCByaWQgb2YgZmxvYXQgYW5kIGFkZCBhcHByb3ByaWF0ZSBtYXJnaW5zXHJcbiAgQGlmICRjZW50ZXIge1xyXG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xyXG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIElmIG9mZnNldCwgY2FsY3VsYXRlIGFwcHJvcHJpYXRlIG1hcmdpbnNcclxuICBAaWYgJG9mZnNldCB7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogZ3JpZC1jYWxjKCRvZmZzZXQsICR0b3RhbC1jb2x1bW5zKSAhaW1wb3J0YW50OyB9XHJcblxyXG59XHJcblxyXG4vLyBDcmVhdGUgcHJlc2VudGF0aW9uYWwgY2xhc3NlcyBmb3IgZ3JpZFxyXG4vL1xyXG4vLyAkc2l6ZSAtIE5hbWUgb2YgY2xhc3MgdG8gdXNlLCBpLmUuIFwibGFyZ2VcIiB3aWxsIGdlbmVyYXRlIC5sYXJnZS0xLCAubGFyZ2UtMiwgZXRjLlxyXG5AbWl4aW4gZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUpIHtcclxuXHJcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xyXG4gICAgLiN7JHNpemV9LXB1c2gtI3skaX0ge1xyXG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XHJcbiAgICB9XHJcbiAgICAuI3skc2l6ZX0tcHVsbC0jeyRpfSB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb2x1bW4sXHJcbiAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczpmYWxzZSwgJHBvc2l0aW9uOnRydWUpOyB9XHJcblxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIHtcclxuICAgIC4jeyRzaXplfS0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xyXG4gICAgLiN7JHNpemV9LW9mZnNldC0jeyRpfSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRvZmZzZXQ6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpOyB9XHJcbiAgfVxyXG5cclxuICAuI3skc2l6ZX0tcmVzZXQtb3JkZXIge1xyXG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkLFxyXG4gIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNlbnRlcjp0cnVlLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTsgfVxyXG5cclxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQsXHJcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZCB7XHJcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICB9XHJcblxyXG4gIC8vIEZpZ2h0aW5nIFtjbGFzcyo9XCJjb2x1bW5cIl0gKyBbY2xhc3MqPVwiY29sdW1uXCJdOmxhc3QtY2hpbGRcclxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGQsXHJcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQ6bGFzdC1jaGlsZHtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLy8gRmlnaHRpbmcgLmNvbHVtbi48cHJldmlvdXMtc2l6ZT4tY2VudGVyZWQ6bGFzdC1jaGlsZFxyXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxyXG4gIC5jb2x1bW5zLiN7JHNpemV9LXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XHJcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgfVxyXG5cclxuICAuY29sdW1uLiN7JHNpemV9LXVuY2VudGVyZWQub3Bwb3NpdGUsXHJcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XHJcbiAgICBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjtcclxuICB9XHJcblxyXG5cdC5yb3cge1xyXG5cdFx0Ji4jeyRzaXplfS1jb2xsYXBzZSB7XHJcblx0XHRcdD4gLmNvbHVtbixcclxuXHRcdFx0PiAuY29sdW1ucyB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2xsYXBzZTp0cnVlLCAkZmxvYXQ6ZmFsc2UpOyB9XHJcblxyXG5cdFx0XHQucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XHJcblx0XHR9XHJcblx0XHQmLiN7JHNpemV9LXVuY29sbGFwc2Uge1xyXG5cdFx0XHQ+IC5jb2x1bW4sXHJcblx0XHRcdD4gLmNvbHVtbnMge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiZ3JpZFwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzIHtcclxuICAgIC5yb3cge1xyXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdztcclxuXHJcbiAgICAgICYuY29sbGFwc2Uge1xyXG4gICAgICAgICA+IC5jb2x1bW4sXHJcbiAgICAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxyXG5cclxuICAgICAgICAucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yb3cgeyBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6bmVzdCk7XHJcbiAgICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0LWNvbGxhcHNlKTsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbHVtbixcclxuICAgIC5jb2x1bW5zIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnM6JHRvdGFsLWNvbHVtbnMpOyB9XHJcblxyXG4gICAgLmNvbHVtbixcclxuICAgIC5jb2x1bW5zIHtcclxuICAgICAgJiArICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgZmxvYXQ6ICRsYXN0LWNoaWxkLWZsb2F0O1xyXG4gICAgICB9XHJcbiAgICAgICYgKyAmLmVuZCB7XHJcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsLXVwfSB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOm1lZGl1bSk7XHJcbiAgICAgIC8vIE9sZCBwdXNoIGFuZCBwdWxsIGNsYXNzZXNcclxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xyXG4gICAgICAgIC5wdXNoLSN7JGl9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnB1bGwtI3skaX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlKTtcclxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xyXG4gICAgICAgIC5wdXNoLSN7JGl9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdXNoOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnB1bGwtI3skaX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1bGw6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXMge1xyXG4gICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xyXG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4bGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhICN7JHh4bGFyZ2UtdXB9IHtcclxuICAgICAgQGluY2x1ZGUgZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eHhsYXJnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnLi4vZnVuY3Rpb25zJztcclxuLy9cclxuLy8gRm91bmRhdGlvbiBWYXJpYWJsZXNcclxuLy9cclxuXHJcbi8vIERhdGEgYXR0cmlidXRlIG5hbWVzcGFjZVxyXG4vLyBzdHlsZXMgZ2V0IGFwcGxpZWQgdG8gW2RhdGEtbXlzaXRlLXBsdWdpbl0sIGV0Y1xyXG4kbmFtZXNwYWNlOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxyXG4vLyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGJyb3dzZXItYmFzZWQgdGV4dCB6b29tIG9yIHVzZXItc2V0IGRlZmF1bHRzLlxyXG5cclxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxyXG4vLyBJZiB5b3Ugd2FudCB5b3VyIGJhc2UgZm9udC1zaXplIHRvIGJlIGRpZmZlcmVudCBhbmQgbm90IGhhdmUgaXQgYWZmZWN0IHRoZSBncmlkIGJyZWFrcG9pbnRzLFxyXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxyXG4kYmFzZS1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XHJcblxyXG4vLyAkYmFzZS1saW5lLWhlaWdodCBpcyAyNHB4IHdoaWxlICRiYXNlLWZvbnQtc2l6ZSBpcyAxNnB4XHJcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBHbG9iYWwgRm91bmRhdGlvbiBNaXhpbnNcclxuLy9cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzLlxyXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogJGdsb2JhbC1yYWRpdXMgfHwgNHB4XHJcbkBtaXhpbiByYWRpdXMoJHJhZGl1czokZ2xvYmFsLXJhZGl1cykge1xyXG4gIEBpZiAkcmFkaXVzIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBlcXVhbCBzaWRlIGJvcmRlciByYWRpdXMgb24gZWxlbWVudHMuXHJcbi8vICRzaWRlIC0gT3B0aW9uczogbGVmdCwgcmlnaHQsIHRvcCwgYm90dG9tXHJcbkBtaXhpbiBzaWRlLXJhZGl1cygkc2lkZSwgJHJhZGl1czokZ2xvYmFsLXJhZGl1cykge1xyXG4gIEBpZiAoJHNpZGUgPT0gbGVmdCBvciAkc2lkZSA9PSByaWdodCkge1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBib3JkZXItYm90dG9tLSN7JHNpZGV9LXJhZGl1czogJHJhZGl1cztcclxuICAgIGJvcmRlci10b3AtI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgLXdlYmtpdC0jeyRzaWRlfS1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICAgIC13ZWJraXQtI3skc2lkZX0tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYm9yZGVyLSN7JHNpZGV9LWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYm9yZGVyLSN7JHNpZGV9LXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICB9XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3Qgd2UgaGF2ZSBpbnNldCBzaGFkb3dzIGVkZ2VzLlxyXG4vLyAkYWN0aXZlIC0gRGVmYXVsdDogdHJ1ZSwgT3B0aW9uczogZmFsc2VcclxuQG1peGluIGluc2V0LXNoYWRvdygkYWN0aXZlOnRydWUpIHtcclxuICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWNvbG9yIGluc2V0O1xyXG5cclxuICBAaWYgJGFjdGl2ZSB7ICY6YWN0aXZlIHtcclxuICAgIGJveC1zaGFkb3c6ICRzaGlueS1lZGdlLXNpemUgJHNoaW55LWVkZ2UtYWN0aXZlLWNvbG9yIGluc2V0OyB9IH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgdHJhbnNpdGlvbnMgdG8gZWxlbWVudHNcclxuLy8gJHByb3BlcnR5IC0gRGVmYXVsdDogYWxsLCBPcHRpb25zOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRyYW5zaXRpb25zLyNhbmltYXRhYmxlLXByb3BlcnRpZXNcclxuLy8gJHNwZWVkIC0gRGVmYXVsdDogMzAwbXNcclxuLy8gJGVhc2UgLSBEZWZhdWx0OmVhc2Utb3V0LCBPcHRpb25zOiBodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL3QvdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24vXHJcbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbigkcHJvcGVydHk6YWxsLCAkc3BlZWQ6MzAwbXMsICRlYXNlOmVhc2Utb3V0KSB7XHJcbiAgdHJhbnNpdGlvbjogJHByb3BlcnR5ICRzcGVlZCAkZWFzZTtcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYm94LXNpemluZyBhY3Jvc3MgYnJvd3NlciBwcmVmaXhlc1xyXG5AbWl4aW4gYm94LXNpemluZygkdHlwZTpib3JkZXItYm94KSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gQW5kcm9pZCA8IDIuMywgaU9TIDwgNFxyXG4gICAgIC1tb3otYm94LXNpemluZzogJHR5cGU7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiAkdHlwZTsgLy8gQ2hyb21lLCBJRSA4KywgT3BlcmEsIFNhZmFyaSA1LjFcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgaXNvc2NlbGVzIHRyaWFuZ2xlc1xyXG4vLyAkdHJpYW5nbGUtc2l6ZSAtIFVzZWQgdG8gc2V0IGJvcmRlci1zaXplLiBObyBkZWZhdWx0LCBzZXQgYSBweCBvciBlbSBzaXplLlxyXG4vLyAkdHJpYW5nbGUtY29sb3IgLSBVc2VkIHRvIHNldCBib3JkZXItY29sb3Igd2hpY2ggbWFrZXMgdXAgdHJpYW5nbGUuIE5vIGRlZmF1bHRcclxuLy8gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIFVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIGRpcmVjdGlvbiB0cmlhbmdsZSBwb2ludHMuIE9wdGlvbnM6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxyXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcclxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHdpZHRoOiAwO1xyXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB0b3ApIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgfVxyXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBib3R0b20pIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbiAgfVxyXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcclxuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcclxuICB9XHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgaWNvbiB3aXRoIHRocmVlIGxpbmVzIGFrYSB0aGUgaGFtYnVyZ2VyIGljb24sIHRoZSBtZW51LWljb24gb3IgdGhlIG5hdmljb25cclxuLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtXHJcbi8vICRsZWZ0IC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCBob3Jpem9udGFsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXHJcbi8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXHJcbi8vICR0aGlja25lc3MgLSB0aGlja25lc3Mgb2YgbGluZXMgaW4gaGFtYnVyZ2VyIGljb24sIHNldCB2YWx1ZSBpbiBweFxyXG4vLyAkZ2FwIC0gc3BhY2luZyBiZXR3ZWVuIHRoZSBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4XHJcbi8vICRjb2xvciAtIGljb24gY29sb3JcclxuLy8gJGhvdmVyLWNvbG9yIC0gaWNvbiBjb2xvciBkdXJpbmcgaG92ZXJcclxuLy8gJG9mZmNhbnZhcyAtIFNldCB0byB0cnVlIG9mIEBpbmNsdWRlIGluIG9mZmNhbnZhc1xyXG5AbWl4aW4gaGFtYnVyZ2VyKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yLCAkb2ZmY2FudmFzKSB7XHJcbiAgc3Bhbjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgIEBpZiAkb2ZmY2FudmFzIHtcclxuICAgICAgQGlmICR0b3Age1xyXG4gICAgICAgIHRvcDogJHRvcDtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kd2lkdGgvMik7XHJcbiAgICAgIH1cclxuICAgICAgQGlmICRsZWZ0IHtcclxuICAgICAgICBsZWZ0OiAkbGVmdDtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgbGVmdDogKCR0YWJiYXItbWVudS1pY29uLXdpZHRoIC0gJHdpZHRoKS8yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0oJHdpZHRoLzIpO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgYm94LXNoYWRvdzpcclxuICAgICAgMCAwIDAgJHRoaWNrbmVzcyAkY29sb3IsXHJcbiAgICAgIDAgJGdhcCArICR0aGlja25lc3MgMCAkdGhpY2tuZXNzICRjb2xvcixcclxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkY29sb3I7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gIH1cclxuICBzcGFuOmhvdmVyOmFmdGVyIHtcclxuICAgIGJveC1zaGFkb3c6XHJcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxyXG4gICAgICAwICRnYXAgKyAkdGhpY2tuZXNzIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3IsXHJcbiAgICAgIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gZG8gY2xlYXIgZmxvYXRzXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjpiZWZvcmUsICY6YWZ0ZXIgeyBjb250ZW50OiBcIiBcIjsgZGlzcGxheTogdGFibGU7IH1cclxuICAmOmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgYSBnbG93aW5nIGVmZmVjdCB0byBibG9jayBlbGVtZW50c1xyXG4vLyAkc2VsZWN0b3IgLSBVc2VkIGZvciBzZWxlY3RvciBzdGF0ZS4gRGVmYXVsdDogZm9jdXMsIE9wdGlvbnM6IGhvdmVyLCBhY3RpdmUsIHZpc2l0ZWRcclxuLy8gJGZhZGUtdGltZSAtIERlZmF1bHQ6IDMwMG1zXHJcbi8vICRnbG93aW5nLWVmZmVjdC1jb2xvciAtIERlZmF1bHQ6IGZhZGUtb3V0KCRwcmltYXJ5LWNvbG9yLCAuMjUpXHJcbkBtaXhpbiBibG9jay1nbG93aW5nLWVmZmVjdCgkc2VsZWN0b3I6Zm9jdXMsICRmYWRlLXRpbWU6MzAwbXMsICRnbG93aW5nLWVmZmVjdC1jb2xvcjpmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KSkge1xyXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGZhZGUtdGltZSwgYm9yZGVyLWNvbG9yICRmYWRlLXRpbWUgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICY6I3skc2VsZWN0b3J9IHtcclxuICAgIGJvcmRlci1jb2xvcjogJGdsb3dpbmctZWZmZWN0LWNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAkZ2xvd2luZy1lZmZlY3QtY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHRyYW5zbGF0ZSBlbGVtZW50cyBpbiAyRFxyXG4vLyAkaG9yaXpvbnRhbDogRGVmYXVsdDogMFxyXG4vLyAkdmVydGljYWw6IERlZmF1bHQ6IDBcclxuQG1peGluIHRyYW5zbGF0ZTJkKCRob3Jpem9udGFsOjAsICR2ZXJ0aWNhbDowKSB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGhvcml6b250YWwsICR2ZXJ0aWNhbClcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IGFjY2Vzc2libGUuXHJcbi8vIEBzZWUgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxyXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xyXG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuICBoZWlnaHQ6IDFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAxcHg7XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gVHVybnMgb2ZmIHRoZSBlbGVtZW50LWludmlzaWJsZSBlZmZlY3QuXHJcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xyXG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgY2xpcDogYXV0bztcclxufVxyXG5cclxuJHdoaXRlICAgICAgICAgOiAjRkZGRkZGICFkZWZhdWx0O1xyXG4kZ2hvc3QgICAgICAgICA6ICNGQUZBRkEgIWRlZmF1bHQ7XHJcbiRzbm93ICAgICAgICAgIDogI0Y5RjlGOSAhZGVmYXVsdDtcclxuJHZhcG9yICAgICAgICAgOiAjRjZGNkY2ICFkZWZhdWx0O1xyXG4kd2hpdGUtc21va2UgICA6ICNGNUY1RjUgIWRlZmF1bHQ7XHJcbiRzaWx2ZXIgICAgICAgIDogI0VGRUZFRiAhZGVmYXVsdDtcclxuJHNtb2tlICAgICAgICAgOiAjRUVFRUVFICFkZWZhdWx0O1xyXG4kZ2FpbnNib3JvICAgICA6ICNEREREREQgIWRlZmF1bHQ7XHJcbiRpcm9uICAgICAgICAgIDogI0NDQ0NDQyAhZGVmYXVsdDtcclxuJGJhc2UgICAgICAgICAgOiAjQUFBQUFBICFkZWZhdWx0O1xyXG4kYWx1bWludW0gICAgICA6ICM5OTk5OTkgIWRlZmF1bHQ7XHJcbiRqdW1ibyAgICAgICAgIDogIzg4ODg4OCAhZGVmYXVsdDtcclxuJG1vbnNvb24gICAgICAgOiAjNzc3Nzc3ICFkZWZhdWx0O1xyXG4kc3RlZWwgICAgICAgICA6ICM2NjY2NjYgIWRlZmF1bHQ7XHJcbiRjaGFyY29hbCAgICAgIDogIzU1NTU1NSAhZGVmYXVsdDtcclxuJHR1YXRhcmEgICAgICAgOiAjNDQ0NDQ0ICFkZWZhdWx0O1xyXG4kb2lsICAgICAgICAgICA6ICMzMzMzMzMgIWRlZmF1bHQ7XHJcbiRqZXQgICAgICAgICAgIDogIzIyMjIyMiAhZGVmYXVsdDtcclxuJGJsYWNrICAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIGFzIGRlZmF1bHQgY29sb3JzIHRocm91Z2hvdXRcclxuJHByaW1hcnktY29sb3I6ICMwMDhDQkEgIWRlZmF1bHQ7ICAgLy8gYm9uZGktYmx1ZVxyXG4kc2Vjb25kYXJ5LWNvbG9yOiAjZTdlN2U3ICFkZWZhdWx0OyAvLyB3aGl0ZS1saWxhY1xyXG4kYWxlcnQtY29sb3I6ICNmMDQxMjQgIWRlZmF1bHQ7ICAgICAvLyBjaW5uYWJhclxyXG4kc3VjY2Vzcy1jb2xvcjogIzQzQUM2QSAhZGVmYXVsdDsgICAvLyBzZWEtZ3JlZW5cclxuJHdhcm5pbmctY29sb3I6ICNmMDhhMjQgIWRlZmF1bHQ7ICAgLy8gY2Fycm90XHJcbiRpbmZvLWNvbG9yOiAjYTBkM2U4ICFkZWZhdWx0OyAgICAgIC8vIGNvcm5mbG93ZXJcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHN0YWNrc1xyXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgd2VpZ2h0c1xyXG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBnbG9iYWwgc3R5bGVzXHJcbiRib2R5LWJnOiAjZmZmICFkZWZhdWx0O1xyXG4kYm9keS1mb250LWNvbG9yOiAjMjIyICFkZWZhdWx0O1xyXG4kYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRib2R5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kYm9keS1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGZvbnQtc21vb3RoaW5nXHJcbiRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IGRpcmVjdGlvbiBzZXR0aW5nc1xyXG4kdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcclxuJGRlZmF1bHQtZmxvYXQ6IGxlZnQgIWRlZmF1bHQ7XHJcbiRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0ICFkZWZhdWx0O1xyXG5AaWYgJHRleHQtZGlyZWN0aW9uID09IGx0ciB7XHJcbiAgJGRlZmF1bHQtZmxvYXQ6IGxlZnQ7XHJcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XHJcbn0gQGVsc2Uge1xyXG4gICRkZWZhdWx0LWZsb2F0OiByaWdodDtcclxuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSBzdXJlIGJvcmRlciByYWRpdXMgbWF0Y2hlcyB1bmxlc3Mgd2Ugd2FudCBpdCBkaWZmZXJlbnQuXHJcbiRnbG9iYWwtcmFkaXVzOiAzcHggIWRlZmF1bHQ7XHJcbiRnbG9iYWwtcm91bmRlZDogMTAwMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaW5zZXQgc2hhZG93IHNoaW55IGVkZ2VzIGFuZCBkZXByZXNzaW9ucy5cclxuJHNoaW55LWVkZ2Utc2l6ZTogMCAxcHggMCAhZGVmYXVsdDtcclxuJHNoaW55LWVkZ2UtY29sb3I6IHJnYmEoI2ZmZiwgLjUpICFkZWZhdWx0O1xyXG4kc2hpbnktZWRnZS1hY3RpdmUtY29sb3I6IHJnYmEoIzAwMCwgLjIpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBDU1MgY2xhc3NlcyBjb21lIHRocm91Z2ggaW4gdGhlIGdlbSBmaWxlcy5cclxuJGluY2x1ZGUtaHRtbC1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xyXG4kaW5jbHVkZS1wcmludC1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7XHJcbiRpbmNsdWRlLWpzLW1ldGEtc3R5bGVzOiB0cnVlICFkZWZhdWx0OyAvLyBXYXJuaW5nISBNZXRhIHN0eWxlcyBhcmUgYSBkZXBlbmRhbmN5IG9mIHRoZSBKYXZhc2NyaXB0LlxyXG4kaW5jbHVkZS1odG1sLWdsb2JhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4kY29sdW1uLWd1dHRlcjogcmVtLWNhbGMoMzApICFkZWZhdWx0O1xyXG5cclxuLy8gTWVkaWEgUXVlcnkgUmFuZ2VzXHJcbiRzbWFsbC1icmVha3BvaW50OiAgZW0tY2FsYyg2NDApICAhZGVmYXVsdDtcclxuJG1lZGl1bS1icmVha3BvaW50OiBlbS1jYWxjKDEwMjQpICFkZWZhdWx0O1xyXG4kbGFyZ2UtYnJlYWtwb2ludDogIGVtLWNhbGMoMTQ0MCkgIWRlZmF1bHQ7XHJcbiR4bGFyZ2UtYnJlYWtwb2ludDogZW0tY2FsYygxOTIwKSAhZGVmYXVsdDtcclxuXHJcbiRzbWFsbC1yYW5nZTogICAoMCwgJHNtYWxsLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xyXG4kbWVkaXVtLXJhbmdlOiAgKCRzbWFsbC1icmVha3BvaW50ICArIGVtLWNhbGMoMSksICRtZWRpdW0tYnJlYWtwb2ludCkgIWRlZmF1bHQ7XHJcbiRsYXJnZS1yYW5nZTogICAoJG1lZGl1bS1icmVha3BvaW50ICsgZW0tY2FsYygxKSwgJGxhcmdlLWJyZWFrcG9pbnQpICAhZGVmYXVsdDtcclxuJHhsYXJnZS1yYW5nZTogICgkbGFyZ2UtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkeGxhcmdlLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xyXG4keHhsYXJnZS1yYW5nZTogKCR4bGFyZ2UtYnJlYWtwb2ludCArIGVtLWNhbGMoMSksIGVtLWNhbGMoOTk5OTk5OTkpKSAhZGVmYXVsdDtcclxuXHJcbiRzY3JlZW46IFwib25seSBzY3JlZW5cIiAhZGVmYXVsdDtcclxuXHJcbiRsYW5kc2NhcGU6IFwiI3skc2NyZWVufSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXCIgIWRlZmF1bHQ7XHJcbiRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiICFkZWZhdWx0O1xyXG5cclxuJHNtYWxsLXVwOiAkc2NyZWVuICFkZWZhdWx0O1xyXG4kc21hbGwtb25seTogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKCRzbWFsbC1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG5cclxuJG1lZGl1bS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG4kbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcblxyXG4kbGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG4kbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcblxyXG4keGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcbiR4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcclxuXHJcbiR4eGxhcmdlLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KVwiICFkZWZhdWx0O1xyXG4keHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XHJcblxyXG4kcmV0aW5hOiAoXHJcbiAgXCIjeyRzY3JlZW59IGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxyXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMilcIixcclxuICBcIiN7JHNjcmVlbn0gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpXCIsXHJcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMilcIixcclxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKVwiLFxyXG4gIFwiI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweClcIlxyXG4pO1xyXG5cclxuLy8gTGVnYWN5XHJcbiRzbWFsbDogJG1lZGl1bS11cDtcclxuJG1lZGl1bTogJG1lZGl1bS11cDtcclxuJGxhcmdlOiAkbGFyZ2UtdXA7XHJcblxyXG5cclxuLy9XZSB1c2UgdGhpcyBhcyBjdXJzb3JzIHZhbHVlcyBmb3IgZW5hYmxpbmcgdGhlIG9wdGlvbiBvZiBoYXZpbmcgY3VzdG9tIGN1cnNvcnMgaW4gdGhlIHdob2xlIHNpdGUncyBzdHlsZXNoZWV0XHJcbiRjdXJzb3ItYXV0by12YWx1ZTogYXV0byAhZGVmYXVsdDtcclxuJGN1cnNvci1jcm9zc2hhaXItdmFsdWU6IGNyb3NzaGFpciAhZGVmYXVsdDtcclxuJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0ICFkZWZhdWx0O1xyXG4kY3Vyc29yLWRpc2FibGVkLXZhbHVlOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcclxuJGN1cnNvci1wb2ludGVyLXZhbHVlOiBwb2ludGVyICFkZWZhdWx0O1xyXG4kY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHAgIWRlZmF1bHQ7XHJcbiRjdXJzb3ItdGV4dC12YWx1ZTogdGV4dCAhZGVmYXVsdDtcclxuXHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiZ2xvYmFsXCIpIHtcclxuXHJcbiAgLy8gTWV0YSBzdHlsZXMgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cclxuICAvLyBVc2VkIHRvIHByb3ZpZGUgbWVkaWEgcXVlcnkgdmFsdWVzIGZvciBqYXZhc2NyaXB0IGNvbXBvbmVudHMuXHJcbiAgLy8gRm9yd2FyZCBzbGFzaCBwbGFjZWQgYXJvdW5kIGV2ZXJ5dGhpbmcgdG8gY29udmluY2UgUGhhbnRvbUpTIHRvIHJlYWQgdGhlIHZhbHVlLlxyXG5cclxuICBAaWYgJGluY2x1ZGUtanMtbWV0YS1zdHlsZXMge1xyXG5cclxuICAgIG1ldGEuZm91bmRhdGlvbi12ZXJzaW9uIHtcclxuICAgICAgZm9udC1mYW1pbHk6IFwiLzUuNS4yL1wiO1xyXG4gICAgfVxyXG5cclxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1zbWFsbCB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHNtYWxsLXVwKSArIFwiL1wiO1xyXG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHNtYWxsLXJhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtc21hbGwtb25seSB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHNtYWxsLW9ubHkpICsgXCIvXCI7XHJcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkc21hbGwtcmFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0ge1xyXG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tdXApICsgXCIvXCI7XHJcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbWVkaXVtLW9ubHkge1xyXG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tb25seSkgKyBcIi9cIjtcclxuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1sYXJnZSB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJGxhcmdlLXVwKSArIFwiL1wiO1xyXG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Utb25seSB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJGxhcmdlLW9ubHkpICsgXCIvXCI7XHJcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbGFyZ2UtcmFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14bGFyZ2Uge1xyXG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4bGFyZ2UtdXApICsgXCIvXCI7XHJcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkeGxhcmdlLXJhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICBtZXRhLmZvdW5kYXRpb24tbXEteGxhcmdlLW9ubHkge1xyXG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4bGFyZ2Utb25seSkgKyBcIi9cIjtcclxuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcclxuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkeHhsYXJnZS11cCkgKyBcIi9cIjtcclxuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICBtZXRhLmZvdW5kYXRpb24tZGF0YS1hdHRyaWJ1dGUtbmFtZXNwYWNlIHtcclxuICAgICAgZm9udC1mYW1pbHk6ICN7JG5hbWVzcGFjZX07XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXMge1xyXG5cclxuICAgIC8vIE11c3QgYmUgMTAwJSBmb3Igb2ZmIGNhbnZhcyB0byB3b3JrXHJcbiAgICBodG1sLCBib2R5IHsgaGVpZ2h0OiAxMDAlOyB9XHJcblxyXG4gICAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcclxuICAgIGh0bWwge1xyXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgfVxyXG4gICAgKixcclxuICAgICo6YmVmb3JlLFxyXG4gICAgKjphZnRlciB7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoaW5oZXJpdCk7XHJcbiAgICB9XHJcblxyXG4gICAgaHRtbCxcclxuICAgIGJvZHkgeyBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTsgfVxyXG5cclxuICAgIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcclxuICAgIGJvZHkge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYm9keS1iZztcclxuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgIGN1cnNvcjogJGN1cnNvci1hdXRvLXZhbHVlO1xyXG4gICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgICAgIGZvbnQtc3R5bGU6ICRib2R5LWZvbnQtc3R5bGU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYm9keS1mb250LXdlaWdodDtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0OyAvLyBTZXQgdG8gJGJhc2UtbGluZS1oZWlnaHQgdG8gdGFrZSBvbiBicm93c2VyIGRlZmF1bHQgb2YgMTUwJVxyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgYTpob3ZlciB7IGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlOyB9XHJcblxyXG4gICAgLy8gR3JpZCBEZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxyXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH1cclxuXHJcbiAgICBpbWcgeyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XHJcblxyXG4gICAgI21hcF9jYW52YXMsXHJcbiAgICAubWFwX2NhbnZhcyxcclxuICAgIC5tcWEtZGlzcGxheSB7XHJcbiAgICAgIGltZyxcclxuICAgICAgZW1iZWQsXHJcbiAgICAgIG9iamVjdCB7IG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWlzY2VsbGFuZW91cyB1c2VmdWwgSFRNTCBjbGFzc2VzXHJcbiAgICAubGVmdCB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cclxuICAgIC5yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XHJcbiAgICAuY2xlYXJmaXggeyBAaW5jbHVkZSBjbGVhcmZpeDsgfVxyXG5cclxuICAgIC8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnNcclxuICAgIC5oaWRlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLCBidXQgbWFpbnRhaW4gbGF5b3V0XHJcbiAgICAuaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcblxyXG4gICAgLy8gRm9udCBzbW9vdGhpbmdcclxuICAgIC8vIEFudGlhbGlhc2VkIGZvbnQgc21vb3RoaW5nIHdvcmtzIGJlc3QgZm9yIGxpZ2h0IHRleHQgb24gYSBkYXJrIGJhY2tncm91bmQuXHJcbiAgICAvLyBBcHBseSB0byBzaW5nbGUgZWxlbWVudHMgaW5zdGVhZCBvZiBnbG9iYWxseSB0byBib2R5LlxyXG4gICAgLy8gTm90ZSB0aGlzIG9ubHkgYXBwbGllcyB0byB3ZWJraXQtYmFzZWQgZGVza3RvcCBicm93c2VycyBhbmQgRmlyZWZveCAyNSAoYW5kIGxhdGVyKSBvbiB0aGUgTWFjLlxyXG4gICAgLmFudGlhbGlhc2VkIHsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cclxuXHJcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XHJcbiAgICBpbWcge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy9cclxuICAgIC8vIEdsb2JhbCByZXNldHMgZm9yIGZvcm1zXHJcbiAgICAvL1xyXG5cclxuICAgIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxyXG4gICAgdGV4dGFyZWEgeyBoZWlnaHQ6IGF1dG87IG1pbi1oZWlnaHQ6IDUwcHg7IH1cclxuXHJcbiAgICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcclxuICAgIHNlbGVjdCB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuXHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAoJGNvbHVtbi1ndXR0ZXIvMikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAgTWl4aW46IGFjY29yZGlvbi1jb250YWluZXIoKVxyXG4vLyAgRGVjcmlwdGlvbjogUmVzcG9uc2libGUgZm9yIHRoZSBjb250YWluZXIgY29tcG9uZW50IG9mIGFjY29yZGlvbnMsIGdlbmVyYXRpbmcgc3R5bGVzIHJlbGF0aW5nIHRvIGEgbWFyZ2luIG9mIHplcm8gYW5kIGEgY2xlYXJmaXhcclxuLy8gIEV4cGxpY2l0IERlcGVuZGVuY2llczogYSBjbGVhcmZpeCBtaXhpbiAqaXMqIGRlZmluZWQuXHJcbi8vICBJbXBsaWNpdCBEZXBlbmRlbmNpZXM6IE5vbmVcclxuXHJcbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyKCkge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8vICBNaXhpbjogYWNjb3JkaW9uLW5hdmlnYXRpb24oICRiZywgJGhvdmVyLWJnLCAkYWN0aXZlLWJnLCAkcGFkZGluZywgJGFjdGl2ZV9jbGFzcywgICRmb250LWNvbG9yLCAkZm9udC1zaXplLCAkZm9udC1mYW1pbHkpIHtcclxuLy8gICAgQHBhcmFtcyAkYmctY29sb3I6IFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnRcclxuLy8gICAgQHBhcmFtcyAkaG92ZXItYmctY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGhvdmVyZWRcclxuLy8gICAgQHBhcmFtcyAkYWN0aXZlLWJnIFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnQgd2hlbiBjbGlja2VkIGFuZCBub3QgcmVsZWFzZWQuXHJcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZV9jbGFzcyBbIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBjbGFzcyBuYW1lIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBhY2NvcmRpb24gdGFiIHNob3VsZCBiZSB2aXNpYmxlXHJcbi8vICAgIEBwYXJhbXMgJGZvbnQtY29sb3IgWyBjb2xvciBvciBzdHJpbmcgXTogQ29sb3Igb2YgdGhlIGZvbnQgZm9yIGFjY29yZGlvblxyXG4vLyAgICBAcGFyYW1zICRmb250LXNpemUgWyBudW1iZXIgXTogU3BlY2lmaXkgdGhlIGZvbnQtc2l6ZSBvZiB0aGUgdGV4dCBpbnNpZGUgdGhlIG5hdmlnYXRpb24gZWxlbWVudFxyXG4vLyAgICBAcGFyYW1zICRmb250LWZhbWlseSBbIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBmb250IGZhbWlseSBmb3IgdGhlIHRleHQgb2YgdGhlIG5hdmlnYXRpb24gb2YgdGhlIGFjY29yaW9uXHJcblxyXG5AbWl4aW4gYWNjb3JkaW9uLW5hdmlnYXRpb24oICRiZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkaG92ZXItYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvciwgJGFjdGl2ZS1iZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvciwgJHBhZGRpbmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nLCAkYWN0aXZlX2NsYXNzOiAnYWN0aXZlJywgICRmb250LWNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvciwgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSwgJGZvbnQtZmFtaWx5OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHkgKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gIEBpZiB0eXBlLW9mKCRhY3RpdmVfY2xhc3MpICE9IFwic3RyaW5nXCIge1xyXG4gICAgQHdhcm4gXCJgI3skYWN0aXZlX2NsYXNzfWAgaXNuJ3QgYSB2YWxpZCBzdHJpbmcuIEEgdmFsaWQgc3RyaW5nIGlzIG5lZWRlZCB0byBjb3JyZWN0bHkgYmUgaW50ZXJwb2xhdGVkIGFzIGEgQ1NTIGNsYXNzLiBDU1MgY2xhc3NlcyBjYW5ub3Qgc3RhcnQgd2l0aCBhIG51bWJlciBvciBjb25zaXN0IG9mIG9ubHkgbnVtYmVycy4gQ1NTIHdpbGwgbm90IGJlIGdlbmVyYXRlZCBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGlzIG5hdmlnYXRpb24gY29tcG9uZW50LlwiXHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgICYuI3sgJGFjdGl2ZV9jbGFzcyB9ID4gYSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XHJcbiAgICB9XHJcbiAgfVxyXG4gID4gYSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XHJcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XHJcbiAgICBAaWYgdHlwZS1vZigkcGFkZGluZykgIT0gbnVtYmVyIHtcclxuICAgICAgQHdhcm4gXCJgI3skcGFkZGluZ31gIHdhcyByZWFkIGFzICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XHJcbiAgICAgIEBpZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZyAhPSBudWxsIHtcclxuICAgICAgICBAd2FybiBcIiN7JHBhZGRpbmd9IHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcclxuICAgICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIuICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nICgjeyRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nfSkgd2lsbCBiZSB1c2VkIGluc3RlYWQuKVwiO1xyXG4gICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIgYW5kICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nIGlzIG1pc3NpbmcuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZ1wiO1xyXG4gICAgICAgIHBhZGRpbmc6IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgdHlwZS1vZigkZm9udC1zaXplKSAhPSBudW1iZXIge1xyXG4gICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkZm9udC1zaXplKX1cIjtcclxuICAgICAgQGlmICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUgIT0gbnVsbCB7XHJcbiAgICAgICAgQHdhcm4gXCJgI3skZm9udC1zaXplfWAgaXMgbm90IGEgdmFsaWQgbnVtYmVyLiBUaGUgdmFsdWUgb2YgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSB3aWxsIGJlIHVzZWQgaW5zdGVhZCAoI3skYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplfSkuXCI7XHJcbiAgICAgICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNle1xyXG4gICAgICAgIEB3YXJuIFwiYCN7JGZvbnQtc2l6ZX1gIGlzIG5vdCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSBpcyBub3QgZGVmaW5lZC4gQSB2YWx1ZSBvZiBgbnVsbGAgd2lsbCBiZSByZXR1cm5lZCB0byBub3QgZ2VuZXJhdGUgYW4gaW52YWxpZCB2YWx1ZSBmb3IgZm9udC1zaXplLlwiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbnVsbDtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iZztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vICBNaXhpbjogYWNjb3JkaW9uLWNvbnRlbnQoJGJnLCAkcGFkZGluZywgJGFjdGl2ZS1jbGFzcylcclxuLy8gICAgQHBhcmFtcyAkcGFkZGluZyBbIG51bWJlciBdOiBQYWRkaW5nIGZvciB0aGUgY29udGVudCBvZiB0aGUgY29udGFpbmVyXHJcbi8vICAgIEBwYXJhbXMgJGJnIFsgY29sb3IgIF06IEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBjb250ZW50IHdoZW4gaXQncyB2aXNpYmxlXHJcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZV9jbGFzcyBbIHN0cmluZyBdOiBDbGFzcyBuYW1lIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBhY2NvcmRpb24gdGFiIHNob3VsZCBiZSB2aXNpYmxlLlxyXG5cclxuQG1peGluIGFjY29yZGlvbi1jb250ZW50KCRiZzogJGFjY29yZGlvbi1jb250ZW50LWFjdGl2ZS1iZy1jb2xvciwgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLCAkYWN0aXZlX2NsYXNzOiAnYWN0aXZlJykge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgQGlmIHR5cGUtb2YoJHBhZGRpbmcpICE9IFwibnVtYmVyXCIge1xyXG4gICAgQHdhcm4gXCIjeyRwYWRkaW5nfSB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XHJcbiAgICBAaWYgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgIT0gbnVsbCB7XHJcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlci4gJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgdXNlZCBpbnN0ZWFkXCI7XHJcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlciBhbmQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgaXMgbm90IGRlZmluZWQuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZy5cIjtcclxuICAgICAgcGFkZGluZzogbnVsbDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIH1cclxuXHJcbiAgQGlmIHR5cGUtb2YoJGFjdGl2ZV9jbGFzcykgIT0gXCJzdHJpbmdcIiB7XHJcbiAgICBAd2FybiBcImAjeyRhY3RpdmVfY2xhc3N9YCBpc24ndCBhIHZhbGlkIHN0cmluZy4gQSB2YWxpZCBzdHJpbmcgaXMgbmVlZGVkIHRvIGNvcnJlY3RseSBiZSBpbnRlcnBvbGF0ZWQgYXMgYSBDU1MgY2xhc3MuIENTUyBjbGFzc2VzIGNhbm5vdCBzdGFydCB3aXRoIGEgbnVtYmVyIG9yIGNvbnNpc3Qgb2Ygb25seSBudW1iZXJzLiBDU1Mgd2lsbCBub3QgYmUgZ2VuZXJhdGVkIGZvciB0aGUgYWN0aXZlIHN0YXRlIG9mIHRoZSBjb250ZW50LiBcIlxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAmLiN7JGFjdGl2ZV9jbGFzc30ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImFjY29yZGlvblwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXMge1xyXG4gICAgLmFjY29yZGlvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAuYWNjb3JkaW9uLW5hdmlnYXRpb24sIGRkIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJi5hY3RpdmUgPiBhIHsgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjsgfVxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3I7XHJcbiAgICAgICAgICBjb2xvcjogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICBmb250LXNpemU6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU7XHJcbiAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZztcclxuICAgICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24taG92ZXItYmctY29sb3I7IH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLmNvbnRlbnQge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQWxlcnQgQm94IFZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWxlcnQgcGFkZGluZy5cclxuJGFsZXJ0LXBhZGRpbmctdG9wOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ6ICRhbGVydC1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcclxuJGFsZXJ0LXBhZGRpbmctb3Bwb3NpdGUtZGlyZWN0aW9uOiAkYWxlcnQtcGFkZGluZy10b3AgKyByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XHJcbiRhbGVydC1wYWRkaW5nLWJvdHRvbTogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZS5cclxuJGFsZXJ0LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kYWxlcnQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcbiRhbGVydC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRhbGVydC1mb250LWNvbG9yLWFsdDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTY2JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBmb3IgY2xvc2UgaG92ZXIgZWZmZWN0LlxyXG4kYWxlcnQtZnVuY3Rpb24tZmFjdG9yOiAtMTQlICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cclxuJGFsZXJ0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRhbGVydC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGFsZXJ0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kYWxlcnQtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25zXHJcbiRhbGVydC1jbG9zZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJGFsZXJ0LWNsb3NlLXRvcDogNTAlICFkZWZhdWx0O1xyXG4kYWxlcnQtY2xvc2UtcG9zaXRpb246IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xyXG4kYWxlcnQtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XHJcbiRhbGVydC1jbG9zZS1vcGFjaXR5OiAuMyAhZGVmYXVsdDtcclxuJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI6IC41ICFkZWZhdWx0O1xyXG4kYWxlcnQtY2xvc2UtcGFkZGluZzogMCA2cHggNHB4ICFkZWZhdWx0O1xyXG4kYWxlcnQtY2xvc2UtYmFja2dyb3VuZDogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYm9yZGVyIHJhZGl1c1xyXG4kYWxlcnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbiRhbGVydC10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcclxuJGFsZXJ0LXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBBbGVydCBNaXhpbnNcclxuLy9cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgYWxlcnQgYmFzZS5cclxuQG1peGluIGFsZXJ0LWJhc2Uge1xyXG4gIGJvcmRlci1zdHlsZTogJGFsZXJ0LWJvcmRlci1zdHlsZTtcclxuICBib3JkZXItd2lkdGg6ICRhbGVydC1ib3JkZXItd2lkdGg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkYWxlcnQtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtZm9udC13ZWlnaHQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LWJvdHRvbS1tYXJnaW47XHJcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmctdG9wICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbiAkYWxlcnQtcGFkZGluZy1ib3R0b20gJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24ob3BhY2l0eSwgJGFsZXJ0LXRyYW5zaXRpb24tc3BlZWQsICRhbGVydC10cmFuc2l0aW9uLWVhc2UpXHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBhbGVydCBzdHlsZXNcclxuLy9cclxuLy8gJGJnIC0gVGhlIGJhY2tncm91bmQgb2YgdGhlIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cclxuQG1peGluIGFsZXJ0LXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcikge1xyXG5cclxuICAvLyBUaGlzIGZpbmRzIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuXHJcbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBib3JkZXIgY29tZSB0aHJvdWdoLlxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3Rvcik7XHJcblxyXG4gIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSB7IGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvci1hbHQ7IH1cclxuICBAZWxzZSAgICAgICAgICAgICAgICAgICB7IGNvbG9yOiAkYWxlcnQtZm9udC1jb2xvcjsgfVxyXG5cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjbG9zZSBidXR0b24uXHJcbkBtaXhpbiBhbGVydC1jbG9zZSB7XHJcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGFsZXJ0LWNsb3NlLXBvc2l0aW9uO1xyXG4gIGJhY2tncm91bmQ6ICRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kO1xyXG4gIGNvbG9yOiAkYWxlcnQtY2xvc2UtY29sb3I7XHJcbiAgZm9udC1zaXplOiAkYWxlcnQtY2xvc2UtZm9udC1zaXplO1xyXG4gIGxpbmUtaGVpZ2h0OiAuOTtcclxuICBtYXJnaW4tdG9wOiAtKCRhbGVydC1jbG9zZS1mb250LXNpemUgLyAyKTtcclxuICBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eTtcclxuICBwYWRkaW5nOiAkYWxlcnQtY2xvc2UtcGFkZGluZztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkYWxlcnQtY2xvc2UtdG9wO1xyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7IG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5LWhvdmVyOyB9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGFsZXJ0cyB3aXRoIGEgc2luZ2xlIG1peGluLlxyXG4vL1xyXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIG9mIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cclxuLy8gJHJhZGl1cyAtIFJhZGl1cyBvZiBhbGVydCBib3guIERlZmF1bHQ6IGZhbHNlLlxyXG5AbWl4aW4gYWxlcnQoJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XHJcbiAgQGluY2x1ZGUgYWxlcnQtYmFzZTtcclxuICBAaW5jbHVkZSBhbGVydC1zdHlsZSgkYmcpO1xyXG4gIEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTtcclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImFsZXJ0LWJveFwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtYWxlcnQtY2xhc3NlcyB7XHJcbiAgICAuYWxlcnQtYm94IHtcclxuICAgICAgQGluY2x1ZGUgYWxlcnQ7XHJcblxyXG4gICAgICAuY2xvc2UgICAgICB7IEBpbmNsdWRlIGFsZXJ0LWNsb3NlOyB9XHJcblxyXG4gICAgICAmLnJhZGl1cyAgICB7IEBpbmNsdWRlIHJhZGl1cygkYWxlcnQtcmFkaXVzKTsgfVxyXG4gICAgICAmLnJvdW5kICAgICB7IEBpbmNsdWRlIHJhZGl1cygkZ2xvYmFsLXJvdW5kZWQpOyB9XHJcblxyXG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxyXG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRhbGVydC1jb2xvcik7IH1cclxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yKTsgfVxyXG4gICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkd2FybmluZy1jb2xvcik7IH1cclxuICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGluZm8tY29sb3IpOyB9XHJcbiAgICAgICYuYWxlcnQtY2xvc2UgeyBvcGFjaXR5OiAwfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBCbG9jayBHcmlkIFZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG4kaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcclxuJGJsb2NrLWdyaWQtZWxlbWVudHM6IDEyICFkZWZhdWx0O1xyXG4kYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuXHJcbiRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQ6IGZhbHNlICFkZWZhdWx0O1xyXG5AaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XHJcbiAgJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiAkY29sdW1uLWd1dHRlcjtcclxufVxyXG5cclxuLy8gRW5hYmxlcyBtZWRpYSBxdWVyaWVzIGZvciBibG9jay1ncmlkIGNsYXNzZXMuIFNldCB0byBmYWxzZSBpZiB3cml0aW5nIHNlbWFudGljIEhUTUwuXHJcbiRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBCbG9jayBHcmlkIE1peGluc1xyXG4vL1xyXG5cclxuLy8gQ3JlYXRlIGEgY3VzdG9tIGJsb2NrIGdyaWRcclxuLy9cclxuLy8gJHBlci1yb3cgLSAjIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdy4gRGVmYXVsdDogZmFsc2UuXHJcbi8vICRzcGFjaW5nIC0gIyBvZiBlbXMgdG8gdXNlIGFzIHBhZGRpbmcgb24gZWFjaCBibG9jayBpdGVtLiBEZWZhdWx0OiByZW0tY2FsYygyMCkuXHJcbi8vICRpbmNsdWRlLXNwYWNpbmcgLSBBZGRzIHBhZGRpbmcgdG8gb3VyIGxpc3QgaXRlbS4gRGVmYXVsdDogdHJ1ZS5cclxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBhIGJhc2Ugc3R5bGUgdG8gYmxvY2sgZ3JpZC4gRGVmYXVsdDogdHJ1ZS5cclxuQG1peGluIGJsb2NrLWdyaWQoXHJcbiAgJHBlci1yb3c6ZmFsc2UsXHJcbiAgJHNwYWNpbmc6JGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nLFxyXG4gICRpbmNsdWRlLXNwYWNpbmc6dHJ1ZSxcclxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XHJcblxyXG4gIEBpZiAkYmFzZS1zdHlsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBAaWYgJGFsaWduLWJsb2NrLWdyaWQtdG8tZ3JpZCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBtYXJnaW46IDAgKC0kc3BhY2luZy8yKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcclxuICAgICAgICBwYWRkaW5nOiAwICgkc3BhY2luZy8yKSAkc3BhY2luZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRwZXItcm93IHtcclxuICAgID4gbGkge1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBAaWYgJGluY2x1ZGUtc3BhY2luZyB7XHJcbiAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XHJcbiAgICAgIH1cclxuICAgICAgd2lkdGg6IDEwMCUvJHBlci1yb3c7XHJcblxyXG4gICAgICAmOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XHJcbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uKzEpIHsgY2xlYXI6IGJvdGg7IH1cclxuICAgICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtYWxpZ25lZCgkcGVyLXJvdywgJHNwYWNpbmcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmxvY2stZ3JpZC1hbGlnbmVkKCRwZXItcm93LCAkc3BhY2luZykge1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xyXG4gICAgQGlmICRwZXItcm93ID49ICRpIHtcclxuICAgICAgJGdyaWQtY29sdW1uOiAnKycgKyAkaTtcclxuICAgICAgQGlmICRwZXItcm93ID09ICRpIHtcclxuICAgICAgICAkZ3JpZC1jb2x1bW46ICcnO1xyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uI3t1bnF1b3RlKCRncmlkLWNvbHVtbil9KSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoJHNwYWNpbmcgLSAoKCRzcGFjaW5nIC8gJHBlci1yb3cpICogKCRwZXItcm93IC0gKCRpIC0gMSkpKSk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogKCRzcGFjaW5nIC0gKCgkc3BhY2luZyAvICRwZXItcm93KSAqICRpKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlIHByZXNlbnRhdGlvbmFsIG1hcmt1cCBmb3IgYmxvY2sgZ3JpZC5cclxuLy9cclxuLy8gJHNpemUgLSBOYW1lIG9mIGNsYXNzIHRvIHVzZSwgaS5lLiBcImxhcmdlXCIgd2lsbCBnZW5lcmF0ZSAubGFyZ2UtYmxvY2stZ3JpZC0xLCAubGFyZ2UtYmxvY2stZ3JpZC0yLCBldGMuXHJcbkBtaXhpbiBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZSwgJGluY2x1ZGUtc3BhY2luZykge1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xyXG4gICAgLiN7JHNpemV9LWJsb2NrLWdyaWQtI3soJGkpfSB7XHJcbiAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQoJGksICRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZywgJGluY2x1ZGUtc3BhY2luZywgZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImJsb2NrLWdyaWRcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlcyB7XHJcblxyXG4gICAgW2NsYXNzKj1cImJsb2NrLWdyaWQtXCJdIHsgQGluY2x1ZGUgYmxvY2stZ3JpZDsgfVxyXG5cclxuICAgIEBpZiAkYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzIHtcclxuICAgICAgQG1lZGlhICN7JHNtYWxsLXVwfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6c21hbGwsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bWVkaXVtLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXMge1xyXG4gICAgICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skeHhsYXJnZS11cH0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6eHhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEJyZWFkY3J1bWIgVmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLlxyXG4kY3J1bWItYmc6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDU1JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBwYWRkaW5nIGFyb3VuZCB0aGUgYnJlYWRjcnVtYnMuXHJcbiRjcnVtYi1wYWRkaW5nOiByZW0tY2FsYyg5IDE0IDkpICFkZWZhdWx0O1xyXG4kY3J1bWItc2lkZS1wYWRkaW5nOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxyXG4kY3J1bWItZnVuY3Rpb24tZmFjdG9yOiAtMTAlICFkZWZhdWx0O1xyXG4kY3J1bWItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJGNydW1iLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRjcnVtYi1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjcnVtYi1iZywgJGxpZ2h0bmVzczogJGNydW1iLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XHJcbiRjcnVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB2YXJpb3VzIHRleHQgc3R5bGVzIGZvciBicmVhZGNydW1icy5cclxuJGNydW1iLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xyXG4kY3J1bWItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiRjcnVtYi1mb250LWNvbG9yLWN1cnJlbnQ6ICRvaWwgIWRlZmF1bHQ7XHJcbiRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOiAkYWx1bWludW0gIWRlZmF1bHQ7XHJcbiRjcnVtYi1mb250LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kY3J1bWItbGluay1kZWNvcjogdW5kZXJsaW5lICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYnNcclxuJGNydW1iLXNsYXNoLWNvbG9yOiAkYmFzZSAhZGVmYXVsdDtcclxuJGNydW1iLXNsYXNoOiBcIi9cIiAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEJyZWFkY3J1bWIgTWl4aW5zXHJcbi8vXHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBjb250YWluZXIgYXJvdW5kIG91ciBicmVhZGNydW1ic1xyXG5AbWl4aW4gY3J1bWItY29udGFpbmVyIHtcclxuICBib3JkZXItc3R5bGU6ICRjcnVtYi1ib3JkZXItc3R5bGU7XHJcbiAgYm9yZGVyLXdpZHRoOiAkY3J1bWItYm9yZGVyLXNpemU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nOiAkY3J1bWItcGFkZGluZztcclxuXHJcbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBib3JkZXIgY29tZSB0aHJvdWdoLlxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjcnVtYi1iZztcclxuICBib3JkZXItY29sb3I6ICRjcnVtYi1ib3JkZXItY29sb3I7XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBicmVhZGNydW1iIHN0eWxlcyBmcm9tIGxpc3QgaXRlbXMuXHJcbkBtaXhpbiBjcnVtYnMge1xyXG5cclxuICAvLyBBIG5vcm1hbCBzdGF0ZSB3aWxsIG1ha2UgdGhlIGxpbmtzIGxvb2sgYW5kIGFjdCBsaWtlIGNsaWNrYWJsZSBicmVhZGNydW1icy5cclxuICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3I7XHJcbiAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gIGZvbnQtc2l6ZTogJGNydW1iLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGNydW1iLWZvbnQtc2l6ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06ICRjcnVtYi1mb250LXRyYW5zZm9ybTtcclxuXHJcbiAgJjpob3ZlciBhLCAmOmZvY3VzIGEgeyB0ZXh0LWRlY29yYXRpb246ICRjcnVtYi1saW5rLWRlY29yOyB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLy8gQ3VycmVudCBpcyBmb3IgdGhlIGxpbmsgb2YgdGhlIGN1cnJlbnQgcGFnZVxyXG4gICYuY3VycmVudCB7XHJcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDtcclxuICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci1jdXJyZW50O1xyXG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLCAmOmhvdmVyIGEsXHJcbiAgICAmOmZvY3VzLCAmOmZvY3VzIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cclxuICB9XHJcblxyXG4gIC8vIFVuYXZhaWxhYmxlIHJlbW92ZWQgY29sb3IgYW5kIGxpbmsgc3R5bGVzIHNvIGl0IGxvb2tzIGluYWN0aXZlLlxyXG4gICYudW5hdmFpbGFibGUge1xyXG4gICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlO1xyXG4gICAgYSB7IGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTsgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmhvdmVyIGEsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgYTpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTtcclxuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb2xvcjogJGNydW1iLXNsYXNoLWNvbG9yO1xyXG4gICAgY29udGVudDogXCIjeyRjcnVtYi1zbGFzaH1cIjtcclxuICAgIG1hcmdpbjogMCAkY3J1bWItc2lkZS1wYWRkaW5nO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAxcHg7XHJcbiAgfVxyXG5cclxuICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIiBcIjtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJicmVhZGNydW1ic1wiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xyXG4gICAgLmJyZWFkY3J1bWJzIHtcclxuICAgICAgQGluY2x1ZGUgY3J1bWItY29udGFpbmVyO1xyXG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGNydW1iLXJhZGl1cyk7XHJcblxyXG4gICAgICA+ICoge1xyXG4gICAgICAgIEBpbmNsdWRlIGNydW1icztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyogQWNjZXNzaWJpbGl0eSAtIGhpZGVzIHRoZSBmb3J3YXJkIHNsYXNoICovXHJcbiAgICBbYXJpYS1sYWJlbD1cImJyZWFkY3J1bWJzXCJdIFthcmlhLWhpZGRlbj1cInRydWVcIl06YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIi9cIjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5AaW1wb3J0ICdidXR0b25zJztcclxuXHJcbi8vXHJcbi8vIEJ1dHRvbiBHcm91cCBWYXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcclxuJGJ1dHRvbi1iYXItbWFyZ2luLW9wcG9zaXRlOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XHJcbiRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBCdXR0b24gR3JvdXAgTWl4aW5zXHJcbi8vXHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXJcclxuQG1peGluIGJ1dHRvbi1ncm91cC1jb250YWluZXIoJHN0eWxlczp0cnVlLCAkZmxvYXQ6ZmFsc2UpIHtcclxuICBAaWYgJHN0eWxlcyB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG4gIH1cclxuICBAaWYgJGZsb2F0IHtcclxuICAgIGZsb2F0OiAjeyRkZWZhdWx0LWZsb2F0fTtcclxuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU7XHJcbiAgICAmIGRpdiB7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgc3R5bGVzIGZvciBidXR0b24gZ3JvdXBzXHJcbkBtaXhpbiBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czpmYWxzZSwgJGV2ZW46ZmFsc2UsICRmbG9hdDpmYWxzZSwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpIHtcclxuXHJcbiAgPiBidXR0b24sIC5idXR0b24ge1xyXG4gICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XHJcbiAgfVxyXG5cclxuICAmOmZpcnN0LWNoaWxkIHtcclxuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICRidXR0b24tZ3JvdXAtZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xyXG5cclxuICAvLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBmbG93LCBvciByZW1vdmUgdGhvc2Ugc3R5bGVzIGNvbXBsZXRlbHkuXHJcbiAgQGlmICRmbG9hdCB7XHJcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcclxuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xyXG4gICAgZmxvYXQ6ICRmbG9hdDtcclxuICAgIC8vIE1ha2Ugc3VyZSB0aGUgZmlyc3QgY2hpbGQgZG9lc24ndCBnZXQgdGhlIG5lZ2F0aXZlIG1hcmdpbi5cclxuICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7IH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgJGJ1dHRvbi1ncm91cC1kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMCAtMnB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XHJcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGJsb2NrO1xyXG4gICAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDA7XHJcbiAgICA+IGJ1dHRvbiwgLmJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XHJcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xyXG4gICAgICBib3JkZXItdG9wOiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjowO1xyXG4gICAgfVxyXG4gICAgPiBidXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBidXR0b24sIC5idXR0b24ge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRpc3BsYXk6ICRidXR0b24tZ3JvdXAtZGlzcGxheTtcclxuICBtYXJnaW46ICRidXR0b24tZ3JvdXAtbWFyZ2luO1xyXG5cclxuXHJcbiAgLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGVmdCBhbmQgcmlnaHQgcmFkaXVzIG9uIGZpcnN0L2xhc3QgYnV0dG9ucyBpbiB0aGUgZ3JvdXAuXHJcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7XHJcbiAgICAmLFxyXG4gICAgPiBhLFxyXG4gICAgPiBidXR0b24sXHJcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cclxuICAgICY6Zmlyc3QtY2hpbGQsXHJcbiAgICAmOmZpcnN0LWNoaWxkID4gYSxcclxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXHJcbiAgICAmOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XHJcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJGJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQsXHJcbiAgICAmOmxhc3QtY2hpbGQgPiBhLFxyXG4gICAgJjpsYXN0LWNoaWxkID4gYnV0dG9uLFxyXG4gICAgJjpsYXN0LWNoaWxkID4gLmJ1dHRvbiB7XHJcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKGJvdHRvbSwgJGJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHJhZGl1cyB7XHJcbiAgICAmLFxyXG4gICAgPiBhLFxyXG4gICAgPiBidXR0b24sXHJcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cclxuICAgICY6Zmlyc3QtY2hpbGQsXHJcbiAgICAmOmZpcnN0LWNoaWxkID4gYSxcclxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXHJcbiAgICAmOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XHJcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJHJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkLFxyXG4gICAgJjpsYXN0LWNoaWxkID4gYSxcclxuICAgICY6bGFzdC1jaGlsZCA+IGJ1dHRvbixcclxuICAgICY6bGFzdC1jaGlsZCA+IC5idXR0b24ge1xyXG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcclxuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyhib3R0b20sICRyYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gV2UgdXNlIHRoaXMgdG8gbWFrZSB0aGUgYnV0dG9ucyBldmVuIHdpZHRoIGFjcm9zcyB0aGVpciBjb250YWluZXJcclxuICBAaWYgJGV2ZW4ge1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKDEwMC8kZXZlbikgLyAxMDApO1xyXG4gICAgYnV0dG9uLCAuYnV0dG9uIHsgd2lkdGg6IDEwMCU7IH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJidXR0b24tZ3JvdXBcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcclxuICAgIC5idXR0b24tZ3JvdXAgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtY29udGFpbmVyO1xyXG5cclxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA4IHtcclxuICAgICAgICAmLmV2ZW4tI3skaX0gbGkgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJGV2ZW46JGksICRmbG9hdDpudWxsKTsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCk7IH1cclxuXHJcbiAgICAgICYuc3RhY2sge1xyXG4gICAgICAgID4gbGkgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJG9yaWVudGF0aW9uOnZlcnRpY2FsKTsgZmxvYXQ6IG5vbmU7IH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5zdGFjay1mb3Itc21hbGwge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjpob3Jpem9udGFsKTtcclxuICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkb3JpZW50YXRpb246dmVydGljYWwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yYWRpdXMgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRmbG9hdDpudWxsKTsgfVxyXG4gICAgICAmLnJhZGl1cy5zdGFjayA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJGZsb2F0Om51bGwsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IH1cclxuICAgICAgJi5yYWRpdXMuc3RhY2stZm9yLXNtYWxsID4gKiB7XHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRvcmllbnRhdGlvbjpob3Jpem9udGFsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkb3JpZW50YXRpb246dmVydGljYWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yb3VuZCA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkZmxvYXQ6bnVsbCk7IH1cclxuICAgICAgJi5yb3VuZC5zdGFjayA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLW1lZCwgJGZsb2F0Om51bGwsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IH1cclxuICAgICAgJi5yb3VuZC5zdGFjay1mb3Itc21hbGwgPiAqIHtcclxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkb3JpZW50YXRpb246aG9yaXpvbnRhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLW1lZCwgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uLWJhciB7XHJcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAuYnV0dG9uLWdyb3VwIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWNvbnRhaW5lcigkc3R5bGVzOmZhbHNlLCAkZmxvYXQ6dHJ1ZSk7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucy5cclxuJGJ1dHRvbi10bnk6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1zbWw6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1tZWQ6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1scmc6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRpc3BsYXkgcHJvcGVydHkuXHJcbiRidXR0b24tZGlzcGxheTogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xyXG4kYnV0dG9uLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiB0ZXh0IHN0eWxlcy5cclxuJGJ1dHRvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcbiRidXR0b24tZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kYnV0dG9uLWZvbnQtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xyXG4kYnV0dG9uLWZvbnQtdG55OiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XHJcbiRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcclxuJGJ1dHRvbi1mb250LW1lZDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG4kYnV0dG9uLWZvbnQtbHJnOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcbiRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRidXR0b24tZm9udC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBob3ZlciBlZmZlY3RzLlxyXG4kYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogLTIwJSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiBib3JkZXIgc3R5bGVzLlxyXG4kYnV0dG9uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJGJ1dHRvbi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kYnV0dG9uLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJGJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kYnV0dG9uLWJvcmRlci1jb2xvcjogJGJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcclxuJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XHJcbiRhbGVydC1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcjogJGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcclxuJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yOiAkd2FybmluZy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XHJcbiRpbmZvLWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGluZm8tY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcclxuJGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcjogJGluZm8tYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXHJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuJGJ1dHRvbi1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBidXR0b25zLlxyXG4kYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xyXG4kYnV0dG9uLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGJ1dHRvbiBiYXNlLlxyXG4vL1xyXG4vLyAkc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzLiBDYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OiB0cnVlLlxyXG4vLyAkZGlzcGxheSAtIFVzZWQgdG8gY29udHJvbCBkaXNwbGF5IHByb3BlcnR5LiBEZWZhdWx0OiAkYnV0dG9uLWRpc3BsYXkgfHwgaW5saW5lLWJsb2NrXHJcblxyXG5AbWl4aW4gYnV0dG9uLWJhc2UoJHN0eWxlOnRydWUsICRkaXNwbGF5OiRidXR0b24tZGlzcGxheSkge1xyXG4gIEBpZiAkc3R5bGUge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czowO1xyXG4gICAgYm9yZGVyLXN0eWxlOiAkYnV0dG9uLWJvcmRlci1zdHlsZTtcclxuICAgIGJvcmRlci13aWR0aDogJGJ1dHRvbi1ib3JkZXItd2lkdGg7XHJcbiAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgbWFyZ2luOiAwIDAgJGJ1dHRvbi1tYXJnaW4tYm90dG9tO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogJGJ1dHRvbi1mb250LWFsaWduO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuICBAaWYgJGRpc3BsYXkgeyBkaXNwbGF5OiAkZGlzcGxheTsgfVxyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGJ1dHRvbiBzaXplIHN0eWxlc1xyXG4vL1xyXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXHJcbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoIC0gRGVmYXVsdDogZmFsc2VcclxuXHJcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLW1lZCwgJGZ1bGwtd2lkdGg6ZmFsc2UpIHtcclxuXHJcbiAgLy8gV2UgY29udHJvbCB3aGljaCBwYWRkaW5nIHN0eWxlcyBjb21lIHRocm91Z2gsXHJcbiAgLy8gdGhlc2UgY2FuIGJlIHR1cm5lZCBvZmYgYnkgc2V0dGluZyAkcGFkZGluZzpmYWxzZVxyXG4gIEBpZiAkcGFkZGluZyB7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZyAoJHBhZGRpbmcgKiAyKSAoJHBhZGRpbmcgKyByZW0tY2FsYygxKSkgKCRwYWRkaW5nICogMik7XHJcbiAgICAvLyBXZSBjb250cm9sIHRoZSBmb250LXNpemUgYmFzZWQgb24gbWl4aW4gaW5wdXQuXHJcbiAgICBAaWYgICAgICAkcGFkZGluZyA9PSAkYnV0dG9uLW1lZCB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LW1lZDsgfVxyXG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi10bnkgeyBmb250LXNpemU6ICRidXR0b24tZm9udC10bnk7IH1cclxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tc21sIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc21sOyB9XHJcbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLWxyZyB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LWxyZzsgfVxyXG4gIH1cclxuXHJcbiAgLy8gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLlxyXG4gIEBpZiAkZnVsbC13aWR0aCB7XHJcbiAgICAvLyBXZSBzdGlsbCBuZWVkIHRvIGNoZWNrIGlmICRwYWRkaW5nIGlzIHNldC5cclxuICAgIEBpZiAkcGFkZGluZyB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyArIHJlbS1jYWxjKDEpO1xyXG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XHJcbiAgICB9IEBlbHNlIGlmICRwYWRkaW5nID09IGZhbHNlIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206MDtcclxuICAgICAgcGFkZGluZy10b3A6MDtcclxuICAgIH1cclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyB3ZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJ1dHRvbiBob3ZlciBhbmQgYm9yZGVyIGNvbG9yc1xyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBidXR0b24gY29sb3Igc3R5bGVzXHJcbi8vXHJcbi8vICRiZyAtIEJhY2tncm91bmQgY29sb3IuIFdlIGNhbiBzZXQgJGJnOmZhbHNlIGZvciBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxyXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIGJ1dHRvbiByYWRpdXMgd2hpY2ggaXMgJGJ1dHRvbi1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6IGZhbHNlXHJcbi8vICRkaXNhYmxlZCAtIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxyXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQmFja2dyb3VuZCBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1iZy1ob3ZlclxyXG4vLyAkYm9yZGVyLWNvbG9yIC0gQnV0dG9uIEJvcmRlciBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1ib3JkZXItY29sb3JcclxuQG1peGluIGJ1dHRvbi1zdHlsZSgkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGRpc2FibGVkOmZhbHNlLCAkYmctaG92ZXI6bnVsbCwgJGJvcmRlci1jb2xvcjpudWxsKSB7XHJcblxyXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBzdHlsZXMgYXJlIHVzZWQsXHJcbiAgLy8gdGhlc2UgY2FuIGJlIHJlbW92ZWQgYnkgc2V0dGluZyAkYmc6ZmFsc2VcclxuICBAaWYgJGJnIHtcclxuXHJcbiAgICBAaWYgJGJnLWhvdmVyID09IG51bGwge1xyXG4gICAgICAkYmctaG92ZXI6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJnLWhvdmVyLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRib3JkZXItY29sb3IgPT0gbnVsbCB7XHJcbiAgICAgICRib3JkZXItY29sb3I6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJvcmRlci1jb2xvciwgc2NhbGUtY29sb3IoJGJnLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoaXMgZmluZCB0aGUgbGlnaHRuZXNzIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXHJcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuICAgICRiZy1ob3Zlci1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmctaG92ZXIpO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogJGJnLWhvdmVyOyB9XHJcblxyXG4gICAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4gICAgY29sb3I6IGlmKCRiZy1saWdodG5lc3MgPiA3MCUsICRidXR0b24tZm9udC1jb2xvci1hbHQsICRidXR0b24tZm9udC1jb2xvcik7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogaWYoJGJnLWhvdmVyLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFdlIGNhbiBzZXQgJGRpc2FibGVkOnRydWUgdG8gY3JlYXRlIGEgZGlzYWJsZWQgdHJhbnNwYXJlbnQgYnV0dG9uLlxyXG4gIEBpZiAkZGlzYWJsZWQge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGN1cnNvcjogJGJ1dHRvbi1kaXNhYmxlZC1jdXJzb3I7XHJcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICRiZzsgfVxyXG4gIH1cclxuXHJcbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggYnV0dG9uIHJhZGl1cyBpcyB1c2VkLlxyXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJGJ1dHRvbi1yYWRpdXMpOyB9XHJcbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxyXG5cclxufVxyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGJ1dHRvbnMgd2l0aCBhIHNpbmdsZSBtaXhpbi4gQXMgQGphcmVkaGFyZHkgcHV0cyBpdCwgXCJ0aGUga2l0Y2hlbiBzaW5rIG1peGluXCJcclxuLy9cclxuLy8gJHBhZGRpbmcgLSBVc2VkIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMgRGVmYXVsdDogJGJ1dHRvbi1tZWQgfHw9IHJlbS1jYWxjKDEyKVxyXG4vLyAkYmcgLSBQcmltYXJ5IGNvbG9yIHNldCBpbiBzZXR0aW5ncyBmaWxlLiBEZWZhdWx0OiAkYnV0dG9uLWJnLlxyXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIGJ1dHRvbiByYWRpdXMgd2hpY2ggaXMgJGdsb2JhbC1yYWRpdXMgfHwgZXhwbGljaXRseSBzZXQgcmFkaXVzIGFtb3VudCBpbiBweCAoZXguICRyYWRpdXM6MTBweCkuIERlZmF1bHQ6ZmFsc2UuXHJcbi8vICRmdWxsLXdpZHRoIC0gV2UgY2FuIHNldCAkZnVsbC13aWR0aDp0cnVlIHRvIHJlbW92ZSBzaWRlIHBhZGRpbmcgZXh0ZW5kIHdpZHRoLiBEZWZhdWx0OmZhbHNlLlxyXG4vLyAkZGlzYWJsZWQgLSBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi4gRGVmYXVsdDpmYWxzZS5cclxuLy8gJGlzLXByZWZpeCAtIE5vdCB1c2VkPyBEZWZhdWx0OmZhbHNlLlxyXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQ29sb3IgLSBEZWZhdWx0IG51bGwgLSBzZWUgYnV0dG9uLXN0eWxlIG1peGluXHJcbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yIC0gRGVmYXVsdCBudWxsIC0gc2VlIGJ1dHRvbi1zdHlsZSBtaXhpblxyXG4vLyAkdHJhbnNpdGlvbiAtIFdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgdGhlIGJhY2tncm91bmQtY29sb3IgdHJhbnNpdGlvbiBwcm9wZXJ0eSAtIERlZmF1bHQ6dHJ1ZS5cclxuQG1peGluIGJ1dHRvbigkcGFkZGluZzokYnV0dG9uLW1lZCwgJGJnOiRidXR0b24tYmctY29sb3IsICRyYWRpdXM6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRpcy1wcmVmaXg6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwsICR0cmFuc2l0aW9uOiB0cnVlKSB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcsICRmdWxsLXdpZHRoKTtcclxuICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnLCAkcmFkaXVzLCAkZGlzYWJsZWQsICRiZy1ob3ZlciwgJGJvcmRlci1jb2xvcik7XHJcblxyXG4gIEBpZiAkdHJhbnNpdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiYnV0dG9uXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlcyB7XHJcblxyXG4gICAgLy8gRGVmYXVsdCBzdHlsZXMgYXBwbGllZCBvdXRzaWRlIG9mIG1lZGlhIHF1ZXJ5XHJcbiAgICBidXR0b24sIC5idXR0b24ge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b24tYmFzZTtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemU7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xyXG5cclxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IsICRiZy1ob3Zlcjokc2Vjb25kYXJ5LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XHJcbiAgICAgICYuc3VjY2VzcyAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvciwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yLCAkYmctaG92ZXI6JGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cclxuICAgICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWNvbG9yLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XHJcbiAgICAgICYuaW5mbyAgICAgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvciwgJGJnLWhvdmVyOiRpbmZvLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokaW5mby1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG5cclxuICAgICAgJi5sYXJnZSAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLWxyZyk7IH1cclxuICAgICAgJi5zbWFsbCAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLXNtbCk7IH1cclxuICAgICAgJi50aW55ICAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLXRueSk7IH1cclxuICAgICAgJi5leHBhbmQgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzpudWxsLCAkZnVsbC13aWR0aDp0cnVlKTsgfVxyXG5cclxuICAgICAgJi5sZWZ0LWFsaWduICB7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtaW5kZW50OiByZW0tY2FsYygxMik7IH1cclxuICAgICAgJi5yaWdodC1hbGlnbiB7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMik7IH1cclxuXHJcbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzpmYWxzZSwgJHJhZGl1czp0cnVlKTsgfVxyXG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6JGJ1dHRvbi1yb3VuZCk7IH1cclxuXHJcbiAgICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRidXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGJ1dHRvbi1ib3JkZXItY29sb3IpO1xyXG4gICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cclxuICAgICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG4gICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxyXG4gICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XHJcbiAgICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokaW5mby1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vZmlyZWZveCAycHggZml4XHJcbiAgICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge2JvcmRlcjowOyBwYWRkaW5nOjA7fVxyXG5cclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgYnV0dG9uLCAuYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24tYmFzZSgkc3R5bGU6ZmFsc2UsICRkaXNwbGF5OmlubGluZS1ibG9jayk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHBhcnRzIG9mIENsZWFyaW5nLlxyXG4kY2xlYXJpbmctYmc6ICRvaWwgIWRlZmF1bHQ7XHJcbiRjbGVhcmluZy1jYXB0aW9uLWJnOiAkY2xlYXJpbmctYmcgIWRlZmF1bHQ7XHJcbiRjbGVhcmluZy1jYXJvdXNlbC1iZzogcmdiYSg1MSw1MSw1MSwwLjgpICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctaW1nLWJnOiAkY2xlYXJpbmctYmcgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvblxyXG4kY2xlYXJpbmctY2xvc2UtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctY2xvc2Utc2l6ZTogMzBweCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgYXJyb3dzXHJcbiRjbGVhcmluZy1hcnJvdy1zaXplOiAxMnB4ICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctYXJyb3ctY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBjYXB0aW9uc1xyXG4kY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAkaXJvbiAhZGVmYXVsdDtcclxuJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAuODc1ZW0gIWRlZmF1bHQ7XHJcbiRjbGVhcmluZy1jYXB0aW9uLXBhZGRpbmc6IDEwcHggMzBweCAyMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2UgdGhlIGltYWdlIGFuZCBjYXJvdXNlbCBoZWlnaHQgYW5kIHN0eWxlXHJcbiRjbGVhcmluZy1hY3RpdmUtaW1nLWhlaWdodDogODUlICFkZWZhdWx0O1xyXG4kY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0OiAxMjBweCAhZGVmYXVsdDtcclxuJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLXdpZHRoOiAxMjBweCAhZGVmYXVsdDtcclxuJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLWFjdGl2ZS1ib3JkZXI6IDFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpICFkZWZhdWx0O1xyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImNsZWFyaW5nXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1jbGVhcmluZy1jbGFzc2VzIHtcclxuICAgIC8vIFdlIGRlY2lkZWQgdG8gbm90IGNyZWF0ZSBhIG1peGluIGZvciBDbGVhcmluZyBiZWNhdXNlIGl0IHJlbGllc1xyXG4gICAgLy8gb24gcHJlZGVmaW5lZCBjbGFzc2VzIGFuZCBzdHJ1Y3R1cmUgdG8gd29yayBwcm9wZXJseS5cclxuICAgIC8vIFRoZSB2YXJpYWJsZXMgYWJvdmUgc2hvdWxkIGdpdmUgZW5vdWdoIGNvbnRyb2wuXHJcblxyXG4gICAgLyogQ2xlYXJpbmcgU3R5bGVzICovXHJcbiAgICAuY2xlYXJpbmctdGh1bWJzLCAje2RhdGEoJ2NsZWFyaW5nJyl9IHtcclxuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gbGkge1xyXG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLWJsYWNrb3V0IHtcclxuICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWJnO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgei1pbmRleDogOTk4O1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuXHJcbiAgICAgIC5jbGVhcmluZy1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHotaW5kZXg6IDk5ODtcclxuICAgIH1cclxuXHJcbiAgICAuY2xlYXJpbmctdG91Y2gtbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGJhc2U7XHJcbiAgICAgIGZvbnQtc2l6ZTogLjZlbTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgfVxyXG5cclxuICAgIC52aXNpYmxlLWltZyB7XHJcbiAgICAgIGhlaWdodDogOTUlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIEBpZiAkZGVmYXVsdC1mbG9hdCA9PSBsZWZ0IHtcclxuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xyXG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xyXG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XHJcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLWNhcHRpb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctY2FwdGlvbi1iZztcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBjb2xvcjogJGNsZWFyaW5nLWNhcHRpb24tZm9udC1jb2xvcjtcclxuICAgICAgZm9udC1zaXplOiAkY2xlYXJpbmctY2FwdGlvbi1mb250LXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIHBhZGRpbmc6ICRjbGVhcmluZy1jYXB0aW9uLXBhZGRpbmc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLWNsb3NlIHtcclxuICAgICAgY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvcjtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgZm9udC1zaXplOiAkY2xlYXJpbmctY2xvc2Utc2l6ZTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDIwcHg7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICB6LWluZGV4OiA5OTk7XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHsgY29sb3I6ICRpcm9uOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIHsgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAuY2Fyb3VzZWwgPiB1bCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiB5b3Ugd2FudCB0byBzaG93IGEgbGlnaHRib3gsIGJ1dCBvbmx5IGhhdmUgYSBzaW5nbGUgaW1hZ2UgY29tZSB0aHJvdWdoIGFzIHRoZSB0aHVtYm5haWxcclxuICAgIC5jbGVhcmluZy1mZWF0dXJlIGxpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgJi5jbGVhcmluZy1mZWF0dXJlZC1pbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTGFyZ2Ugc2NyZWVuIG92ZXJyaWRlc1xyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2LFxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAkY2xlYXJpbmctYXJyb3ctc2l6ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2IHtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDVweDtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJGNsZWFyaW5nLWFycm93LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcclxuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkY2xlYXJpbmctYXJyb3ctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2LmRpc2FibGVkLFxyXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0LmRpc2FibGVkIHsgb3BhY2l0eTogLjM7IH1cclxuXHJcbiAgICAgIC5jbGVhcmluZy1hc3NlbWJsZWQgLmNsZWFyaW5nLWNvbnRhaW5lciB7XHJcblxyXG4gICAgICAgIC5jYXJvdXNlbCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctY2Fyb3VzZWwtYmc7XHJcbiAgICAgICAgICBoZWlnaHQ6ICRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIGNsZWFyOiBub25lO1xyXG4gICAgICAgICAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgICAgICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xyXG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgd2lkdGg6ICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDtcclxuXHJcbiAgICAgICAgICAgICAgJi5maXgtaGVpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgYS50aCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAmLnZpc2libGUgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7IG9wYWNpdHk6IC44OyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC52aXNpYmxlLWltZyB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctaW1nLWJnO1xyXG4gICAgICAgICAgaGVpZ2h0OiAkY2xlYXJpbmctYWN0aXZlLWltZy1oZWlnaHQ7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmNsZWFyaW5nLWNsb3NlIHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyBoZWlnaHQgYW5kIHdpZHRoIHN0eWxlcy5cclxuJGYtZHJvcGRvd24tbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvICFkZWZhdWx0O1xyXG4kZi1kcm9wZG93bi1tYXgtaGVpZ2h0OiBub25lICFkZWZhdWx0O1xyXG5cclxuLy8gVXNlZCBmb3IgYm90dG9tIHBvc2l0aW9uXHJcbiRmLWRyb3Bkb3duLW1hcmdpbi10b3A6IDJweCAhZGVmYXVsdDtcclxuXHJcbi8vIFVzZWQgZm9yIHJpZ2h0IHBvc2l0aW9uXHJcbiRmLWRyb3Bkb3duLW1hcmdpbi1sZWZ0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xyXG5cclxuLy8gVXNlZCBmb3IgbGVmdCBwb3NpdGlvblxyXG4kZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XHJcblxyXG4vLyBVc2VkIGZvciB0b3AgcG9zaXRpb25cclxuJGYtZHJvcGRvd24tbWFyZ2luLWJvdHRvbTogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3JcclxuJGYtZHJvcGRvd24tYmc6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYm9yZGVyIHN0eWxlcyBmb3IgZHJvcGRvd25zLlxyXG4kZi1kcm9wZG93bi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kZi1kcm9wZG93bi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSB0cmlhbmdsZSBwaXAuXHJcbiRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemU6IDZweCAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ6IDEwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzdHlsZXMgZm9yIHRoZSBsaXN0IGVsZW1lbnRzLlxyXG4kZi1kcm9wZG93bi1saXN0LXN0eWxlOiBub25lICFkZWZhdWx0O1xyXG4kZi1kcm9wZG93bi1mb250LWNvbG9yOiAkY2hhcmNvYWwgIWRlZmF1bHQ7XHJcbiRmLWRyb3Bkb3duLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKSAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcclxuJGYtZHJvcGRvd24tbGlzdC1ob3Zlci1iZzogJHNtb2tlICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBzdHlsZXMgZm9yIHdoZW4gdGhlIGRyb3Bkb3duIGhhcyBjdXN0b20gY29udGVudC5cclxuJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBEZWZhdWx0IHJhZGl1cyBmb3IgZHJvcGRvd24uXHJcbiRmLWRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vXHJcbi8vIE5PVEU6IE1ha2UgZGVmYXVsdCBtYXgtd2lkdGggY2hhbmdlIGJldHdlZW4gbGlzdCBhbmQgY29udGVudCB0eXBlcy4gQ2FuIGFkZCBtb3JlIHdpZHRoIHdpdGggY2xhc3NlcywgbWF5YmUgLnNtYWxsLCAubWVkaXVtLCAubGFyZ2UsIGV0Yy47XHJcbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBkcm9wZG93biBjb250YWluZXIgZWxlbWVudC5cclxuLy8gJGNvbnRlbnQtbGlzdCAtIFNldHMgbGlzdC1zdHlsZS4gRGVmYXVsdDogbGlzdC4gT3B0aW9uczogW2xpc3QsIGNvbnRlbnRdXHJcbi8vICR0cmlhbmdsZSAtIFNldHMgaWYgZHJvcGRvd24gaGFzIHRyaWFuZ2xlLiBEZWZhdWx0OnRydWUuXHJcbi8vICRtYXgtd2lkdGggLSBEZWZhdWx0OiAkZi1kcm9wZG93bi1tYXgtd2lkdGggfHwgMjAwcHguXHJcbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIoJGNvbnRlbnQ6bGlzdCwgJHRyaWFuZ2xlOnRydWUsICRtYXgtd2lkdGg6JGYtZHJvcGRvd24tbWF4LXdpZHRoKSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBsZWZ0OiAtOTk5OXB4O1xyXG4gIGxpc3Qtc3R5bGU6ICRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU7XHJcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgJi5vcGVuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgPiAqOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxyXG4gID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG5cclxuICBAaWYgJGNvbnRlbnQgPT0gbGlzdCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcclxuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XHJcbiAgICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcclxuICAgIGhlaWdodDogJGYtZHJvcGRvd24taGVpZ2h0O1xyXG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogODk7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRjb250ZW50ID09IGNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZDogJGYtZHJvcGRvd24tYmc7XHJcbiAgICBib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XHJcbiAgICBoZWlnaHQ6ICRmLWRyb3Bkb3duLWhlaWdodDtcclxuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XHJcbiAgICBwYWRkaW5nOiAkZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDg5O1xyXG4gIH1cclxuXHJcbiAgQGlmICR0cmlhbmdsZSA9PSBib3R0b20ge1xyXG4gICAgbWFyZ2luLXRvcDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcclxuXHJcbiAgICBAaWYgJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAhPSAwcHgge1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgYm90dG9tKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XHJcbiAgICAgICAgei1pbmRleDogODk7XHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsIGJvdHRvbSk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLSgoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEpICogMik7XHJcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcclxuICAgICAgICB6LWluZGV4OiA4ODtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yaWdodDpiZWZvcmUge1xyXG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xyXG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0O1xyXG4gICAgICB9XHJcbiAgICAgICYucmlnaHQ6YWZ0ZXIge1xyXG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xyXG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICR0cmlhbmdsZSA9PSAkZGVmYXVsdC1mbG9hdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcclxuICAgICAgei1pbmRleDogODk7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xyXG4gICAgICB6LWluZGV4OiA4ODtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBAaWYgJHRyaWFuZ2xlID09ICRvcHBvc2l0ZS1kaXJlY3Rpb24ge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XHJcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcclxuICAgICAgei1pbmRleDogODk7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsICN7JGRlZmF1bHQtZmxvYXR9KTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xyXG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcclxuICAgICAgei1pbmRleDogODg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgQGlmICR0cmlhbmdsZSA9PSB0b3Age1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAtJGYtZHJvcGRvd24tbWFyZ2luLWJvdHRvbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgdG9wKTtcclxuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IGF1dG87XHJcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcclxuICAgICAgei1pbmRleDogODk7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKyAxLCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3IsIHRvcCk7XHJcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogYXV0bztcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bztcclxuICAgICAgei1pbmRleDogODg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgQGlmICRtYXgtd2lkdGggeyBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7IH1cclxuICBAZWxzZSB7IG1heC13aWR0aDogJGYtZHJvcGRvd24tbWF4LXdpZHRoOyB9XHJcblxyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGxpc3QgZWxlbWVudHMgb3IgY29udGVudCBpbnNpZGUgdGhlIGRyb3Bkb3duLlxyXG5cclxuQG1peGluIGRyb3Bkb3duLXN0eWxlIHtcclxuICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcclxuICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ7XHJcbiAgbWFyZ2luOiAwO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOyB9XHJcblxyXG4gICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRmLWRyb3Bkb3duLXJhZGl1cyk7IH1cclxuXHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZztcclxuICAgIGNvbG9yOiAkZi1kcm9wZG93bi1mb250LWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1kcm9wZG93bi1jbGFzc2VzIHtcclxuXHJcbiAgICAvKiBGb3VuZGF0aW9uIERyb3Bkb3ducyAqL1xyXG4gICAgLmYtZHJvcGRvd24ge1xyXG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgYm90dG9tKTtcclxuXHJcbiAgICAgICYuZHJvcC0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259IHtcclxuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIobGlzdCwgI3skZGVmYXVsdC1mbG9hdH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmRyb3AtI3skZGVmYXVsdC1mbG9hdH0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kcm9wLXRvcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGxpc3QsIHRvcCk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gbWF4LXdpZHRoOiBub25lO1xyXG5cclxuICAgICAgbGkgeyBAaW5jbHVkZSBkcm9wZG93bi1zdHlsZTsgfVxyXG5cclxuICAgICAgLy8gWW91IGNhbiBhbHNvIHB1dCBjdXN0b20gY29udGVudCBpbiB0aGVzZSBkcm9wZG93bnNcclxuICAgICAgJi5jb250ZW50IHsgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyKGNvbnRlbnQsICR0cmlhbmdsZTpmYWxzZSk7IH1cclxuXHJcbiAgICAgIC8vIFNpemVzXHJcbiAgICAgICYudGlueSAgICB7IG1heC13aWR0aDogMjAwcHg7IH1cclxuICAgICAgJi5zbWFsbCAgIHsgbWF4LXdpZHRoOiAzMDBweDsgfVxyXG4gICAgICAmLm1lZGl1bSAgeyBtYXgtd2lkdGg6IDUwMHB4OyB9XHJcbiAgICAgICYubGFyZ2UgICB7IG1heC13aWR0aDogODAwcHg7IH1cclxuICAgICAgJi5tZWdhICAgIHtcclxuICAgICAgICB3aWR0aDoxMDAlIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICYub3BlbntcclxuICAgICAgICAgIGxlZnQ6MCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBzaXplIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xyXG4kYnV0dG9uLXBpcC10bnk6IHJlbS1jYWxjKDYpICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBpcC1tZWQ6IHJlbS1jYWxjKDkpICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBpcC1scmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aW55IGRyb3Bkb3duIGJ1dHRvbnNcclxuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogNyAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtdG55OiAkYnV0dG9uLXBpcC10bnkgKiAzICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55OiAoLSRidXR0b24tcGlwLXRueSAvIDIpICsgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgc21hbGwgZHJvcGRvd24gYnV0dG9uc1xyXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA3ICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDMgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6ICgtJGJ1dHRvbi1waXAtc21sIC8gMikgKyByZW0tY2FsYygxKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBtZWRpdW0gZHJvcGRvd24gYnV0dG9uc1xyXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA2ICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAyLjUgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ6ICgtJGJ1dHRvbi1waXAtbWVkIC8gMikgKyByZW0tY2FsYygyKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBsYXJnZSBkcm9wZG93biBidXR0b25zXHJcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc6ICRidXR0b24tcGlwLWxyZyAqIDIuNSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZzogKC0kYnV0dG9uLXBpcC1scmcgLyAyKSArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBEcm9wZG93biBCdXR0b24gTWl4aW5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYnVpbGQgb2ZmIG9mIHRoZSBidXR0b24gbWl4aW4gYW5kIGFkZCBkcm9wZG93biBidXR0b24gc3R5bGVzXHJcbi8vXHJcbi8vICRwYWRkaW5nIC0gRGV0ZXJtaW5lcyB0aGUgc2l6ZSBvZiBidXR0b24geW91J3JlIHdvcmtpbmcgd2l0aC4gRGVmYXVsdDogbWVkaXVtLiBPcHRpb25zIFt0aW55LCBzbWFsbCwgbWVkaXVtLCBsYXJnZV1cclxuLy8gJHBpcC1jb2xvciAtIENvbG9yIG9mIHRoZSBsaXR0bGUgdHJpYW5nbGUgdGhhdCBwb2ludHMgdG8gdGhlIGRyb3Bkb3duLiBEZWZhdWx0OiAkd2hpdGUuXHJcbi8vICRiYXNlLXN0eWxlIC0gQWRkIGluIGJhc2Utc3R5bGVzLiBUaGlzIGNhbiBiZSBzZXQgdG8gZmFsc2UuIERlZmF1bHQ6dHJ1ZVxyXG5cclxuQG1peGluIGRyb3Bkb3duLWJ1dHRvbigkcGFkZGluZzptZWRpdW0sICRwaXAtY29sb3I6JGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3IsICRiYXNlLXN0eWxlOnRydWUpIHtcclxuXHJcbiAgLy8gV2UgYWRkIGluIGJhc2Ugc3R5bGVzLCBidXQgdGhleSBjYW4gYmUgbmVnYXRlZCBieSBzZXR0aW5nIHRvICdmYWxzZScuXHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAvLyBUaGlzIGNyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciB0aGUgdHJpYW5nbGUgcGlwXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIHRpbnkgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xyXG4gIEBpZiAkcGFkZGluZyA9PSB0aW55IHtcclxuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtdG55O1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk7XHJcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggc21hbGwgYnV0dG9ucywgdXNlIHRoZXNlIHN0eWxlc1xyXG4gIEBpZiAkcGFkZGluZyA9PSBzbWFsbCB7XHJcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw7XHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw7XHJcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDtcclxuICAgICAgbWFyZ2luLXRvcDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBkZWZhdWx0IChtZWRpdW0pIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcclxuICBAaWYgJHBhZGRpbmcgPT0gbWVkaXVtIHtcclxuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLW1lZDtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDtcclxuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkO1xyXG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSWYgd2UncmUgZGVhbGluZyB3aXRoIGxhcmdlIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcclxuICBAaWYgJHBhZGRpbmcgPT0gbGFyZ2Uge1xyXG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbHJnO1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBib3JkZXItd2lkdGg6ICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnO1xyXG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc7XHJcbiAgICAgIG1hcmdpbi10b3A6ICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1scmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgcGlwIGNvbG9yLiBXZSBkaWRuJ3QgdXNlIGxvZ2ljIGluIHRoaXMgY2FzZSwganVzdCBzZXQgaXQgYW5kIGZvcmdldCBpdC5cclxuICBAaWYgJHBpcC1jb2xvciB7XHJcbiAgICAmOjphZnRlciB7IGJvcmRlci1jb2xvcjogJHBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duLWJ1dHRvblwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xyXG4gICAgLmRyb3Bkb3duLmJ1dHRvbiwgYnV0dG9uLmRyb3Bkb3duIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uO1xyXG4gICAgICAmLnRpbnkgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24odGlueSwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XHJcbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24oc21hbGwsICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxyXG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgZHJvcGRvd24tYnV0dG9uKGxhcmdlLCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cclxuICAgICAgJi5zZWNvbmRhcnk6YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmlkZW8gY29udGFpbmVyIHBhZGRpbmcgYW5kIG1hcmdpbnNcclxuJGZsZXgtdmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KSAhZGVmYXVsdDtcclxuJGZsZXgtdmlkZW8tcGFkZGluZy1ib3R0b206IDY3LjUlICFkZWZhdWx0O1xyXG4kZmxleC12aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHdpZGVzY3JlZW4gYm90dG9tIHBhZGRpbmdcclxuJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTogNTYuMzQlICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG5cclxuQG1peGluIGZsZXgtdmlkZW8tY29udGFpbmVyIHtcclxuICBoZWlnaHQ6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXgtdmlkZW8tbWFyZ2luLWJvdHRvbTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTtcclxuICBwYWRkaW5nLXRvcDogJGZsZXgtdmlkZW8tcGFkZGluZy10b3A7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmLndpZGVzY3JlZW4geyBwYWRkaW5nLWJvdHRvbTogJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTsgfVxyXG4gICYudmltZW8geyBwYWRkaW5nLXRvcDogMDsgfVxyXG5cclxuICBpZnJhbWUsXHJcbiAgb2JqZWN0LFxyXG4gIGVtYmVkLFxyXG4gIHZpZGVvIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiZmxleC12aWRlb1wiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XHJcbiAgICAuZmxleC12aWRlbyB7IEBpbmNsdWRlIGZsZXgtdmlkZW8tY29udGFpbmVyOyB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuQGltcG9ydCAnYnV0dG9ucyc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhc2UgZm9yIGxvdHMgb2YgZm9ybSBzcGFjaW5nIGFuZCBwb3NpdGlvbmluZyBzdHlsZXNcclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHMgaW4gZGlmZmVyZW50IHdheXNcclxuJGZvcm0tbGFiZWwtcG9pbnRlcjogcG9pbnRlciAhZGVmYXVsdDtcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xyXG4kZm9ybS1sYWJlbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkYmxhY2ssICRsaWdodG5lc3M6IDMwJSkgIWRlZmF1bHQ7XHJcbiRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhZGVmYXVsdDtcclxuJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9udC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KSAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I6ICNjY2NjY2MgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJGlucHV0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb2N1cy1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMiUpICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC00MCUpICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuJGlucHV0LWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xyXG4kaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcclxuJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3Q6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBmaWVsZHNldCBib3JkZXIgYW5kIHNwYWNpbmcuXHJcbiRmaWVsZHNldC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsZWdlbmRzIHdoZW4geW91IHVzZSB0aGVtXHJcbiRsZWdlbmQtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGxlZ2VuZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgcHJlZml4IGFuZCBwb3N0Zml4IGlucHV0IGVsZW1lbnRzXHJcbiRpbnB1dC1wcmVmaXgtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcclxuJGlucHV0LXByZWZpeC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJGlucHV0LXByZWZpeC1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c6IHZpc2libGUgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgc2V0dGluZyB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnMgKHRoZSB1cC9kb3duIGFycm93cylcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZXJyb3Igc3RhdGVzIGZvciBpbnB1dHMgYW5kIGxhYmVsc1xyXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nOiByZW0tY2FsYyg2IDkgOSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDogLTFweCAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZ2xvd2luZyBlZmZlY3Qgb2YgaW5wdXRzIHdoZW4gZm9jdXNlZFxyXG4kZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lOiAuNDVzICFkZWZhdWx0O1xyXG4kZ2xvd2luZy1lZmZlY3QtY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgdHJhbnNpdGlvbiB3aGVuIGlucHV0cyBhcmUgZm9jdXNlZCBhbmQgd2hlbiB0aGUgZ2xvd2luZyBlZmZlY3QgaXMgZGlzYWJsZWQuXHJcbiRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZTogMC4xNXMgIWRlZmF1bHQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XHJcblxyXG4vLyBTZWxlY3QgdmFyaWFibGVzXHJcbiRzZWxlY3QtYmctY29sb3I6ICRnaG9zdCAhZGVmYXVsdDtcclxuJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHNlbGVjdC1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBNSVhJTlNcclxuLy9cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgdXMgZm9ybSBzdHlsZXMgZm9yIHJvd3MgaW5zaWRlIG9mIGZvcm1zXHJcbkBtaXhpbiBmb3JtLXJvdy1iYXNlIHtcclxuICAucm93IHsgbWFyZ2luOiAwICgoLSRmb3JtLXNwYWNpbmcpIC8gMik7XHJcblxyXG4gICAgLmNvbHVtbixcclxuICAgIC5jb2x1bW5zIHsgcGFkZGluZzogMCAoJGZvcm0tc3BhY2luZyAvIDIpOyB9XHJcblxyXG4gICAgLy8gVXNlIHRoaXMgdG8gY29sbGFwc2UgdGhlIG1hcmdpbnMgb2YgYSBmb3JtIHJvd1xyXG4gICAgJi5jb2xsYXBzZSB7IG1hcmdpbjogMDtcclxuXHJcbiAgICAgIC5jb2x1bW4sXHJcbiAgICAgIC5jb2x1bW5zIHsgcGFkZGluZzogMDsgfVxyXG4gICAgICBpbnB1dCB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gIGlucHV0LmNvbHVtbixcclxuICBpbnB1dC5jb2x1bW5zLFxyXG4gIHRleHRhcmVhLmNvbHVtbixcclxuICB0ZXh0YXJlYS5jb2x1bW5zIHsgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogKCRmb3JtLXNwYWNpbmcgLyAyKTsgfVxyXG59XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gZ2l2ZSBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyB0aGVpciBzdHlsZVxyXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctY29sb3I7XHJcbiAgYm9yZGVyOiB7XHJcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcclxuICAgIHdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xyXG4gICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgfVxyXG4gIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93O1xyXG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcclxuICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xyXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmcgMDtcclxuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcclxuICB3aWR0aDogMTAwJTtcclxuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gIEBpZiAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdCB7XHJcbiAgICBAaW5jbHVkZSBibG9jay1nbG93aW5nLWVmZmVjdChmb2N1cywgJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZSwgJGdsb3dpbmctZWZmZWN0LWNvbG9yKTtcclxuICB9XHJcbiAgLy8gQmFzaWMgZm9jdXMgc3R5bGVzXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtZm9jdXMtYmctY29sb3I7XHJcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuICAvLyBEaXNhYmxlZCBTdHlsZXNcclxuICAmOmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcclxuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkIGJhY2tncm91bmQgaW5wdXQgYmFja2dyb3VuZCBjb2xvclxyXG4gICZbZGlzYWJsZWRdLFxyXG4gICZbcmVhZG9ubHldLFxyXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcclxuICAgIGN1cnNvcjogJGlucHV0LWRpc2FibGVkLWN1cnNvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgZm9ybSBsYWJlbHNcclxuLy9cclxuLy8gJGFsaWdubWVudCAtIEFsaWdubWVudCBvcHRpb25zLiBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogW3JpZ2h0LCBpbmxpbmUsIGZhbHNlXVxyXG4vLyAkYmFzZS1zdHlsZSAtIENvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC4gRGVmYXVsdDogdHJ1ZS5cclxuQG1peGluIGZvcm0tbGFiZWwoJGFsaWdubWVudDpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSkge1xyXG5cclxuICAvLyBDb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guXHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1mb250LWNvbG9yO1xyXG4gICAgY3Vyc29yOiAkZm9ybS1sYWJlbC1wb2ludGVyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW47XHJcbiAgfVxyXG5cclxuICAvLyBBbGlnbm1lbnQgb3B0aW9uc1xyXG4gIEBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcclxuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB9XHJcbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBpbmxpbmUge1xyXG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xyXG4gICAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHBvc3RmaXgvcHJlZml4IGZvcm0gTGFiZWxzXHJcbkBtaXhpbiBwcmVmaXgtcG9zdGZpeC1iYXNlIHtcclxuICBib3JkZXItc3R5bGU6ICRpbnB1dC1wcmVmaXgtYm9yZGVyLXR5cGU7XHJcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtcHJlZml4LWJvcmRlci1zaXplO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xyXG4gIGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XHJcbiAgbGluZS1oZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xyXG4gIG92ZXJmbG93OiAkaW5wdXQtcHJlZml4LW92ZXJmbG93O1xyXG4gIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwcmVmaXggbGFiZWwgc3R5bGVzXHJcbi8vICRiZyAtIERlZmF1bHQ6JGlucHV0LXByZWZpeC1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XHJcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OmZhbHNlXHJcbi8vXHJcbkBtaXhpbiBwcmVmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXI6JGlucHV0LXByZWZpeC1ib3JkZXItY29sb3IsICRpcy1idXR0b246ZmFsc2UpIHtcclxuXHJcbiAgQGlmICRiZyB7XHJcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuICAgIGJhY2tncm91bmQ6ICRiZztcclxuICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBub25lO1xyXG5cclxuICAgIC8vIENvbnRyb2wgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBicmlnaHRuZXNzXHJcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjsgfVxyXG4gICAgQGVsc2UgeyBjb2xvcjogJGlucHV0LXByZWZpeC1mb250LWNvbG9yLWFsdDsgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRib3JkZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gIH1cclxuXHJcbiAgQGlmICRpcy1idXR0b24ge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gQE1JWElOXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwb3N0Zml4IGxhYmVsIHN0eWxlc1xyXG4vLyAkYmcgLSBEZWZhdWx0OiRpbnB1dC1wcmVmaXgtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xyXG4vLyAkaXMtYnV0dG9uIC0gVG9nZ2xlIHBvc2l0aW9uIHNldHRpbmdzIGlmIHByZWZpeCBpcyBhIGJ1dHRvbi4gRGVmYXVsdDogZmFsc2VcclxuQG1peGluIHBvc3RmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXItbGVmdC1oaWRkZW46ZmFsc2UsICRib3JkZXI6JGlucHV0LXByZWZpeC1ib3JkZXItY29sb3IsICRpcy1idXR0b246ZmFsc2UpIHtcclxuXHJcbiAgQGlmICRiZyB7XHJcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuICAgIGJhY2tncm91bmQ6ICRiZztcclxuICAgIEBpZiAkYm9yZGVyLWxlZnQtaGlkZGVuIHtcclxuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbnRyb2wgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gYmFja2dyb3VuZCBicmlnaHRuZXNzXHJcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSAgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7IH1cclxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cclxuICB9XHJcblxyXG4gIEBpZiAkYm9yZGVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuICB9XHJcblxyXG4gIEBpZiAkaXMtYnV0dG9uIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHN0eWxlIGZpZWxkc2V0c1xyXG5AbWl4aW4gZmllbGRzZXQge1xyXG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlci13aWR0aCAkZmllbGRzZXQtYm9yZGVyLXN0eWxlICRmaWVsZHNldC1ib3JkZXItY29sb3I7XHJcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xyXG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xyXG5cclxuICAvLyBhbmQgbGVnZW5kIHN0eWxlc1xyXG4gIGxlZ2VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGVnZW5kLWJnO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XHJcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IHJlbS1jYWxjKC0zKTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcclxuICB9XHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjb250cm9sIGJvcmRlciBhbmQgYmFja2dyb3VuZCBjb2xvciBvZiBlcnJvciBpbnB1dHNcclxuLy8gJGNvbG9yIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxyXG5AbWl4aW4gZm9ybS1lcnJvci1jb2xvcigkY29sb3I6JGFsZXJ0LWNvbG9yKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIC4xKTtcclxuICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgLy8gR28gYmFjayB0byBub3JtYWwgb24gZm9jdXNcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1mb2N1cy1iZy1jb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEBNSVhJTlxyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBzaW1wbGUgbWl4aW4gdG8gc3R5bGUgbGFiZWxzIGZvciBlcnJvciBpbnB1dHNcclxuLy8gJGNvbG9yIC0gRGVmYXVsdDokYWxlcnQtY29sb3IuIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcclxuQG1peGluIGZvcm0tbGFiZWwtZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikgeyBjb2xvcjogJGNvbG9yOyB9XHJcblxyXG4vLyBATUlYSU5cclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGVycm9yIG1lc3NhZ2Ugc3R5bGVzXHJcbi8vICRiZyAtIERlZmF1bHQ6ICRhbGVydC1jb2xvciAoRm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcclxuQG1peGluIGZvcm0tZXJyb3ItbWVzc2FnZSgkYmc6JGlucHV0LWVycm9yLW1lc3NhZ2UtYmctY29sb3IpIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTtcclxuICBmb250LXN0eWxlOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlO1xyXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDtcclxuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xyXG4gIG1hcmdpbi10b3A6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDtcclxuICBwYWRkaW5nOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1wYWRkaW5nO1xyXG5cclxuICAvLyBXZSBjYW4gY29udHJvbCB0aGUgdGV4dCBjb2xvciBiYXNlZCBvbiB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgYmFja2dyb3VuZC5cclxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcclxuICBiYWNrZ3JvdW5kOiAkYmc7XHJcbiAgQGlmICRiZy1saWdodG5lc3MgPCA3MCUgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOyB9XHJcbiAgQGVsc2UgeyBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ7IH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgc2VsZWN0IGVsZW1lbnRzXHJcbkBtaXhpbiBmb3JtLXNlbGVjdCAge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmctY29sb3I7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuXHJcbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcclxuICAmOjotbXMtZXhwYW5kIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgY3VzdG9tIGFycm93IGhhcyBzb21lIGZha2UgaG9yaXpvbnRhbCBwYWRkaW5nIHNvIHdlIGNhbiBhbGlnbiBpdFxyXG4gIC8vIGZyb20gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGVsZW1lbnQgd2l0aG91dCByZWx5aW5nIG9uIENTUzNcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRDBpTVRKd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qUndlQ0lnYUdWcFoyaDBQU0l6Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EySURNaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lEWWdNeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK1BIQnZiSGxuYjI0Z2NHOXBiblJ6UFNJMUxqazVNaXd3SURJdU9Ua3lMRE1nTFRBdU1EQTRMREFnSWk4K1BDOXpkbWMrKTtcclxuXHJcbiAgLy8gV2UgY2FuIHNhZmVseSB1c2UgbGVmdG1vc3QgYW5kIHJpZ2h0bW9zdCBub3dcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcsIDAlLCAxMDAlKSBjZW50ZXI7XHJcblxyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYm9yZGVyOiB7XHJcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcclxuICAgIHdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xyXG4gICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgfVxyXG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcclxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XHJcbiAgQGluY2x1ZGUgcmFkaXVzKDApO1xyXG4gICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRnbG9iYWwtcmFkaXVzKTsgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcclxuICB9XHJcbiAgLy8gRGlzYWJsZWQgU3R5bGVzXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XHJcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnNcclxuQG1peGluIGh0bWw1bnVtYmVyKCRicm93c2VyLCAkb246dHJ1ZSkge1xyXG4gIEBpZiAkb249PWZhbHNlIHtcclxuICAgICAgQGlmICRicm93c2VyPT13ZWJraXQge1xyXG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH0gQGVsc2UgaWYgJGJyb3dzZXI9PW1veiB7XHJcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJmb3JtXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xyXG4gICAgLyogU3RhbmRhcmQgRm9ybXMgKi9cclxuICAgIGZvcm0geyBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nOyB9XHJcblxyXG4gICAgLyogVXNpbmcgZm9ybXMgd2l0aGluIHJvd3MsIHdlIG5lZWQgdG8gc2V0IHNvbWUgZGVmYXVsdHMgKi9cclxuICAgIGZvcm0gLnJvdyB7IEBpbmNsdWRlIGZvcm0tcm93LWJhc2U7IH1cclxuXHJcbiAgICAvKiBMYWJlbCBTdHlsZXMgKi9cclxuICAgIGxhYmVsIHsgQGluY2x1ZGUgZm9ybS1sYWJlbDtcclxuICAgICAgJi5yaWdodCB7IEBpbmNsdWRlIGZvcm0tbGFiZWwocmlnaHQsIGZhbHNlKTsgfVxyXG4gICAgICAmLmlubGluZSB7IEBpbmNsdWRlIGZvcm0tbGFiZWwoaW5saW5lLCBmYWxzZSk7IH1cclxuICAgICAgLyogU3R5bGVzIGZvciByZXF1aXJlZCBpbnB1dHMgKi9cclxuICAgICAgc21hbGwge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9ybS1sYWJlbC1zbWFsbC10cmFuc2Zvcm07XHJcbiAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBBdHRhY2ggZWxlbWVudHMgdG8gdGhlIGJlZ2lubmluZyBvciBlbmQgb2YgYW4gaW5wdXQgKi9cclxuICAgIC5wcmVmaXgsXHJcbiAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHByZWZpeC1wb3N0Zml4LWJhc2U7IH1cclxuXHJcbiAgICAvKiBBZGp1c3QgcGFkZGluZywgYWxpZ25tZW50IGFuZCByYWRpdXMgaWYgcHJlL3Bvc3QgZWxlbWVudCBpcyBhIGJ1dHRvbiAqL1xyXG4gICAgLnBvc3RmaXguYnV0dG9uIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTsgQGluY2x1ZGUgcG9zdGZpeChmYWxzZSwgZmFsc2UsIHRydWUpOyB9XHJcbiAgICAucHJlZml4LmJ1dHRvbiB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKGZhbHNlLCBmYWxzZSk7IEBpbmNsdWRlIHByZWZpeChmYWxzZSwgZmFsc2UsIHRydWUpOyB9XHJcblxyXG4gICAgLnByZWZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XHJcbiAgICAucG9zdGZpeC5idXR0b24ucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cclxuICAgIC5wcmVmaXguYnV0dG9uLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cclxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yb3VuZCk7IH1cclxuXHJcbiAgICAvKiBTZXBhcmF0ZSBwcmVmaXggYW5kIHBvc3RmaXggc3R5bGVzIHdoZW4gb24gc3BhbiBvciBsYWJlbCBzbyBidXR0b25zIGtlZXAgdGhlaXIgb3duICovXHJcbiAgICBzcGFuLnByZWZpeCwgbGFiZWwucHJlZml4IHsgQGluY2x1ZGUgcHJlZml4KCk7IH1cclxuICAgIHNwYW4ucG9zdGZpeCwgbGFiZWwucG9zdGZpeCB7IEBpbmNsdWRlIHBvc3RmaXgoKTsgfVxyXG5cclxuICAgIC8qIFdlIHVzZSB0aGlzIHRvIGdldCBiYXNpYyBzdHlsaW5nIG9uIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzICovXHJcbiAgICAje3RleHQtaW5wdXRzKGFsbCwgJ2lucHV0Jyl9IHtcclxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcclxuICAgICAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0ID09IGZhbHNlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XHJcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xyXG4gICAgICB9XHJcbiAgICAgICYucmFkaXVzIHtcclxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybSB7XHJcbiAgICAgIC5yb3cge1xyXG4gICAgICAgIC5wcmVmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XHJcbiAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgIHRleHRhcmVhLFxyXG4gICAgICAgICAgc2VsZWN0LFxyXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJhZGl1cyk7IH1cclxuICAgICAgICAgIC5wcmVmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnBvc3RmaXgtcmFkaXVzLnJvdy5jb2xsYXBzZSB7XHJcbiAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgIHRleHRhcmVhLFxyXG4gICAgICAgICAgc2VsZWN0LFxyXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XHJcbiAgICAgICAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcclxuICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICAgdGV4dGFyZWEsXHJcbiAgICAgICAgICBzZWxlY3QsXHJcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XHJcbiAgICAgICAgICAucHJlZml4IHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnBvc3RmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcclxuICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgICAgdGV4dGFyZWEsXHJcbiAgICAgICAgICBzZWxlY3QsXHJcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxyXG4gICAgICAgICAgLnBvc3RmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFJlc3BlY3QgZW5mb3JjZWQgYW1vdW50IG9mIHJvd3MgZm9yIHRleHRhcmVhICovXHJcbiAgICB0ZXh0YXJlYVtyb3dzXSB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcblx0ICAvKiBOb3QgYWxsb3cgcmVzaXplIG91dCBvZiBwYXJlbnQgKi9cclxuXHQgIHRleHRhcmVhIHtcclxuXHQgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cdCAgfVxyXG4gICAgXHJcbiAgICAvLyBzdHlsZSBwbGFjZWhvbGRlciB0ZXh0IGNyb3NzIGJyb3dzZXJcclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICA6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXHJcbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7ICBcclxuICAgIH1cclxuXHJcbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIgeyAgLyogRmlyZWZveCAxOSsgKi9cclxuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjsgIFxyXG4gICAgfVxyXG5cclxuICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAgXHJcbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7ICBcclxuICAgIH1cclxuICAgXHJcblxyXG4gICAgLyogQWRkIGhlaWdodCB2YWx1ZSBmb3Igc2VsZWN0IGVsZW1lbnRzIHRvIG1hdGNoIHRleHQgaW5wdXQgaGVpZ2h0ICovXHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcclxuICAgICAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcclxuICAgICAgJlttdWx0aXBsZV0ge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEFkanVzdCBtYXJnaW4gZm9yIGZvcm0gZWxlbWVudHMgYmVsb3cgKi9cclxuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGZvcm0tc3BhY2luZyAqIC41O1xyXG4gICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGZvcm0tc3BhY2luZztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoICovXHJcbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogSFRNTDUgTnVtYmVyIHNwaW5uZXJzIHNldHRpbmdzICovXHJcbiAgICBpbnB1dFt0eXBlPW51bWJlcl0ge1xyXG4gICAgICBAaW5jbHVkZSBodG1sNW51bWJlcihtb3osICRpbnB1dC1udW1iZXItc3Bpbm5lcnMpXHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGh0bWw1bnVtYmVyKHdlYmtpdCwgJGlucHV0LW51bWJlci1zcGlubmVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogV2UgYWRkIGJhc2ljIGZpZWxkc2V0IHN0eWxpbmcgKi9cclxuICAgIGZpZWxkc2V0IHtcclxuICAgICAgQGluY2x1ZGUgZmllbGRzZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyogRXJyb3IgSGFuZGxpbmcgKi9cclxuXHJcbiAgICAje2RhdGEoJ2FiaWRlJyl9IHtcclxuICAgICAgLmVycm9yIHNtYWxsLmVycm9yLCAuZXJyb3Igc3Bhbi5lcnJvciwgc3Bhbi5lcnJvciwgc21hbGwuZXJyb3Ige1xyXG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcclxuICAgICAgfVxyXG4gICAgICBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIH1cclxuXHJcbiAgICBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XHJcbiAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICAuZXJyb3Ige1xyXG4gICAgICBpbnB1dCxcclxuICAgICAgdGV4dGFyZWEsXHJcbiAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmdcclxuICAgICAgfVxyXG5cclxuICAgICAgbGFiZWwsXHJcbiAgICAgIGxhYmVsLmVycm9yIHtcclxuICAgICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLWVycm9yLWNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzbWFsbC5lcnJvciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1lcnJvci1tZXNzYWdlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGxhYmVsIHtcclxuICAgICAgICA+IHNtYWxsIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICBmb250LXNpemU6IDYwJTtcclxuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgc3Bhbi5lcnJvci1tZXNzYWdlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlucHV0LmVycm9yLFxyXG4gICAgdGV4dGFyZWEuZXJyb3IsXHJcbiAgICBzZWxlY3QuZXJyb3Ige1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgbGFiZWwuZXJyb3IgeyBAaW5jbHVkZSBmb3JtLWxhYmVsLWVycm9yLWNvbG9yOyB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcblxyXG4vLyBAbmFtZVxyXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xyXG5cclxuJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBAdmFyaWFibGVzXHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGljb24tYmFyIGFuZCBpdGVtc1xyXG4kaWNvbi1iYXItYmc6ICRvaWwgIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1mb250LWNvbG9yLWhvdmVyOiAkaWNvbi1iYXItZm9udC1jb2xvciAhZGVmYXVsdDtcclxuJGljb24tYmFyLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcclxuJGljb24tYmFyLWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJGljb24tYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJGljb24tYmFyLWljb24tY29sb3ItaG92ZXI6ICRpY29uLWJhci1pY29uLWNvbG9yICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItaWNvbi1zaXplOiAxLjg3NXJlbSAhZGVmYXVsdDtcclxuJGljb24tYmFyLWltYWdlLXdpZHRoOiAxLjg3NXJlbSAhZGVmYXVsdDtcclxuJGljb24tYmFyLWltYWdlLWhlaWdodDogMS44NzVyZW0gIWRlZmF1bHQ7XHJcbiRpY29uLWJhci1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItaXRlbS1wYWRkaW5nOiAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBpY29ucy5cclxuJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xyXG4kaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgYmFzZSBzdHlsZXMgZm9yIG91ciBJY29uIGJhciBlbGVtZW50LlxyXG4vL1xyXG5AbWl4aW4gaWNvbi1iYXItYmFzZSgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICA+ICoge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAyNSU7XHJcblxyXG4gICAgaSwgaW1nIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgJiArIGxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAuMDYyNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGkge1xyXG4gICAgICBmb250LXNpemU6ICRpY29uLWJhci1pY29uLXNpemU7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgaGVpZ2h0OiAkaWNvbi1iYXItaW1hZ2UtaGVpZ2h0O1xyXG4gICAgICB3aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5sYWJlbC1yaWdodCA+ICoge1xyXG5cclxuICAgIGksIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luOiAwIC4wNjI1cmVtIDAgMDtcclxuXHJcbiAgICAgICYgKyBsYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgfVxyXG5cclxuICAmLnZlcnRpY2FsLmxhYmVsLXJpZ2h0ID4gKiB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgJi52ZXJ0aWNhbCwgJi5zbWFsbC12ZXJ0aWNhbHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgIC5pdGVtIHtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm1lZGl1bS12ZXJ0aWNhbCB7XHJcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAuaXRlbSB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubGFyZ2UtdmVydGljYWwge1xyXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAuaXRlbSB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIHNpemUgc3R5bGVzIGZvciBpY29uIGJhcnMuXHJcbkBtaXhpbiBpY29uLWJhci1zaXplKFxyXG4gICRwYWRkaW5nOiAkaWNvbi1iYXItaXRlbS1wYWRkaW5nLFxyXG4gICRmb250LXNpemU6ICRpY29uLWJhci1mb250LXNpemUsXHJcbiAgJGljb24tc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZSxcclxuICAkaW1hZ2Utd2lkdGg6ICRpY29uLWJhci1pbWFnZS13aWR0aCxcclxuICAkaW1hZ2UtaGVpZ2h0OiAkaWNvbi1iYXItaW1hZ2UtaGVpZ2h0KSB7XHJcblxyXG4gID4gKiB7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcclxuXHJcbiAgICBpLCBpbWcge1xyXG5cclxuICAgICAgJiArIGxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAuMDYyNXJlbTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpIHtcclxuICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGhlaWdodDogJGltYWdlLWhlaWdodDtcclxuICAgICAgd2lkdGg6ICRpbWFnZS13aWR0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5AbWl4aW4gaWNvbi1iYXItc3R5bGUoXHJcbiAgJGJhci1iZzokaWNvbi1iYXItYmcsXHJcbiAgJGJhci1mb250LWNvbG9yOiRpY29uLWJhci1mb250LWNvbG9yLFxyXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcclxuICAkYmFyLWhvdmVyLWNvbG9yOiRpY29uLWJhci1ob3Zlci1jb2xvcixcclxuICAkYmFyLWljb24tY29sb3I6JGljb24tYmFyLWljb24tY29sb3IsXHJcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxyXG4gICRiYXItYWN0aXZlLWNvbG9yOiRpY29uLWJhci1hY3RpdmUtY29sb3IsXHJcbiAgJGJhc2Utc3R5bGU6dHJ1ZSxcclxuICAkZGlzYWJsZWQ6ZmFsc2UpIHtcclxuXHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFyLWJnO1xyXG5cclxuICAgID4gKiB7XHJcbiAgICAgIGxhYmVsIHsgY29sb3I6ICRiYXItZm9udC1jb2xvcjsgfVxyXG5cclxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3I7IH1cclxuICAgIH1cclxuXHJcbiAgICA+IGE6aG92ZXIge1xyXG5cclxuICAgICAgYmFja2dyb3VuZDogJGJhci1ob3Zlci1jb2xvcjtcclxuXHJcbiAgICAgIGxhYmVsIHsgY29sb3I6ICRiYXItZm9udC1jb2xvci1ob3ZlcjsgfVxyXG5cclxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cclxuICAgIH1cclxuXHJcbiAgICAgICAgPiBhLmFjdGl2ZSB7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFyLWFjdGl2ZS1jb2xvcjtcclxuXHJcbiAgICAgIGxhYmVsIHsgY29sb3I6ICRiYXItZm9udC1jb2xvci1ob3ZlcjsgfVxyXG5cclxuICAgICAgaSB7IGNvbG9yOiAkYmFyLWljb24tY29sb3ItaG92ZXI7IH1cclxuICAgIH1cclxuICB9XHJcbiAgQGlmICRkaXNhYmxlZCB7XHJcbiAgICAuaXRlbS5kaXNhYmxlZCB7XHJcbiAgICAgIGN1cnNvcjogJGljb24tYmFyLWRpc2FibGVkLWN1cnNvcjtcclxuICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICA+KiB7XHJcbiAgICAgICAgb3BhY2l0eTogJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICAgICAgY3Vyc29yOiAkaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgaWNvbiBiYXJzIHdpdGggYSBzaW5nbGUgbWl4aW5cclxuLy8gJGhlaWdodCAtIFRoZSBvdmVyYWxsIGNhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSBpY29uIGJhciAoaG9yaXpvbnRhbClcclxuLy8gJGJhci1iZyAtIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBiYXJcclxuLy8gJGJhci1mb250LWNvbG9yIC0gdGhlIGZvbnQgY29sb3JcclxuLy8gJGJhci1ob3Zlci1jb2xvciAtIG9rYXkgdGhlc2UgYXJlIHByZXR0eSBvYnZpb3VzIHZhcmlhYmxlc1xyXG4vLyAkYmFyLWljb24tY29sb3IgLSBtYXliZSB3ZSBjb3VsZCBza2lwIGV4cGxhaW5pbmcgdGhlbSBhbGw/IE9rYXkgdGhpcyBvbmUgZG9lcyBjaGFuZ2UgaWNvbiBjb2xvciBpZiB5b3UgdXNlIGFuIGljb24gZm9udFxyXG4vLyAkYmFyLWFjdGl2ZS1jb2xvciAtIHRoZSBjb2xvciBvZiBhbiBhY3RpdmUgLyBob3ZlciBzdGF0ZVxyXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxyXG4vLyAkZGlzYWJsZWQgLSBBbGxvdyBkaXNhYmxlZCBpY29ucz8gRGVmYXVsdDogZmFsc2UuXHJcblxyXG5AbWl4aW4gaWNvbi1iYXIoXHJcbiAgJGJhci1iZzokaWNvbi1iYXItYmcsXHJcbiAgJGJhci1mb250LWNvbG9yOiRpY29uLWJhci1mb250LWNvbG9yLFxyXG4gICRiYXItZm9udC1jb2xvci1ob3ZlcjokaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcixcclxuICAkYmFyLWhvdmVyLWNvbG9yOiRpY29uLWJhci1ob3Zlci1jb2xvcixcclxuICAkYmFyLWljb24tY29sb3I6JGljb24tYmFyLWljb24tY29sb3IsXHJcbiAgJGJhci1pY29uLWNvbG9yLWhvdmVyOiRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyLFxyXG4gICRiYXItYWN0aXZlLWNvbG9yOiRpY29uLWJhci1hY3RpdmUtY29sb3IsXHJcbiAgJHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmcsXHJcbiAgJGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcclxuICAkaWNvbi1zaXplOiAkaWNvbi1iYXItaWNvbi1zaXplLFxyXG4gICRpbWFnZS13aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoLFxyXG4gICRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQsXHJcbiAgJGJhc2Utc3R5bGU6dHJ1ZSxcclxuICAkZGlzYWJsZWQ6dHJ1ZSkge1xyXG4gICAgQGluY2x1ZGUgaWNvbi1iYXItYmFzZSgpO1xyXG4gICAgQGluY2x1ZGUgaWNvbi1iYXItc2l6ZSgkcGFkZGluZywgJGZvbnQtc2l6ZSwgJGljb24tc2l6ZSwgJGltYWdlLXdpZHRoLCAkaW1hZ2UtaGVpZ2h0KTtcclxuICAgIEBpbmNsdWRlIGljb24tYmFyLXN0eWxlKCRiYXItYmcsICRiYXItZm9udC1jb2xvciwgJGJhci1mb250LWNvbG9yLWhvdmVyLCAkYmFyLWhvdmVyLWNvbG9yLCAkYmFyLWljb24tY29sb3IsICRiYXItaWNvbi1jb2xvci1ob3ZlciwgJGJhci1hY3RpdmUtY29sb3IsICRiYXNlLXN0eWxlLCAkZGlzYWJsZWQpO1xyXG5cclxuICAvLyBDb3VudHNcclxuXHJcbiAgJi50d28tdXAge1xyXG4gICAgLml0ZW0geyB3aWR0aDogNTAlOyB9XHJcbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cclxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi50aHJlZS11cCB7XHJcbiAgICAuaXRlbSB7IHdpZHRoOiAzMy4zMzMzJTsgfVxyXG4gICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XHJcbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuZm91ci11cCB7XHJcbiAgICAuaXRlbSB7IHdpZHRoOiAyNSU7IH1cclxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxyXG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmZpdmUtdXAge1xyXG4gICAgLml0ZW0geyB3aWR0aDogMjAlOyB9XHJcbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cclxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5zaXgtdXAge1xyXG4gICAgLml0ZW0geyB3aWR0aDogMTYuNjY2NjclOyB9XHJcbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cclxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5zZXZlbi11cCB7XHJcbiAgICAuaXRlbSB7IHdpZHRoOiAxNC4yODU3MSU7IH1cclxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxyXG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuZWlnaHQtdXAge1xyXG4gICAgLml0ZW0geyB3aWR0aDogMTIuNSU7IH1cclxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxyXG4gICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiaWNvbi1iYXJcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWljb24tYmFyLWNsYXNzZXMge1xyXG4gICAgLmljb24tYmFyIHtcclxuICAgICAgQGluY2x1ZGUgaWNvbi1iYXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaWYgJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzIHtcclxuXHJcbiAgLy8gdG9vbGJhciBzdHlsZXNcclxuXHJcbiAgLmljb24tYmFyIHtcclxuXHJcbiAgICAvLyBDb3VudHNcclxuXHJcbiAgICAmLnR3by11cCB7XHJcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDUwJTsgfVxyXG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cclxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50aHJlZS11cCB7XHJcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDMzLjMzMzMlOyB9XHJcbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxyXG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmZvdXItdXAge1xyXG4gICAgICAuaXRlbSB7IHdpZHRoOiAyNSU7IH1cclxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XHJcbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZml2ZS11cCB7XHJcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDIwJTsgfVxyXG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cclxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zaXgtdXAge1xyXG4gICAgICAuaXRlbSB7IHdpZHRoOiAxNi42NjY2NyU7IH1cclxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XHJcbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2V2ZW4tdXAge1xyXG4gICAgICAuaXRlbSB7IHdpZHRoOiAxNC4yODU3MSU7IH1cclxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XHJcbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5laWdodC11cCB7XHJcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDEyLjUlOyB9XHJcbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxyXG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1hcmdpbnMgYW5kIHBhZGRpbmcgb2YgdGhlIGlubGluZSBsaXN0LlxyXG4kaW5saW5lLWxpc3QtdG9wLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGlubGluZS1saXN0LW9wcG9zaXRlLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDE3KSAhZGVmYXVsdDtcclxuJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luOiByZW0tY2FsYygtMjIpICFkZWZhdWx0O1xyXG4kaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1saXN0LW1hcmdpbjogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xyXG5cclxuJGlubGluZS1saXN0LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBvdmVyZmxvdyBvZiB0aGUgaW5saW5lIGxpc3QuXHJcbiRpbmxpbmUtbGlzdC1vdmVyZmxvdzogaGlkZGVuICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtc1xyXG4kaW5saW5lLWxpc3QtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFueSBlbGVtZW50cyB3aXRoaW4gbGlzdCBpdGVtc1xyXG4kaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBpbmxpbmUgbGlzdHNcclxuQG1peGluIGlubGluZS1saXN0IHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGlubGluZS1saXN0LWRlZmF1bHQtZmxvYXQtbWFyZ2luO1xyXG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luO1xyXG4gIG1hcmdpbjogJGlubGluZS1saXN0LXRvcC1tYXJnaW4gYXV0byAkaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbiBhdXRvO1xyXG4gIG92ZXJmbG93OiAkaW5saW5lLWxpc3Qtb3ZlcmZsb3c7XHJcbiAgcGFkZGluZzogJGlubGluZS1saXN0LXBhZGRpbmc7XHJcblxyXG4gID4gbGkge1xyXG4gICAgZGlzcGxheTogJGlubGluZS1saXN0LWRpc3BsYXk7XHJcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1saXN0LW1hcmdpbjtcclxuICAgID4gKiB7IGRpc3BsYXk6ICRpbmxpbmUtbGlzdC1jaGlsZHJlbi1kaXNwbGF5OyB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwiaW5saW5lLWxpc3RcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWlubGluZS1saXN0LWNsYXNzZXMge1xyXG4gICAgLmlubGluZS1saXN0IHtcclxuICAgICAgQGluY2x1ZGUgaW5saW5lLWxpc3QoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLWpveXJpZGUtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gQ29udHJvbGxpbmcgZGVmYXVsdCBKb3lyaWRlIHN0eWxlc1xyXG4kam95cmlkZS10aXAtYmc6ICRvaWwgIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1kZWZhdWx0LXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDE4IDIwIDI0KSAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLWJvcmRlcjogc29saWQgMXB4ICRjaGFyY29hbCAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLXJhZGl1czogNHB4ICFkZWZhdWx0O1xyXG4kam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0OiAyMnB4ICFkZWZhdWx0O1xyXG5cclxuLy8gSGVyZSwgd2UncmUgc2V0dGluZyB0aGUgdGlwIGZvbnQgc3R5bGVzXHJcbiRqb3lyaWRlLXRpcC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuLy8gVGhpcyBjaGFuZ2VzIHRoZSBudWIgc2l6ZVxyXG4kam95cmlkZS10aXAtbnViLXNpemU6IDEwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGlzIGFkanVzdHMgdGhlIHN0eWxlcyBmb3IgdGhlIHRpbWVyIHdoZW4gaXRzIGVuYWJsZWRcclxuJGpveXJpZGUtdGlwLXRpbWVyLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xyXG4kam95cmlkZS10aXAtdGltZXItaGVpZ2h0OiAzcHggIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjogJHN0ZWVsICFkZWZhdWx0O1xyXG5cclxuLy8gVGhpcyBjaGFuZ2VzIHVwIHRoZSBzdHlsZXMgZm9yIHRoZSBjbG9zZSBidXR0b25cclxuJGpveXJpZGUtdGlwLWNsb3NlLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcclxuJGpveXJpZGUtdGlwLWNsb3NlLXNpemU6IDI0cHggIWRlZmF1bHQ7XHJcbiRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLyBXaGVuIEpveXJpZGUgaXMgZmlsbGluZyB0aGUgc2NyZWVuLCB3ZSB1c2UgdGhpcyBzdHlsZSBmb3IgdGhlIGJnXHJcbiRqb3lyaWRlLXNjcmVlbmZpbGw6IHJnYmEoMCwwLDAsMC41KSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBXZSBkZWNpZGVkIG5vdCB0byBtYWtlIGEgbWl4aW4gZm9yIHRoaXMgYmVjYXVzZSBpdCByZWxpZXMgb25cclxuLy8gcHJlZGVmaW5lZCBjbGFzc2VzIHRvIHdvcmsgcHJvcGVybHkuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJqb3lyaWRlXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXMge1xyXG5cclxuICAgIC8qIEZvdW5kYXRpb24gSm95cmlkZSAqL1xyXG4gICAgLmpveXJpZGUtbGlzdCB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbiAgICAvKiBEZWZhdWx0IHN0eWxlcyBmb3IgdGhlIGNvbnRhaW5lciAqL1xyXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHtcclxuICAgICAgYmFja2dyb3VuZDogJGpveXJpZGUtdGlwLWJnO1xyXG4gICAgICBjb2xvcjogJGpveXJpZGUtdGlwLWZvbnQtY29sb3I7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICAgIHotaW5kZXg6IDEwMTtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDIuNSU7XHJcbiAgICB9XHJcblxyXG4gICAgLmx0LWllOSAuam95cmlkZS10aXAtZ3VpZGUge1xyXG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC00MDBweDtcclxuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcclxuICAgIH1cclxuXHJcbiAgICAuam95cmlkZS1jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICBwYWRkaW5nOiAkam95cmlkZS10aXAtcGFkZGluZztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgICAuam95cmlkZS1wcmV2LXRpcCB7IG1hcmdpbi1yaWdodDogMTBweDsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEFkZCBhIGxpdHRsZSBjc3MgdHJpYW5nbGUgcGlwLCBvbGRlciBicm93c2VyIGp1c3QgbWlzcyBvdXQgb24gdGhlIGZhbmNpbmVzcyBvZiBpdCAqL1xyXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHtcclxuICAgICAgLmpveXJpZGUtbnViIHtcclxuICAgICAgICBib3JkZXI6ICRqb3lyaWRlLXRpcC1udWItc2l6ZSBzb2xpZCAkam95cmlkZS10aXAtYmc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDtcclxuXHJcbiAgICAgICAgJi50b3Age1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmc7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgIHRvcDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYm90dG9tIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJvdHRvbTogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnJpZ2h0IHsgcmlnaHQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpOyB9XHJcbiAgICAgICAgJi5sZWZ0IHsgbGVmdDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIFR5cG9ncmFwaHkgKi9cclxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMSxcclxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMixcclxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMyxcclxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNCxcclxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNSxcclxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNiB7XHJcbiAgICAgIGNvbG9yOiAkam95cmlkZS10aXAtZm9udC1jb2xvcjtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0O1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHAge1xyXG4gICAgICBmb250LXNpemU6ICRqb3lyaWRlLXRpcC1mb250LXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDE4IDApO1xyXG4gICAgfVxyXG5cclxuICAgIC5qb3lyaWRlLXRpbWVyLWluZGljYXRvci13cmFwIHtcclxuICAgICAgYm9yZGVyOiAkam95cmlkZS10aXAtYm9yZGVyO1xyXG4gICAgICBib3R0b206IHJlbS1jYWxjKDE2KTtcclxuICAgICAgaGVpZ2h0OiAkam95cmlkZS10aXAtdGltZXItaGVpZ2h0O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHdpZHRoOiAkam95cmlkZS10aXAtdGltZXItd2lkdGg7XHJcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IHJlbS1jYWxjKDE3KTtcclxuICAgIH1cclxuICAgIC5qb3lyaWRlLXRpbWVyLWluZGljYXRvciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRqb3lyaWRlLXRpcC10aW1lci1jb2xvcjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgd2lkdGg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmpveXJpZGUtY2xvc2UtdGlwIHtcclxuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LXNpemU6ICRqb3lyaWRlLXRpcC1jbG9zZS1zaXplO1xyXG4gICAgICBmb250LXdlaWdodDogJGpveXJpZGUtdGlwLWNsb3NlLXdlaWdodDtcclxuICAgICAgbGluZS1oZWlnaHQ6IC41ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEycHg7XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHsgY29sb3I6ICRzbW9rZSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcblxyXG4gICAgLmpveXJpZGUtbW9kYWwtYmcge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkam95cmlkZS1zY3JlZW5maWxsO1xyXG4gICAgICBjdXJzb3I6ICRjdXJzb3ItcG9pbnRlci12YWx1ZTtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmpveXJpZGUtZXhwb3NlLXdyYXBwZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDE1cHggJHdoaXRlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHotaW5kZXg6IDEwMjtcclxuICAgIH1cclxuXHJcbiAgICAuam95cmlkZS1leHBvc2UtY292ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgei1pbmRleDogOTk5OTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyogU3R5bGVzIGZvciBzY3JlZW5zIHRoYXQgYXJlIGF0IGxlYXN0IDc2OHB4OyAqL1xyXG4gICAgQG1lZGlhICN7JHNtYWxsfSB7XHJcbiAgICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7IHdpZHRoOiAkam95cmlkZS10aXAtZGVmYXVsdC13aWR0aDsgI3skZGVmYXVsdC1mbG9hdH06IGluaGVyaXQ7XHJcbiAgICAgICAgLmpveXJpZGUtbnViIHtcclxuICAgICAgICAgICYuYm90dG9tIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm90dG9tOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcclxuICAgICAgICAgICAgdG9wOiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5sZWZ0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkam95cmlkZS10aXAtYmcgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xyXG4gICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgdG9wOiAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwta2V5c3Ryb2tlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGVzLlxyXG4ka2V5c3Ryb2tlLWZvbnQ6IFwiQ29uc29sYXNcIiwgXCJNZW5sb1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG4ka2V5c3Ryb2tlLWZvbnQtc2l6ZTogaW5oZXJpdCAhZGVmYXVsdDtcclxuJGtleXN0cm9rZS1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xyXG4ka2V5c3Ryb2tlLWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yOiAtNyUgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGtleXN0cm9rZSBwYWRkaW5nLlxyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXMuXHJcbiRrZXlzdHJva2UtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xyXG4ka2V5c3Ryb2tlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRrZXlzdHJva2UtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRrZXlzdHJva2UtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigka2V5c3Ryb2tlLWJnLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGtleXN0cm9rZSBzdHlsZXMuXHJcbi8vICRiZyAtIERlZmF1bHQ6ICRrZXlzdHJva2UtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XHJcbkBtaXhpbiBrZXlzdHJva2UoJGJnOiRrZXlzdHJva2UtYmcpIHtcclxuICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xyXG5cclxuICAvLyBXZSBhZGp1c3QgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gdGhlIGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tncm91bmQuXHJcbiAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgeyBjb2xvcjogJGtleXN0cm9rZS1mb250LWNvbG9yOyB9XHJcbiAgQGVsc2UgeyBjb2xvcjogJGtleXN0cm9rZS1mb250LWNvbG9yLWFsdDsgfVxyXG5cclxuICBib3JkZXItc3R5bGU6ICRrZXlzdHJva2UtYm9yZGVyLXN0eWxlO1xyXG4gIGJvcmRlci13aWR0aDogJGtleXN0cm9rZS1ib3JkZXItd2lkdGg7XHJcbiAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcclxuICBmb250LXNpemU6ICRrZXlzdHJva2UtZm9udC1zaXplO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJrZXlzdHJva2VcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWtleXN0cm9rZS1jbGFzc2VzICB7XHJcbiAgICAua2V5c3Ryb2tlLFxyXG4gICAga2JkIHtcclxuICAgICAgQGluY2x1ZGUga2V5c3Ryb2tlO1xyXG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGtleXN0cm9rZS1yYWRpdXMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbGFiZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHNcclxuJGxhYmVsLXBhZGRpbmc6IHJlbS1jYWxjKDQgOCA0KSAhZGVmYXVsdDtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVsIHRleHRcclxuJGxhYmVsLWZvbnQtc2l6aW5nOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XHJcbiRsYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJGxhYmVsLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XHJcbiRsYWJlbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xyXG4kbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgYSBkZWZhdWx0IGxhYmVsIGJhc2UuXHJcbkBtaXhpbiBsYWJlbC1iYXNlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1mYW1pbHk6ICRsYWJlbC1mb250LWZhbWlseTtcclxuICBmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgbGFiZWwgc2l6ZSBzdHlsZXMuXHJcbi8vICRwYWRkaW5nIC0gVXNlZCB0byBkZXRlcm1pbmUgbGFiZWwgcGFkZGluZy4gRGVmYXVsdDogJGxhYmVsLXBhZGRpbmcgfHwgcmVtLWNhbGMoNCA4IDQpICFkZWZhdWx0XHJcbi8vICR0ZXh0LXNpemUgLSBVc2VkIHRvIGRldGVybWluZSBsYWJlbCB0ZXh0LXNpemUuIERlZmF1bHQ6ICR0ZXh0LXNpemUgZm91bmQgaW4gc2V0dGluZ3NcclxuQG1peGluIGxhYmVsLXNpemUoJHBhZGRpbmc6JGxhYmVsLXBhZGRpbmcsICR0ZXh0LXNpemU6JGxhYmVsLWZvbnQtc2l6aW5nKSB7XHJcbiAgQGlmICRwYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmc7IH1cclxuICBAaWYgJHRleHQtc2l6ZSB7IGZvbnQtc2l6ZTogJHRleHQtc2l6ZTsgfVxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBsYWJlbCBzdHlsZXMuXHJcbi8vICRiZyAtIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxyXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWUsIHNldHMgcmFkaXVzIHRvICRnbG9iYWwtcmFkaXVzIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxyXG5AbWl4aW4gbGFiZWwtc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XHJcblxyXG4gIC8vIFdlIGNvbnRyb2wgd2hpY2ggYmFja2dyb3VuZCBjb2xvciBjb21lcyB0aHJvdWdoXHJcbiAgQGlmICRiZyB7XHJcblxyXG4gICAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcclxuXHJcbiAgICAvLyBXZSBjb250cm9sIHRoZSB0ZXh0IGNvbG9yIGZvciB5b3UgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXHJcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA8IDcwJSB7IGNvbG9yOiAkbGFiZWwtZm9udC1jb2xvci1hbHQ7IH1cclxuICAgIEBlbHNlIHsgY29sb3I6ICRsYWJlbC1mb250LWNvbG9yOyB9XHJcbiAgfVxyXG5cclxuICAvLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSByYWRpdXMgb24gbGFiZWxzLlxyXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJGxhYmVsLXJhZGl1cyk7IH1cclxuICBAZWxzZSBpZiAkcmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpOyB9XHJcblxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBjbG9zZSBidXR0b25zIHRvIGFsZXJ0c1xyXG4vLyAkcGFkZGluZyAtIERlZmF1bHQ6ICRsYWJlbC1wYWRkaW5nLFxyXG4vLyAkdGV4dC1zaXplIC0gRGVmYXVsdDogJGxhYmVsLWZvbnQtc2l6aW5nLFxyXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvcihmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxyXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWUgd2hpY2ggc2V0cyByYWRpdXMgdG8gJGdsb2JhbC1yYWRpdXMgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXHJcbkBtaXhpbiBsYWJlbCgkcGFkZGluZzokbGFiZWwtcGFkZGluZywgJHRleHQtc2l6ZTokbGFiZWwtZm9udC1zaXppbmcsICRiZzokcHJpbWFyeS1jb2xvciwgJHJhZGl1czpmYWxzZSkge1xyXG5cclxuICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xyXG4gIEBpbmNsdWRlIGxhYmVsLXNpemUoJHBhZGRpbmcsICR0ZXh0LXNpemUpO1xyXG4gIEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRiZywgJHJhZGl1cyk7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJsYWJlbFwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtbGFiZWwtY2xhc3NlcyB7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xyXG4gICAgICBAaW5jbHVkZSBsYWJlbC1zaXplO1xyXG4gICAgICBAaW5jbHVkZSBsYWJlbC1zdHlsZTtcclxuXHJcbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoZmFsc2UsIHRydWUpOyB9XHJcbiAgICAgICYucm91bmQgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZShmYWxzZSwgJHJhZGl1czoxMDAwcHgpOyB9XHJcblxyXG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRhbGVydC1jb2xvcik7IH1cclxuICAgICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkd2FybmluZy1jb2xvcik7IH1cclxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkc3VjY2Vzcy1jb2xvcik7IH1cclxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yKTsgfVxyXG4gICAgICAmLmluZm8gICAgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRpbmZvLWNvbG9yKTsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuJG1hZ2VsbGFuLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRtYWdlbGxhbi1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcIm1hZ2VsbGFuXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1tYWdlbGxhbi1jbGFzc2VzIHtcclxuXHJcbiAgICAje2RhdGEoJ21hZ2VsbGFuLWV4cGVkaXRpb24nKX0sICN7ZGF0YSgnbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZScpfSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRtYWdlbGxhbi1iZztcclxuICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAkbWFnZWxsYW4tcGFkZGluZztcclxuICAgICAgei1pbmRleDogNTA7XHJcblxyXG4gICAgICAuc3ViLW5hdiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBkZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1vcmJpdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgY2FwdGlvbiBzdHlsZXNcclxuJG9yYml0LWNvbnRhaW5lci1iZzogbm9uZSAhZGVmYXVsdDtcclxuJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIC44KSAhZGVmYXVsdDtcclxuJG9yYml0LWNhcHRpb24tZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kb3JiaXQtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJG9yYml0LWNhcHRpb24tcG9zaXRpb246IFwiYm90dG9tXCIgIWRlZmF1bHQ7IC8vIFN1cHBvcnRlZCB2YWx1ZXM6IFwiYm90dG9tXCIsIFwidW5kZXJcIlxyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxMCAxNCkgIWRlZmF1bHQ7XHJcbiRvcmJpdC1jYXB0aW9uLWhlaWdodDogYXV0byAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsZWZ0L3JpZ2h0IG5hdiBzdHlsZXNcclxuJG9yYml0LW5hdi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRvcmJpdC1uYXYtYmctaG92ZXI6IHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcclxuJG9yYml0LW5hdi1hcnJvdy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgdGltZXIgc3R5bGVzXHJcbiRvcmJpdC10aW1lci1iZzogcmdiYSgyNTUsMjU1LDI1NSwwLjMpICFkZWZhdWx0O1xyXG4kb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYnVsbGV0IG5hdiBzdHlsZXNcclxuJG9yYml0LWJ1bGxldC1uYXYtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xyXG4kb3JiaXQtYnVsbGV0LW5hdi1jb2xvci1hY3RpdmU6ICRhbHVtaW51bSAhZGVmYXVsdDtcclxuJG9yYml0LWJ1bGxldC1yYWRpdXM6IHJlbS1jYWxjKDkpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIHRoZSBzdHlsZSBvZiBzbGlkZSBudW1iZXJzXHJcbiRvcmJpdC1zbGlkZS1udW1iZXItYmc6IHJnYmEoMCwwLDAsMCkgIWRlZmF1bHQ7XHJcbiRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kb3JiaXQtc2xpZGUtbnVtYmVyLXBhZGRpbmc6IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xyXG5cclxuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcclxuJHdyYXBwZXItY2xhc3M6IFwic2xpZGVzaG93LXdyYXBwZXJcIiAhZGVmYXVsdDtcclxuJHByZWxvYWRlci1jbGFzczogXCJwcmVsb2FkZXJcIiAhZGVmYXVsdDtcclxuXHJcbi8vIEhpZGUgY29udHJvbHMgb24gc21hbGxcclxuJG9yYml0LW5hdi1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcclxuJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcclxuJG9yYml0LXRpbWVyLWhpZGUtZm9yLXNtYWxsOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJvcmJpdFwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtb3JiaXQtY2xhc3NlcyB7XHJcblxyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZSB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgIH1cclxuICAgICAgdG8ge1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAa2V5ZnJhbWVzIHJvdGF0ZSB7XHJcbiAgICAgIGZyb20ge1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgICAgfVxyXG4gICAgICB0byB7XHJcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBPcmJpdCBHcmFjZWZ1bCBMb2FkaW5nICovXHJcbiAgICAuI3skd3JhcHBlci1jbGFzc30ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgLy8gUHJldmVudCBidWxsZXRzIHNob3dpbmcgYmVmb3JlIC5vcmJpdC1jb250YWluZXIgaXMgbG9hZGVkXHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgLy8gSGlkZSBhbGwgbGlzdCBpdGVtc1xyXG4gICAgICAgIGxpLFxyXG4gICAgICAgIGxpIC5vcmJpdC1jYXB0aW9uIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuICAgICAgICAvLyAuLi5leGNlcHQgZm9yIHRoZSBmaXJzdCBvbmVcclxuICAgICAgICBsaTpmaXJzdC1jaGlsZCB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vcmJpdC1jb250YWluZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgLy8gU2hvdyBpbWFnZXMgd2hlbiAub3JiaXQtY29udGFpbmVyIGlzIGxvYWRlZFxyXG4gICAgICAgIGxpIHsgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICAgLm9yYml0LWNhcHRpb24geyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAub3JiaXQtYnVsbGV0cyBsaSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBPcmJpdCBwcmVsb2FkZXJcclxuICAgICAgLiN7JHByZWxvYWRlci1jbGFzc30ge1xyXG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xyXG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcclxuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgICAgICBhbmltYXRpb24tbmFtZTogcm90YXRlO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjaGFyY29hbCAkd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAzcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5vcmJpdC1jb250YWluZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtY29udGFpbmVyLWJnO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAvLyBQcmV2ZW50cyBpbWFnZXMgKGFuZCBjYXB0aW9ucykgZnJvbSBkaXNhcHBlYXJpbmcgYWZ0ZXIgZmlyc3Qgcm90YXRpb24gb24gQ2hyb21lIGZvciBBbmRyb2lkXHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG5cclxuICAgICAgICBpbWcgeyBkaXNwbGF5OiBibG9jazsgbWF4LXdpZHRoOiAxMDAlOyB9XHJcblxyXG4gICAgICAgID4gKiB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAwJTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAub3JiaXQtY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIEBpZiAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbiA9PSBcImJvdHRvbVwiIHtcclxuICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uID09IFwidW5kZXJcIiB7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iZztcclxuICAgICAgICAgICAgY29sb3I6ICRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG9yYml0LWNhcHRpb24tZm9udC1zaXplO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vcmJpdC1zbGlkZS1udW1iZXIge1xyXG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1zbGlkZS1udW1iZXItYmc7XHJcbiAgICAgICAgY29sb3I6ICRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHNwYW4geyBmb250LXdlaWdodDogNzAwOyBwYWRkaW5nOiAkb3JiaXQtc2xpZGUtbnVtYmVyLXBhZGRpbmc7fVxyXG4gICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm9yYml0LXRpbWVyIHtcclxuICAgICAgICBcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxMnB4O1xyXG4gICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIFxyXG5cclxuICAgICAgICAub3JiaXQtcHJvZ3Jlc3Mge1xyXG4gICAgICAgICAgQGlmICRvcmJpdC10aW1lci1zaG93LXByb2dyZXNzLWJhciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtdGltZXItYmc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUGxheSBidXR0b25cclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICB3aWR0aDogMTFweDtcclxuICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBQYXVzZSBidXR0b25cclxuICAgICAgICAmLnBhdXNlZCB7XHJcbiAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDExcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCA4cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogLTRweDtcclxuXHJcbiAgICAgICAgICAgICYuZGFyayB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRvaWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgJjpob3ZlciAub3JiaXQtdGltZXIgPiBzcGFuIHsgZGlzcGxheTogYmxvY2s7IH1cclxuXHJcbiAgICAgIC8vIExldCdzIGdldCB0aG9zZSBjb250cm9scyB0byBiZSByaWdodCBpbiB0aGUgY2VudGVyIG9uIGVhY2ggc2lkZVxyXG4gICAgICAub3JiaXQtcHJldixcclxuICAgICAgLm9yYml0LW5leHQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1uYXYtYmc7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHggIWltcG9ydGFudDtcclxuICAgICAgICB0b3A6IDQ1JTtcclxuICAgICAgICB3aWR0aDogMzZweDtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtbmF2LWJnLWhvdmVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgYm9yZGVyOiBpbnNldCAxMHB4O1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5vcmJpdC1wcmV2IHsgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyID4gc3BhbiB7XHJcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLm9yYml0LW5leHQgeyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xyXG4gICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yO1xyXG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcclxuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciA+IHNwYW4ge1xyXG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkb3JiaXQtbmF2LWFycm93LWNvbG9yLWhvdmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vcmJpdC1idWxsZXRzLWNvbnRhaW5lciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4gICAgLm9yYml0LWJ1bGxldHMge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHggYXV0bztcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHRvcDogMTBweDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIC8vIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtcmFkaXVzO1xyXG4gICAgICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiA2cHg7XHJcbiAgICAgICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtcmFkaXVzO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50b3VjaCB7XHJcbiAgICAgIC5vcmJpdC1jb250YWluZXIge1xyXG4gICAgICAgIC5vcmJpdC1wcmV2LFxyXG4gICAgICAgIC5vcmJpdC1uZXh0IHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG5cclxuICAgICAgLnRvdWNoIHtcclxuICAgICAgICAub3JiaXQtY29udGFpbmVyIHtcclxuICAgICAgICAgIC5vcmJpdC1wcmV2LFxyXG4gICAgICAgICAgLm9yYml0LW5leHQgeyBkaXNwbGF5OiBpbmhlcml0OyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuICAgICAgLm9yYml0LXN0YWNrLW9uLXNtYWxsIHtcclxuICAgICAgICAub3JiaXQtc2xpZGVzLWNvbnRhaW5lciB7aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgIC5vcmJpdC1zbGlkZXMtY29udGFpbmVyID4gKiB7XHJcbiAgICAgICAgICBtYXJnaW46MCAgIWltcG9ydGFudDtcclxuICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5vcmJpdC1zbGlkZS1udW1iZXIge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAkb3JiaXQtdGltZXItaGlkZS1mb3Itc21hbGwge1xyXG4gICAgICAgICAub3JiaXQtdGltZXJ7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgIH1cclxuICAgICAgQGlmICRvcmJpdC1uYXYtaGlkZS1mb3Itc21hbGwge1xyXG4gICAgICAgICAub3JiaXQtbmV4dCwub3JiaXQtcHJldntkaXNwbGF5OiBub25lO31cclxuICAgICAgfVxyXG4gICAgICBAaWYgJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbCB7XHJcbiAgICAgICAgIC5vcmJpdC1idWxsZXRze2Rpc3BsYXk6IG5vbmU7fVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtcGFnaW5hdGlvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcGFnaW5hdGlvbiBjb250YWluZXJcclxuJHBhZ2luYXRpb24taGVpZ2h0OiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbjogcmVtLWNhbGMoLTUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbGlzdC1pdGVtIHByb3BlcnRpZXNcclxuJHBhZ2luYXRpb24tbGktZmxvYXQ6ICRkZWZhdWx0LWZsb2F0ICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saS1oZWlnaHQ6IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpLW1hcmdpbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgZm9yIHRoZSBwYWdpbmF0aW9uIGFuY2hvciBsaW5rc1xyXG4kcGFnaW5hdGlvbi1saW5rLXBhZDogcmVtLWNhbGMoMSAxMCAxKSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIGZvciBkaXNhYmxlZCBhbmNob3IgbGlua3NcclxuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGN1cnJlbnRseSBzZWxlY3RlZCBhbmNob3IgbGlua3NcclxuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yOiBkZWZhdWx0ICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gU3R5bGUgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyLiBDdXJyZW50bHkgb25seSB1c2VkIHdoZW4gY2VudGVyaW5nIGVsZW1lbnRzLlxyXG4vLyAkY2VudGVyIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWVcclxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyKCRjZW50ZXI6ZmFsc2UpIHtcclxuICBAaWYgJGNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG59XHJcblxyXG4vLyBAbWl4aW5zXHJcbi8vIFN0eWxlIHVuYXZhaWxhYmxlIGxpc3QgaXRlbXNcclxuQG1peGluIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSB7XHJcbiAgYSwgYnV0dG9uIHtcclxuICAgIGN1cnNvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I7XHJcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yO1xyXG4gIH1cclxuICAmOmhvdmVyIGEsXHJcbiAgJiBhOmZvY3VzLFxyXG5cclxuICAmOmhvdmVyIGJ1dHRvbixcclxuICAmIGJ1dHRvbjpmb2N1c1xyXG4gIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1iZy1hY3RpdmU7IH1cclxufVxyXG4vLyBAbWl4aW5zXHJcbi8vIFN0eWxlIHRoZSBjdXJyZW50IGxpc3QgaXRlbS4gRG8gbm90IGFzc3VtZSB0aGF0IHRoZSBjdXJyZW50IGl0ZW0gaGFzXHJcbi8vIGFuIGFuY2hvciA8YT4gZWxlbWVudC5cclxuLy8gJGhhcy1hbmNob3IgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxyXG5AbWl4aW4gcGFnaW5hdGlvbi1jdXJyZW50LWl0ZW0oJGhhcy1hbmNob3I6IHRydWUpIHtcclxuICBAaWYgJGhhcy1hbmNob3Ige1xyXG4gICAgYSwgYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ7XHJcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjtcclxuICAgICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xyXG4gICAgICBmb250LXdlaWdodDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0O1xyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc7IH1cclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yO1xyXG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xyXG4gICAgQGluY2x1ZGUgcmFkaXVzO1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzsgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzZXQgdGhlIHByb3BlcnRpZXMgZm9yIHRoZSBjcmVhdGluZyBGb3VuZGF0aW9uIHBhZ2luYXRpb25cclxuLy8gJGNlbnRlciAtIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50cy4gRGVmYXVsdDogZmFsc2VcclxuLy8gJGJhc2Utc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzIGZvciBwYWdpbmF0aW9uLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxyXG4vLyAkdXNlLWRlZmF1bHQtY2xhc3NlcyAtIE1ha2VzIHVuYXZhaWxhYmxlICYgY3VycmVudCBjbGFzc2VzIGF2YWlsYWJsZSBmb3IgdXNlLiBEZWZhdWx0OiB0cnVlXHJcbkBtaXhpbiBwYWdpbmF0aW9uKCRjZW50ZXI6ZmFsc2UsICRiYXNlLXN0eWxlOnRydWUsICR1c2UtZGVmYXVsdC1jbGFzc2VzOnRydWUpIHtcclxuXHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1tYXJnaW47XHJcbiAgICBtaW4taGVpZ2h0OiAkcGFnaW5hdGlvbi1oZWlnaHQ7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjtcclxuICAgICAgZm9udC1zaXplOiAkcGFnaW5hdGlvbi1saS1mb250LXNpemU7XHJcbiAgICAgIGhlaWdodDogJHBhZ2luYXRpb24tbGktaGVpZ2h0O1xyXG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRwYWdpbmF0aW9uLWxpLW1hcmdpbjtcclxuXHJcbiAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzO1xyXG4gICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstZm9udC1jb2xvcjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDFlbTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIGEsXHJcbiAgICAgIGE6Zm9jdXMsXHJcbiAgICAgICY6aG92ZXIgYnV0dG9uLFxyXG4gICAgICBidXR0b246Zm9jdXNcclxuICAgICAgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWFjdGl2ZS1iZzsgfVxyXG5cclxuICAgICAgQGlmICR1c2UtZGVmYXVsdC1jbGFzc2VzIHtcclxuICAgICAgICAmLnVuYXZhaWxhYmxlIHsgQGluY2x1ZGUgcGFnaW5hdGlvbi11bmF2YWlsYWJsZS1pdGVtKCk7IH1cclxuICAgICAgICAmLmN1cnJlbnQgeyBAaW5jbHVkZSBwYWdpbmF0aW9uLWN1cnJlbnQtaXRlbSgpOyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExlZnQgb3IgY2VudGVyIGFsaWduIHRoZSBsaSBlbGVtZW50c1xyXG4gIGxpIHtcclxuICAgIEBpZiAkY2VudGVyIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZmxvYXQ6ICRwYWdpbmF0aW9uLWxpLWZsb2F0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInBhZ2luYXRpb25cIikge1xyXG4gIEBpZiAkaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXMge1xyXG4gICAgdWwucGFnaW5hdGlvbiB7XHJcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgLyogUGFnaW5hdGlvbiBjZW50cmVkIHdyYXBwZXIgKi9cclxuICAgIC5wYWdpbmF0aW9uLWNlbnRlcmVkIHtcclxuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXIodHJ1ZSk7XHJcblxyXG4gICAgICB1bC5wYWdpbmF0aW9uIHtcclxuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uKHRydWUsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXNcclxuJHBhbmVsLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XHJcbiRwYW5lbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kcGFuZWwtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJGNhbGxvdXQtcGFuZWwtYmc6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA5NCUpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcclxuJHBhbmVsLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHBhbmVsLWJnLCAkbGlnaHRuZXNzOiAtMTElKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBpbm5lciBwYWRkaW5nIGFuZCBib3R0b20gbWFyZ2luXHJcbiRwYW5lbC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcbiRwYW5lbC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgZm9udCBjb2xvcnNcclxuJHBhbmVsLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XHJcbiRwYW5lbC1mb250LWNvbG9yLWFsdDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWUgIWRlZmF1bHQ7XHJcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcGFuZWxzLlxyXG4vLyAkYmcgLSBTZXRzIHRoZSBwYW5lbCBiYWNrZ3JvdW5kIGNvbG9yLiBEZWZhdWx0OiAkcGFuZWwtcGcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0XHJcbi8vICRwYWRkaW5nIC0gU2V0cyB0aGUgcGFuZWwgcGFkZGluZyBhbW91bnQuIERlZmF1bHQ6ICRwYW5lbC1wYWRkaW5nIHx8IHJlbS1jYWxjKDIwKVxyXG4vLyAkYWRqdXN0IC0gU2V0cyB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgZGFya25lc3Mgb2YgdGhlIGJnICYgcmVzZXRzIGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVscy4gRGVmYXVsdDogJHBhbmVsLWhlYWRlci1hZGp1c3QgfHwgdHJ1ZVxyXG5AbWl4aW4gcGFuZWwoJGJnOiRwYW5lbC1iZywgJHBhZGRpbmc6JHBhbmVsLXBhZGRpbmcsICRhZGp1c3Q6JHBhbmVsLWhlYWRlci1hZGp1c3QsICRib3JkZXI6dHJ1ZSkge1xyXG5cclxuICBAaWYgJGJnIHtcclxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xyXG5cclxuICAgIEBpZiAkYm9yZGVyIHtcclxuICAgICAgYm9yZGVyLXN0eWxlOiAkcGFuZWwtYm9yZGVyLXN0eWxlO1xyXG4gICAgICBib3JkZXItd2lkdGg6ICRwYW5lbC1ib3JkZXItc2l6ZTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFuZWwtYm9yZGVyLWNvbG9yO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIG1hcmdpbi1ib3R0b206ICRwYW5lbC1tYXJnaW4tYm90dG9tO1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmc7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGJnO1xyXG4gICAgQGlmICRiZy1saWdodG5lc3MgPj0gNTAlIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yOyB9XHJcbiAgICBAZWxzZSB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvci1hbHQ7IH1cclxuXHJcbiAgICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxyXG4gICAgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XHJcbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG5cclxuICAgIEBpZiAkYWRqdXN0IHtcclxuICAgICAgLy8gV2Ugc2V0IHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBkYXJrbmVzcyBvZiB0aGUgYmcuXHJcbiAgICAgIEBpZiAkYmctbGlnaHRuZXNzID49IDUwJSB7XHJcbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgbGksIGRsIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yOyB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGxpLCBkbCB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvci1hbHQ7IH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gcmVzZXQgaGVhZGVyIGxpbmUtaGVpZ2h0cyBmb3IgcGFuZWxzXHJcbiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgLyAyO1xyXG4gICAgICAgICYuc3ViaGVhZGVyIHsgbGluZS1oZWlnaHQ6IDEuNDsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwicGFuZWxcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXMge1xyXG5cclxuICAgIC8qIFBhbmVscyAqL1xyXG4gICAgLnBhbmVsIHsgQGluY2x1ZGUgcGFuZWw7XHJcblxyXG4gICAgICAmLmNhbGxvdXQge1xyXG4gICAgICAgIEBpbmNsdWRlIHBhbmVsKCRjYWxsb3V0LXBhbmVsLWJnKTtcclxuICAgICAgICBhOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgICAgICBjb2xvcjogJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvcjtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yYWRpdXMge1xyXG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBjb2xvclxyXG4kcHJpY2UtdGFibGUtYm9yZGVyOiBzb2xpZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIHByaWNpbmcgdGFibGVcclxuJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aXRsZSBzdHlsZXNcclxuJHByaWNlLXRpdGxlLWJnOiAkb2lsICFkZWZhdWx0O1xyXG4kcHJpY2UtdGl0bGUtcGFkZGluZzogcmVtLWNhbGMoMTUgMjApICFkZWZhdWx0O1xyXG4kcHJpY2UtdGl0bGUtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJHByaWNlLXRpdGxlLWNvbG9yOiAkc21va2UgIWRlZmF1bHQ7XHJcbiRwcmljZS10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRwcmljZS10aXRsZS1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiRwcmljZS10aXRsZS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcHJpY2Ugc3R5bGVzXHJcbiRwcmljZS1tb25leS1iZzogJHZhcG9yICFkZWZhdWx0O1xyXG4kcHJpY2UtbW9uZXktcGFkZGluZzogcmVtLWNhbGMoMTUgMjApICFkZWZhdWx0O1xyXG4kcHJpY2UtbW9uZXktYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJHByaWNlLW1vbmV5LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xyXG4kcHJpY2UtbW9uZXktd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kcHJpY2UtbW9uZXktc2l6ZTogcmVtLWNhbGMoMzIpICFkZWZhdWx0O1xyXG4kcHJpY2UtbW9uZXktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBkZXNjcmlwdGlvbiBzdHlsZXNcclxuJHByaWNlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRwcmljZS1kZXNjLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcclxuJHByaWNlLWRlc2MtcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xyXG4kcHJpY2UtZGVzYy1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kcHJpY2UtZGVzYy1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcclxuJHByaWNlLWRlc2Mtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kcHJpY2UtZGVzYy1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG4kcHJpY2UtZGVzYy1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtIHN0eWxlc1xyXG4kcHJpY2UtaXRlbS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJHByaWNlLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xyXG4kcHJpY2UtaXRlbS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kcHJpY2UtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuJHByaWNlLWl0ZW0td2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kcHJpY2UtaXRlbS1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgQ1RBIGFyZWEgc3R5bGVzXHJcbiRwcmljZS1jdGEtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHByaWNlLWN0YS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kcHJpY2UtY3RhLXBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDApICFkZWZhdWx0O1xyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIGNvbnRhaW5lciBlbGVtZW50IGZvciB0aGUgcHJpY2luZyB0YWJsZXNcclxuQG1peGluIHByaWNpbmctdGFibGUtY29udGFpbmVyIHtcclxuICBib3JkZXI6ICRwcmljZS10YWJsZS1ib3JkZXI7XHJcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tO1xyXG5cclxuICAmICoge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIH1cclxufVxyXG4vLyBAbWl4aW5zXHJcbi8vXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgcHJpY2luZyB0YWJsZSB0aXRsZSBzdHlsZXNcclxuQG1peGluIHByaWNpbmctdGFibGUtdGl0bGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS10aXRsZS1iZztcclxuICBjb2xvcjogJHByaWNlLXRpdGxlLWNvbG9yO1xyXG4gIGZvbnQtZmFtaWx5OiAkcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkcHJpY2UtdGl0bGUtc2l6ZTtcclxuICBmb250LXdlaWdodDogJHByaWNlLXRpdGxlLXdlaWdodDtcclxuICBwYWRkaW5nOiAkcHJpY2UtdGl0bGUtcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiAkcHJpY2UtdGl0bGUtYWxpZ247XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCB0aGUgcHJpY2luZyB0YWJsZSBwcmljZSBzdHlsZXNcclxuQG1peGluIHByaWNpbmctdGFibGUtcHJpY2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1tb25leS1iZztcclxuICBjb2xvcjogJHByaWNlLW1vbmV5LWNvbG9yO1xyXG4gIGZvbnQtZmFtaWx5OiAkcHJpY2UtbW9uZXktZm9udC1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkcHJpY2UtbW9uZXktc2l6ZTtcclxuICBmb250LXdlaWdodDogJHByaWNlLW1vbmV5LXdlaWdodDtcclxuICBwYWRkaW5nOiAkcHJpY2UtbW9uZXktcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiAkcHJpY2UtbW9uZXktYWxpZ247XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBkZXNjcmlwdGlvbiBzdHlsZXMgZm9yIHRoZSBwcmljaW5nIHRhYmxlXHJcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWRlc2NyaXB0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtYmc7XHJcbiAgYm9yZGVyLWJvdHRvbTogJHByaWNlLWRlc2MtYm90dG9tLWJvcmRlcjtcclxuICBjb2xvcjogJHByaWNlLWRlc2MtY29sb3I7XHJcbiAgZm9udC1zaXplOiAkcHJpY2UtZGVzYy1mb250LXNpemU7XHJcbiAgZm9udC13ZWlnaHQ6ICRwcmljZS1kZXNjLXdlaWdodDtcclxuICBsaW5lLWhlaWdodDogJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ7XHJcbiAgcGFkZGluZzogJHByaWNlLWRlc2MtcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiAkcHJpY2UtZGVzYy1hbGlnbjtcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSB0aGUgYnVsbGV0IGl0ZW1zIGluIHRoZSBwcmljaW5nIHRhYmxlXHJcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWJ1bGxldCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWJnO1xyXG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI7XHJcbiAgY29sb3I6ICRwcmljZS1pdGVtLWNvbG9yO1xyXG4gIGZvbnQtc2l6ZTogJHByaWNlLWl0ZW0tZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtaXRlbS13ZWlnaHQ7XHJcbiAgcGFkZGluZzogJHByaWNlLWl0ZW0tcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiAkcHJpY2UtaXRlbS1hbGlnbjtcclxufVxyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSB0aGUgQ1RBIGFyZWEgb2YgdGhlIHByaWNpbmcgdGFibGVzXHJcbkBtaXhpbiBwcmljaW5nLXRhYmxlLWN0YSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWN0YS1iZztcclxuICBwYWRkaW5nOiAkcHJpY2UtY3RhLXBhZGRpbmc7XHJcbiAgdGV4dC1hbGlnbjogJHByaWNlLWN0YS1hbGlnbjtcclxufVxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInByaWNpbmctdGFibGVcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlcyB7XHJcblxyXG4gICAgLyogUHJpY2luZyBUYWJsZXMgKi9cclxuICAgIC5wcmljaW5nLXRhYmxlIHtcclxuICAgICAgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1jb250YWluZXI7XHJcblxyXG4gICAgICAudGl0bGUgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXRpdGxlOyB9XHJcbiAgICAgIC5wcmljZSB7IEBpbmNsdWRlIHByaWNpbmctdGFibGUtcHJpY2U7IH1cclxuICAgICAgLmRlc2NyaXB0aW9uIHsgQGluY2x1ZGUgcHJpY2luZy10YWJsZS1kZXNjcmlwdGlvbjsgfVxyXG4gICAgICAuYnVsbGV0LWl0ZW0geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWJ1bGxldDsgfVxyXG4gICAgICAuY3RhLWJ1dHRvbiB7IEBpbmNsdWRlIHByaWNpbmctdGFibGUtY3RhOyB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBwcm9ncmVzcyBiYXIgaGVpZ2h0XHJcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItY29sb3I6ICR2YXBvciAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXHJcbiRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDIwJSkgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcclxuJHByb2dyZXNzLWJhci1wYWQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIG1ldGVyIGNvbG9yc1xyXG4kcHJvZ3Jlc3MtbWV0ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcjogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8gQG1peGluc1xyXG4vL1xyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdXAgdGhlIHByb2dyZXNzIGJhciBjb250YWluZXJcclxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcclxuICBib3JkZXI6ICRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemUgJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGUgJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I7XHJcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtYmFyLWhlaWdodDtcclxuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtYmFyLW1hcmdpbi1ib3R0b207XHJcbiAgcGFkZGluZzogJHByb2dyZXNzLWJhci1wYWQ7XHJcbn1cclxuXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuLy8gJGJnIC0gRGVmYXVsdDogJHByb2dyZXNzLW1ldGVyLWNvbG9yIHx8ICRwcmltYXJ5LWNvbG9yXHJcbkBtaXhpbiBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWNvbG9yKSB7XHJcbiAgYmFja2dyb3VuZDogJGJnO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJwcm9ncmVzcy1iYXJcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xyXG5cclxuICAgIC8qIFByb2dyZXNzIEJhciAqL1xyXG4gICAgLnByb2dyZXNzIHtcclxuICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xyXG5cclxuICAgICAgLy8gTWV0ZXJcclxuICAgICAgLm1ldGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcclxuICAgICAgfVxyXG4gICAgICAmLnNlY29uZGFyeSAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cclxuICAgICAgJi5zdWNjZXNzIC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcik7IH1cclxuICAgICAgJi5hbGVydCAubWV0ZXIgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yKTsgfVxyXG5cclxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAubWV0ZXIgeyBAaW5jbHVkZSByYWRpdXMoJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzIC0gMSk7IH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yb3VuZCB7IEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xyXG4gICAgICAgIC5tZXRlciB7IEBpbmNsdWRlIHJhZGl1cyg5OTlweCk7IH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEBuYW1lIF9yYW5nZS1zbGlkZXIuc2Nzc1xyXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWwuc2Nzc1xyXG4vL1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG5cclxuJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgdmFyaWFiZWxzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcclxuJHJhbmdlLXNsaWRlci1iYXItd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOiAkZ2hvc3QgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQtYmctY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0xJSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXHJcbiRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodDogcmVtLWNhbGMoMjAwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZXNlIHZhcmlhYmVscyBkZWZpbmUgdGhlIHNsaWRlciBoYW5kbGUgc3R5bGVzXHJcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoOiByZW0tY2FsYygzMikgIWRlZmF1bHQ7XHJcbiRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKC01KSAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG9yOiBub25lICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1ob3Zlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMiUpICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XHJcblxyXG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xyXG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kaXNhYmxlZC12YWx1ZSAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyLWJhc2UoJHZlcnRpY2FsOiBmYWxzZSkge1xyXG4gIGJvcmRlcjogJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZSAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItY29sb3I7XHJcbiAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcclxuICB0b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0O1xyXG4gICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLXdpZHRoO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDtcclxuICAgIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLWJhci13aWR0aDtcclxuICB9XHJcbn1cclxuQG1peGluIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoXHJcbiAgJGJnOiB0cnVlLFxyXG4gICRyYWRpdXM6IGZhbHNlLFxyXG4gICRyb3VuZDogZmFsc2UsXHJcbiAgJGRpc2FibGVkOiBmYWxzZSkge1xyXG4gIEBpZiAkYmcgPT0gdHJ1ZSB7IGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOyB9XHJcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJhZGl1cyk7IH1cclxuICBAaWYgJHJvdW5kID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7IH1cclxuICBAaWYgJGRpc2FibGVkID09IHRydWUge1xyXG4gICAgY3Vyc29yOiAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLWN1cnNvcjtcclxuICAgIG9wYWNpdHk6ICRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiByYW5nZS1zbGlkZXItYmFyKFxyXG4gICRiZzogJHJhbmdlLXNsaWRlci1iYXItYmctY29sb3IsXHJcbiAgJHJhZGl1czpmYWxzZSkge1xyXG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcclxuICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlO1xyXG59XHJcblxyXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlKCkge1xyXG4gIGJvcmRlcjogJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXdpZHRoICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZSAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I7XHJcbiAgY3Vyc29yOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1jdXJzb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGhlaWdodDogJHJhbmdlLXNsaWRlci1oYW5kbGUtaGVpZ2h0O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICRyYW5nZS1zbGlkZXItaGFuZGxlLXBvc2l0aW9uLXRvcDtcclxuICB3aWR0aDogJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgLy8gVGhpcyByZW1vdmVzIHRoZSAzMDBtcyB0b3VjaCBkZWxheSBvbiBXaW5kb3dzIDhcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbn1cclxuXHJcbkBtaXhpbiByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKFxyXG4gICRiZzogdHJ1ZSxcclxuICAkcmFkaXVzOiBmYWxzZSxcclxuICAkcm91bmQ6IGZhbHNlLFxyXG4gICRkaXNhYmxlZDogZmFsc2UpIHtcclxuICBAaWYgJGJnID09IHRydWUgeyBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvcjsgfVxyXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yYWRpdXMpOyB9XHJcbiAgQGlmICRyb3VuZCA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcm91bmQpOyB9XHJcbiAgQGlmICRkaXNhYmxlZCA9PSB0cnVlIHtcclxuICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xyXG4gICAgb3BhY2l0eTogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUoKSB7XHJcbiAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1iYXNlO1xyXG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGU7XHJcbn1cclxuXHJcbi8vIENTUyBHZW5lcmF0aW9uXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJyYW5nZS1zbGlkZXItYmFyXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1yYW5nZS1zbGlkZXItY2xhc3NlcyB7XHJcbiAgICAucmFuZ2Utc2xpZGVyIHtcclxuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlO1xyXG4gICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRiZzp0cnVlLCAkcmFkaXVzOmZhbHNlKTtcclxuICAgICAgJi52ZXJ0aWNhbC1yYW5nZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1iYXNlKCR2ZXJ0aWNhbDogdHJ1ZSk7XHJcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUge1xyXG4gICAgICAgICAgYm90dG9tOiAtKCRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodCAtICRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoKTtcclxuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSgkcmFuZ2Utc2xpZGVyLWhhbmRsZS13aWR0aCAvIDQpO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudCB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbml0aWFsO1xyXG4gICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodCAtIHJlbS1jYWxjKChzdHJpcC11bml0KCRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCkgKiAyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYucmFkaXVzIHtcclxuICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRyYWRpdXM6dHJ1ZSk7XHJcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRyYWRpdXM6IHRydWUpOyB9XHJcbiAgICAgIH1cclxuICAgICAgJi5yb3VuZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkcm91bmQ6dHJ1ZSk7XHJcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRyb3VuZDogdHJ1ZSk7IH1cclxuICAgICAgfVxyXG4gICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWJhci1zdHlsZSgkZGlzYWJsZWQ6dHJ1ZSk7XHJcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRkaXNhYmxlZDogdHJ1ZSk7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItYWN0aXZlLXNlZ21lbnQtYmctY29sb3I7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQgLSByZW0tY2FsYygoc3RyaXAtdW5pdCgkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGgpICogMikpO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB9XHJcbiAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XHJcbiAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZTtcclxuICAgICAgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkYmc6dHJ1ZSwgJHJhZGl1czogZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcbkBpbXBvcnQgJ2dyaWQnO1xyXG5cclxuLy9cclxuLy8gQG5hbWUgX3JldmVhbC5zY3NzXHJcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXHJcbi8vXHJcblxyXG4kaW5jbHVkZS1odG1sLXJldmVhbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIHJldmVhbCBvdmVybGF5LlxyXG4kcmV2ZWFsLW92ZXJsYXktYmc6IHJnYmEoJGJsYWNrLCAuNDUpICFkZWZhdWx0O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmctb2xkOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIG1vZGFsIGl0c2VsZi5cclxuJHJldmVhbC1tb2RhbC1iZzogJHdoaXRlICFkZWZhdWx0O1xyXG4kcmV2ZWFsLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoMTAwKSAhZGVmYXVsdDtcclxuJHJldmVhbC1kZWZhdWx0LXdpZHRoOiA4MCUgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkcm93LXdpZHRoICFkZWZhdWx0O1xyXG4kcmV2ZWFsLW1vZGFsLXBhZGRpbmc6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcclxuJHJldmVhbC1ib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywuNCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHJldmVhbCBjbG9zZSBidXR0b25cclxuJHJldmVhbC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDQwKSAhZGVmYXVsdDtcclxuJHJldmVhbC1jbG9zZS10b3A6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJHJldmVhbC1jbG9zZS1zaWRlOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtY2xvc2UtY29sb3I6ICRiYXNlICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWNsb3NlLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG4kcmV2ZWFsLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbW9kYWwgYm9yZGVyXHJcbiRyZXZlYWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJHJldmVhbC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJHJldmVhbC1ib3JkZXItY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcclxuXHJcbiRyZXZlYWwtbW9kYWwtY2xhc3M6IFwicmV2ZWFsLW1vZGFsXCIgIWRlZmF1bHQ7XHJcbiRjbG9zZS1yZXZlYWwtbW9kYWwtY2xhc3M6IFwiY2xvc2UtcmV2ZWFsLW1vZGFsXCIgIWRlZmF1bHQ7XHJcblxyXG4vLyBTZXQgYmFzZSB6LWluZGV4XHJcbiR6LWluZGV4LWJhc2U6IDEwMDU7XHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIHJldmVhbCBiYWNrZ3JvdW5kIG92ZXJsYXkgc3R5bGVzXHJcbkBtaXhpbiByZXZlYWwtYmcoICRpbmNsdWRlLXotaW5kZXgtdmFsdWU6IHRydWUgKSB7XHJcbiAgLy8gcG9zaXRpb246IGFic29sdXRlOyAvLyBhbGxvd3MgbW9kYWwgYmFja2dyb3VuZCB0byBleHRlbmQgYmV5b25kIHdpbmRvdyBwb3NpdGlvblxyXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ7IC8vIEF1dG9wcmVmaXhlciBzaG91bGQgYmUgdXNlZCB0byBhdm9pZCBzdWNoIHZhcmlhYmxlcyBuZWVkZWQgd2hlbiBGb3VuZGF0aW9uIGZvciBTaXRlcyBjYW4gZG8gc28gaW4gdGhlIG5lYXIgZnV0dXJlLlxyXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZztcclxuICBib3R0b206IDA7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBsZWZ0OiAwO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgei1pbmRleDogaWYoICRpbmNsdWRlLXotaW5kZXgtdmFsdWUsICR6LWluZGV4LWJhc2UgLSAxLCBhdXRvICk7XHJcbiAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc3RydWN0dXJlIG9mIGEgcmV2ZWFsIG1vZGFsXHJcbi8vXHJcbi8vICRiYXNlLXN0eWxlIC0gUHJvdmlkZXMgcmV2ZWFsIGJhc2Ugc3R5bGVzLCBjYW4gYmUgc2V0IHRvIGZhbHNlIHRvIG92ZXJyaWRlLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxyXG4vLyAkd2lkdGggLSBTZXRzIHJldmVhbCB3aWR0aCBEZWZhdWx0OiAkcmV2ZWFsLWRlZmF1bHQtd2lkdGggfHwgODAlXHJcbi8vXHJcbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSggJGJhc2Utc3R5bGU6IHRydWUsICR3aWR0aDokcmV2ZWFsLWRlZmF1bHQtd2lkdGgsICRtYXgtd2lkdGg6JHJldmVhbC1tYXgtd2lkdGgsICRib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cykge1xyXG4gIEBpZiAkYmFzZS1zdHlsZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6MDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogJHotaW5kZXgtYmFzZTtcclxuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG5cclxuICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6MTAwdmg7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXHJcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7IG1pbi13aWR0aDogMDsgfVxyXG5cclxuICAgIC8vIEdldCByaWQgb2YgbWFyZ2luIGZyb20gZmlyc3QgYW5kIGxhc3QgZWxlbWVudCBpbnNpZGUgbW9kYWxcclxuICAgID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxyXG5cclxuICAgID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHdpZHRoIHtcclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgcmV2ZWFsIG1vZGFsIGRlZmF1bHRzXHJcbi8vXHJcbi8vICRiZyAtIFNldHMgYmFja2dyb3VuZCBjb2xvciBvZiByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtYmcgfHwgJHdoaXRlXHJcbi8vICRwYWRkaW5nIC0gUGFkZGluZyB0byBhcHBseSB0byByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtcGFkZGluZy5cclxuLy8gJGJvcmRlciAtIENob29zZSB3aGV0aGVyIHJldmVhbCB1c2VzIGEgYm9yZGVyLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxyXG4vLyAkYm9yZGVyLXN0eWxlIC0gU2V0IHJldmVhbCBib3JkZXIgc3R5bGUuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLXN0eWxlIHx8IHNvbGlkXHJcbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgKGkuZS4gMXB4KS4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItd2lkdGguXHJcbi8vICRib3JkZXItY29sb3IgLSBDb2xvciBvZiBib3JkZXIuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLWNvbG9yLlxyXG4vLyAkYm94LXNoYWRvdyAtIENob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXHJcbi8vICRyYWRpdXMgLSBJZiB0cnVlLCBzZXQgdG8gbW9kYWwgcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxyXG4vLyAkdG9wLW9mZnNldCAtIERlZmF1bHQ6ICRyZXZlYWwtcG9zaXRpb24tdG9wIHx8IDUwcHhcclxuQG1peGluIHJldmVhbC1tb2RhbC1zdHlsZShcclxuICAkYmc6ZmFsc2UsXHJcbiAgJHBhZGRpbmc6ZmFsc2UsXHJcbiAgJGJvcmRlcjpmYWxzZSxcclxuICAkYm9yZGVyLXN0eWxlOiRyZXZlYWwtYm9yZGVyLXN0eWxlLFxyXG4gICRib3JkZXItd2lkdGg6JHJldmVhbC1ib3JkZXItd2lkdGgsXHJcbiAgJGJvcmRlci1jb2xvcjokcmV2ZWFsLWJvcmRlci1jb2xvcixcclxuICAkYm94LXNoYWRvdzpmYWxzZSxcclxuICAkcmFkaXVzOmZhbHNlLFxyXG4gICR0b3Atb2Zmc2V0OmZhbHNlKSB7XHJcblxyXG4gIEBpZiAkYmcgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7IH1cclxuICBAaWYgJHBhZGRpbmcgIT0gZmFsc2UgeyBwYWRkaW5nOiAkcGFkZGluZzsgfVxyXG5cclxuICBAaWYgJGJvcmRlciB7IGJvcmRlcjogJGJvcmRlci1zdHlsZSAkYm9yZGVyLXdpZHRoICRib3JkZXItY29sb3I7IH1cclxuXHJcbiAgLy8gV2UgY2FuIGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuXHJcbiAgQGlmICRib3gtc2hhZG93IHtcclxuICAgIGJveC1zaGFkb3c6ICRyZXZlYWwtYm94LXNoYWRvdztcclxuICB9XHJcblxyXG4gIC8vIFdlIGNhbiBjb250cm9sIGhvdyBtdWNoIHJhZGl1cyBpcyB1c2VkIG9uIHRoZSBtb2RhbFxyXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJldmVhbC1yYWRpdXMpOyB9XHJcbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxyXG5cclxuICBAaWYgJHRvcC1vZmZzZXQge1xyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICB0b3A6ICR0b3Atb2Zmc2V0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uIGZvciB0aGUgcmV2ZWFsIG1vZGFsXHJcbi8vXHJcbi8vICRjb2xvciAtIERlZmF1bHQ6ICRyZXZlYWwtY2xvc2UtY29sb3IgfHwgJGJhc2VcclxuQG1peGluIHJldmVhbC1jbG9zZSgkY29sb3I6JHJldmVhbC1jbG9zZS1jb2xvcikge1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XHJcbiAgZm9udC1zaXplOiAkcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTtcclxuICBmb250LXdlaWdodDogJHJldmVhbC1jbG9zZS13ZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHJldmVhbC1jbG9zZS10b3A7XHJcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHJldmVhbC1jbG9zZS1zaWRlO1xyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwicmV2ZWFsXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlcyB7XHJcblxyXG4gICAgLy8gUmV2ZWFsIE1vZGFsc1xyXG4gICAgLnJldmVhbC1tb2RhbC1iZyB7IEBpbmNsdWRlIHJldmVhbC1iZzsgfVxyXG5cclxuICAgIC4jeyRyZXZlYWwtbW9kYWwtY2xhc3N9IHtcclxuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XHJcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZShcclxuICAgICAgICAkYmc6JHJldmVhbC1tb2RhbC1iZyxcclxuICAgICAgICAkcGFkZGluZzokcmV2ZWFsLW1vZGFsLXBhZGRpbmcsXHJcbiAgICAgICAgJGJvcmRlcjp0cnVlLFxyXG4gICAgICAgICRib3gtc2hhZG93OnRydWUsXHJcbiAgICAgICAgJHJhZGl1czpmYWxzZSxcclxuICAgICAgICAkdG9wLW9mZnNldDokcmV2ZWFsLXBvc2l0aW9uLXRvcFxyXG4gICAgICApO1xyXG5cclxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHJhZGl1czp0cnVlKTsgfVxyXG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOiRyZXZlYWwtcm91bmQpOyB9XHJcbiAgICAgICYuY29sbGFwc2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGUoJHBhZGRpbmc6MCk7IH1cclxuICAgICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCAzMCUpOyB9XHJcbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNDAlKTsgfVxyXG4gICAgICAmLm1lZGl1bSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNjAlKTsgfVxyXG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDcwJSk7IH1cclxuICAgICAgJi54bGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgOTUlKTsgfVxyXG4gICAgICAmLmZ1bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlKGZhbHNlLCAxMDAlKTtcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIGhlaWdodDoxMDAlO1xyXG4gICAgICAgIGxlZnQ6MDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6MTAwdmg7XHJcbiAgICAgICAgdG9wOjA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIE1vZGFscyBwdXNoZWQgdG8gYmFja1xyXG4gICAgICAmLnRvYmFjayB7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtYmFzZSAtIDI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC4jeyRjbG9zZS1yZXZlYWwtbW9kYWwtY2xhc3N9IHsgQGluY2x1ZGUgcmV2ZWFsLWNsb3NlOyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgcGFkZGluZy5cclxuJHNpZGUtbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDE0IDApICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGlzdCBzdHlsZXMuXHJcbiRzaWRlLW5hdi1saXN0LXR5cGU6IG5vbmUgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1saXN0LXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtbGlzdC1tYXJnaW46IHJlbS1jYWxjKDAgMCA3IDApICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGluayBzdHlsZXMuXHJcbiRzaWRlLW5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKSAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzaWRlLW5hdi1saW5rLWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtbGluay1iZy1ob3ZlcjogaHNsYSgwLCAwLCAwLCAuMDI1KSAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWxpbmstbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtbGluay1wYWRkaW5nOiByZW0tY2FsYyg3IDE0KSAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1mb250LXdlaWdodC1hY3RpdmU6ICRzaWRlLW5hdi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGluZyBzdHlsZXMuXHJcbiRzaWRlLW5hdi1oZWFkaW5nLWNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvciAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWhlYWRpbmctZm9udC1zaXplOiAkc2lkZS1uYXYtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtaGVhZGluZy1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcclxuJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXNcclxuJHNpZGUtbmF2LWRpdmlkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xyXG4kc2lkZS1uYXYtZGl2aWRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcblxyXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgc2lkZS1uYXZcclxuLy9cclxuLy8gJGRpdmlkZXItY29sb3IgLSBCb3JkZXIgY29sb3Igb2YgZGl2aWRlci4gRGVmYXVsdDogJHNpZGUtbmF2LWRpdmlkZXItY29sb3IuXHJcbi8vICRmb250LXNpemUgLSBGb250IHNpemUgb2YgbmF2IGl0ZW1zLiBEZWZhdWx0OiAkc2lkZS1uYXYtZm9udC1zaXplLlxyXG4vLyAkbGluay1jb2xvciAtIENvbG9yIG9mIG5hdmlnYXRpb24gbGlua3MuIERlZmF1bHQ6ICRzaWRlLW5hdi1saW5rLWNvbG9yLlxyXG4vLyAkbGluay1jb2xvci1ob3ZlciAtIENvbG9yIG9mIG5hdmlnYXRpb24gbGlua3Mgd2hlbiBob3ZlcmVkLiBEZWZhdWx0OiAkc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlci5cclxuQG1peGluIHNpZGUtbmF2KFxyXG4gICRkaXZpZGVyLWNvbG9yOiRzaWRlLW5hdi1kaXZpZGVyLWNvbG9yLFxyXG4gICRmb250LXNpemU6JHNpZGUtbmF2LWZvbnQtc2l6ZSxcclxuICAkbGluay1jb2xvcjokc2lkZS1uYXYtbGluay1jb2xvcixcclxuICAkbGluay1jb2xvci1hY3RpdmU6JHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlLFxyXG4gICRsaW5rLWNvbG9yLWhvdmVyOiRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyLFxyXG4gICRsaW5rLWJnLWhvdmVyOiRzaWRlLW5hdi1saW5rLWJnLWhvdmVyKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1mYW1pbHk6ICRzaWRlLW5hdi1mb250LWZhbWlseTtcclxuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkc2lkZS1uYXYtbGlzdC1wb3NpdGlvbjtcclxuICBsaXN0LXN0eWxlLXR5cGU6ICRzaWRlLW5hdi1saXN0LXR5cGU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6ICRzaWRlLW5hdi1wYWRkaW5nO1xyXG5cclxuICBsaSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBmb250LXdlaWdodDogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0O1xyXG4gICAgbWFyZ2luOiAkc2lkZS1uYXYtbGlzdC1tYXJnaW47XHJcblxyXG4gICAgYTpub3QoLmJ1dHRvbikge1xyXG4gICAgICBjb2xvcjogJGxpbmstY29sb3I7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46ICRzaWRlLW5hdi1saW5rLW1hcmdpbjtcclxuICAgICAgcGFkZGluZzogJHNpZGUtbmF2LWxpbmstcGFkZGluZztcclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGxpbmstYmctaG92ZXI7XHJcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGxpbmstY29sb3ItYWN0aXZlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUgPiBhOmZpcnN0LWNoaWxkOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgIGNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmU7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2lkZS1uYXYtZm9udC1mYW1pbHktYWN0aXZlO1xyXG4gICAgICBmb250LXdlaWdodDogJHNpZGUtbmF2LWZvbnQtd2VpZ2h0LWFjdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpdmlkZXIge1xyXG4gICAgICBib3JkZXItdG9wOiAkc2lkZS1uYXYtZGl2aWRlci1zaXplICRzaWRlLW5hdi1kaXZpZGVyLXN0eWxlO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRkaXZpZGVyLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYuaGVhZGluZyB7XHJcbiAgICAgIGNvbG9yOiAkc2lkZS1uYXYtaGVhZGluZy1jb2xvcjtcclxuICAgICAgZm9udDoge1xyXG4gICAgICAgIHNpemU6ICRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtc2l6ZTtcclxuICAgICAgICB3ZWlnaHQ6ICRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkc2lkZS1uYXYtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJzaWRlLW5hdlwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXMge1xyXG4gICAgLnNpZGUtbmF2IHtAaW5jbHVkZSBzaWRlLW5hdjt9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuQGltcG9ydCAnYnV0dG9ucyc7XHJcbkBpbXBvcnQgJ2Ryb3Bkb3duLWJ1dHRvbnMnO1xyXG5cclxuLy9cclxuLy8gQG5hbWUgX3NwbGl0LWJ1dHRvbnMuc2Nzc1xyXG4vLyBAZGVwZW5kZW5jaWVzIF9idXR0b25zLnNjc3MsIF9nbG9iYWwuc2Nzc1xyXG4vL1xyXG5cclxuLy9cclxuLy8gQHZhcmlhYmxlc1xyXG4vL1xyXG5cclxuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZGlmZmVyZW50IHNoYXJlZCBzdHlsZXMgZm9yIFNwbGl0IEJ1dHRvbnNcclxuJHNwbGl0LWJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IDEwJSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtY29sb3ItYWx0OiAkb2lsICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OiByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRpbnkgc3BsaXQgYnV0dG9uc1xyXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiAxMCAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXRueTogJGJ1dHRvbi1waXAtdG55ICogNiAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXRueTogJGJ1dHRvbi1waXAtdG55ICogMiAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHNtYWxsIHNwbGl0IGJ1dHRvbnNcclxuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXNtbDogJGJ1dHRvbi1waXAtc21sICogMTAgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDYgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtc21sOiAkYnV0dG9uLXBpcC1zbWwgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEuNSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1zbWw6IHJlbS1jYWxjKC02KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1lZGl1bSBzcGxpdCBidXR0b25zXHJcbiRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDkgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDUuNSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xyXG4kc3BsaXQtYnV0dG9uLXBpcC10b3AtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAxLjUgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbWVkOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsYXJnZSBzcGxpdCBidXR0b25zXHJcbiRzcGxpdC1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDggIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KSAhZGVmYXVsdDtcclxuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLWxyZzogJGJ1dHRvbi1waXAtbHJnICsgcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XHJcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbHJnOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHNwbGl0IGJ1dHRvbnMgdGhhdCBidWlsZCB1cG9uIHRoZSBidXR0b24gbWl4aW5zXHJcbi8vXHJcbi8vICRwYWRkaW5nIC0gVHlwZSBvZiBwYWRkaW5nIHRvIGFwcGx5LiBEZWZhdWx0OiBtZWRpdW0uIE9wdGlvbnM6IHRpbnksIHNtYWxsLCBtZWRpdW0sIGxhcmdlLlxyXG4vLyAkcGlwLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLiBEZWZhdWx0OiAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci5cclxuLy8gJHNwYW4tYm9yZGVyIC0gQm9yZGVyIGNvbG9yIG9mIGJ1dHRvbiBkaXZpZGVyLiBEZWZhdWx0OiAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLlxyXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGUgdG8gc3BsaXQgYnV0dG9uLiBEZWZhdWx0OiB0cnVlLlxyXG5AbWl4aW4gc3BsaXQtYnV0dG9uKFxyXG4gICRwYWRkaW5nOm1lZGl1bSxcclxuICAkcGlwLWNvbG9yOiRzcGxpdC1idXR0b24tcGlwLWNvbG9yLCBcclxuICAkc3Bhbi1ib3JkZXI6JHNwbGl0LWJ1dHRvbi1zcGFuLWJvcmRlci1jb2xvciwgXHJcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xyXG5cclxuICAvLyBXaXRoIHRoaXMsIHdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guXHJcbiAgQGlmICRiYXNlLXN0eWxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAvLyBTdHlsaW5nIGZvciB0aGUgc3BsaXQgYXJyb3cgY2xpY2thYmxlIGFyZWFcclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiBzb2xpZCAxcHg7XHJcblxyXG4gICAgICAvLyBCdWlsZGluZyB0aGUgdHJpYW5nbGUgcGlwIGluZGljYXRvclxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBpbnNldDtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzcGxpdC1idXR0b24tYWN0aXZlLWJnLXRpbnQ7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbnRyb2wgdGhlIGJvcmRlciBjb2xvciBmb3IgdGhlIHNwYW4gYXJlYSBvZiB0aGUgc3BsaXQgYnV0dG9uXHJcbiAgQGlmICRzcGFuLWJvcmRlciB7XHJcbiAgICBzcGFuIHtcclxuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkc3Bhbi1ib3JkZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgdGlueSBzaXplc1xyXG4gIEBpZiAkcGFkZGluZyA9PSB0aW55IHtcclxuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXRueTtcclxuXHJcbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC10bnk7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTtcclxuICAgICAgICB0b3A6IDQ4JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIHNtYWxsIHNpemVzXHJcbiAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gc21hbGwge1xyXG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sO1xyXG5cclxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDtcclxuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sO1xyXG4gICAgICAgIHRvcDogNDglO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgZGVmYXVsdCAobWVkaXVtKSBzaXplc1xyXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IG1lZGl1bSB7XHJcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ7XHJcblxyXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtbWVkO1xyXG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1tZWQ7XHJcbiAgICAgICAgdG9wOiA0OCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBsYXJnZSBzaXplc1xyXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IGxhcmdlIHtcclxuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLWxyZztcclxuXHJcbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc7XHJcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LWxyZztcclxuICAgICAgICB0b3A6IDQ4JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQ29udHJvbCB0aGUgY29sb3Igb2YgdGhlIHRyaWFuZ2xlIHBpcFxyXG4gIEBpZiAkcGlwLWNvbG9yIHtcclxuICAgIHNwYW46YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRwaXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJzcGxpdC1idXR0b25cIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcclxuXHJcbiAgICAuc3BsaXQuYnV0dG9uIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uO1xyXG5cclxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLCAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBmYWxzZSk7IH1cclxuICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgZmFsc2UsICRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IsIGZhbHNlKTsgfVxyXG4gICAgICAmLnN1Y2Nlc3MgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsIGZhbHNlLCAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBmYWxzZSk7IH1cclxuXHJcbiAgICAgICYudGlueSB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbih0aW55LCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxyXG4gICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKHNtYWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxyXG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGxhcmdlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxyXG4gICAgICAmLmV4cGFuZCB7IHBhZGRpbmctbGVmdDogMnJlbTsgfVxyXG5cclxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdCwgZmFsc2UsIGZhbHNlKTsgfVxyXG5cclxuICAgICAgJi5yYWRpdXMgc3BhbiB7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRnbG9iYWwtcmFkaXVzKTsgfVxyXG4gICAgICAmLnJvdW5kIHNwYW4geyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAxMDAwcHgpOyB9XHJcbiAgICAgICYubm8tcGlwe1xyXG4gICAgICAgIHNwYW46YmVmb3JleyBib3JkZXItc3R5bGU6bm9uZTsgfVxyXG4gICAgICAgIHNwYW46YWZ0ZXJ7IGJvcmRlci1zdHlsZTpub25lOyB9XHJcbiAgICAgICAgc3Bhbj5pe1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuMjg4ODllbTtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjQ4ODg5ZW07XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEBuYW1lIF9zdWItbmF2LnNjc3NcclxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcclxuLy9cclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4kc3ViLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoLTQgMCAxOCkgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZGVmaW5pdGlvblxyXG4kc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kc3ViLW5hdi1mb250LWNvbG9yOiAkYWx1bWludW0gIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG4kc3ViLW5hdi10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDMgMTYpICFkZWZhdWx0O1xyXG4kc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0yNSUpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBhY3RpdmUgaXRlbSBzdHlsZXNcclxuXHJcbiRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHN1Yi1uYXYtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xyXG4kc3ViLW5hdi1hY3RpdmUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWFjdGl2ZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XHJcblxyXG4kc3ViLW5hdi1pdGVtLWRpdmlkZXI6IFwiXCIgIWRlZmF1bHQ7XHJcbiRzdWItbmF2LWl0ZW0tZGl2aWRlci1tYXJnaW46IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcblxyXG4vLyBDcmVhdGUgYSBzdWItbmF2IGl0ZW1cclxuLy9cclxuLy8gJGZvbnQtY29sb3IgLSBGb250IGNvbG9yLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LWNvbG9yLlxyXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LXNpemUuXHJcbi8vICRhY3RpdmUtYmcgLSBCYWNrZ3JvdW5kIG9mIGFjdGl2ZSBuYXYgaXRlbS4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLlxyXG4vLyAkYWN0aXZlLWJnLWhvdmVyIC0gQmFja2dyb3VuZCBvZiBhY3RpdmUgbmF2IGl0ZW0sIHdoZW4gaG92ZXJlZC4gRGVmYXVsdDogJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyLlxyXG5AbWl4aW4gc3ViLW5hdihcclxuICAkZm9udC1jb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvcixcclxuICAkZm9udC1zaXplOiAkc3ViLW5hdi1mb250LXNpemUsXHJcbiAgJGFjdGl2ZS1iZzogJHN1Yi1uYXYtYWN0aXZlLWJnLFxyXG4gICRhY3RpdmUtYmctaG92ZXI6ICRzdWItbmF2LWFjdGl2ZS1iZy1ob3Zlcikge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogJHN1Yi1uYXYtbGlzdC1tYXJnaW47XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nLXRvcDogJHN1Yi1uYXYtbGlzdC1wYWRkaW5nLXRvcDtcclxuICB3aWR0aDogYXV0bztcclxuXHJcbiAgZHQge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcblxyXG4gIGR0LFxyXG4gIGRkLFxyXG4gIGxpIHtcclxuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcclxuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgIGZvbnQtZmFtaWx5OiAkc3ViLW5hdi1mb250LWZhbWlseTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1mb250LXdlaWdodDtcclxuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogcmVtLWNhbGMoMTYpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3I7XHJcbiAgICAgIHBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmc7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3ItaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSBhIHtcclxuICAgICAgQGluY2x1ZGUgcmFkaXVzKCRzdWItbmF2LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xyXG4gICAgICBjb2xvcjogJHN1Yi1uYXYtYWN0aXZlLWNvbG9yO1xyXG4gICAgICBjdXJzb3I6ICRzdWItbmF2LWFjdGl2ZS1jdXJzb3I7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc3ViLW5hdi1hY3RpdmUtZm9udC13ZWlnaHQ7XHJcbiAgICAgIHBhZGRpbmc6ICRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZy1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkc3ViLW5hdi1pdGVtLWRpdmlkZXIgIT0gXCJcIiB7XHJcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIiN7JHN1Yi1uYXYtaXRlbS1kaXZpZGVyfVwiO1xyXG4gICAgICAgIG1hcmdpbjogMCAkc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJzdWItbmF2XCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlcyB7XHJcbiAgICAuc3ViLW5hdiB7IEBpbmNsdWRlIHN1Yi1uYXY7IH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQG5hbWVcclxuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3NcclxuLy9cclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4vLyBDb250cm9sbGluZyBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lclxyXG4kc3dpdGNoLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN3aXRjaCBoZWlnaHRzIGZvciBvdXIgZGVmYXVsdCBjbGFzc2VzXHJcbiRzd2l0Y2gtaGVpZ2h0LXRueTogMS41cmVtICFkZWZhdWx0O1xyXG4kc3dpdGNoLWhlaWdodC1zbWw6IDEuNzVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtaGVpZ2h0LW1lZDogMnJlbSAhZGVmYXVsdDtcclxuJHN3aXRjaC1oZWlnaHQtbHJnOiAyLjVyZW0gIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtYm90dG9tLW1hcmdpbjogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBzd2l0Y2gtcGFkZGxlXHJcbiRzd2l0Y2gtcGFkZGxlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQ6IC4xNXMgIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQgIWRlZmF1bHQ7XHJcbiRzd2l0Y2gtYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcblxyXG4vL1xyXG4vLyBAbWl4aW5zXHJcbi8vXHJcblxyXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJhc2Ugc3R5bGVzIGZvciBvdXIgc3dpdGNoIGVsZW1lbnQuXHJcbi8vXHJcbi8vICR0cmFuc2l0aW9uLXNwZWVkIC0gVGltZSBpbiBtcyBmb3Igc3dpdGNoIHRvIHRvZ2dsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZC5cclxuLy8gJHRyYW5zaXRpb24tZWFzZSAtIEVhc2luZyBmdW5jdGlvbiB0byB1c2UgZm9yIGFuaW1hdGlvbiAoaS5lLiBlYXNlLW91dCkuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZS5cclxuQG1peGluIHN3aXRjaC1iYXNlKFxyXG4gICR0cmFuc2l0aW9uLXNwZWVkOiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQsXHJcbiAgJHRyYW5zaXRpb24tZWFzZTokc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UpIHtcclxuXHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtYm90dG9tLW1hcmdpbjtcclxuICBvdXRsaW5lOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gIC8vIERlZmF1bHQgbGFiZWwgc3R5bGVzIGZvciB0eXBlIGFuZCB0cmFuc2l0aW9uXHJcbiAgbGFiZWwge1xyXG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogKCRzd2l0Y2gtaGVpZ2h0LW1lZCAvIDIpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XHJcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkICogMjsgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQ7XHJcblxyXG4gICAgLy8gVHJhbnNpdGlvbiBmb3IgdGhlIHN3aXRjaCBsYWJlbCB0byBmb2xsb3cgcGFkZGxlXHJcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihsZWZ0LCAkdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZSk7XHJcbiAgfVxyXG5cclxuICAvLyBTbyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gcmVjcmVhdGUgdGhlIGZvcm0gd2l0aCBhbnkgSlMsIHdlIHVzZSB0aGVcclxuICAvLyBleGlzdGluZyBjaGVja2JveCBvciByYWRpbyBidXR0b24sIGJ1dCB3ZSBjbGV2ZXJseSBwb3NpdGlvbiBhbmQgaGlkZSBpdC5cclxuICBpbnB1dCB7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBhZGRpbmc6MDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogOXB4O1xyXG5cclxuICAgICYgKyBsYWJlbCB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cclxuICB9XHJcblxyXG4gIC8vIFRoZSBwYWRkbGUgZm9yIHRoZSBzd2l0Y2ggaXMgY3JlYXRlZCBmcm9tIGFuIGFmdGVyIHBzdWVkb2NsYXNzXHJcbiAgLy8gY29udGVudCBlbGVtZW50LiBUaGlzIGlzIHNpemVkIGFuZCBwb3NpdGlvbmVkLCBhbmQgcmVhY3RzIHRvXHJcbiAgLy8gdGhlIHN0YXRlIG9mIHRoZSBpbnB1dC5cclxuXHJcbiAgbGFiZWw6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmc7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xyXG4gICAgbGVmdDogLjI1cmVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAuMjVyZW07XHJcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQtbWVkIC0gLjVyZW07XHJcblxyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcclxuICAgIC1vLXRyYW5zaXRpb246IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgIHRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcclxuXHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgfVxyXG5cclxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xyXG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1hY3RpdmUtY29sb3I7XHJcbiAgfVxyXG5cclxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xyXG4gICAgbGVmdDogJHN3aXRjaC1oZWlnaHQtbWVkICsgLjI1cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzaXplIHN0eWxlcyBmb3Igc3dpdGNoZXMuXHJcbi8vXHJcbi8vICRoZWlnaHQgLSBIZWlnaHQgKGluIHB4KSBvZiB0aGUgc3dpdGNoLiBEZWZhdWx0OiAkc3dpdGNoLWhlaWdodC1tZWQuXHJcbi8vICRmb250LXNpemUgLSBGb250IHNpemUgb2YgdGV4dCBpbiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtZm9udC1zaXplLW1lZC5cclxuLy8gJGxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgb2Ygc3dpdGNoLiBEZWZhdWx0OiAyLjNyZW0uXHJcbkBtaXhpbiBzd2l0Y2gtc2l6ZSgkaGVpZ2h0OiAkc3dpdGNoLWhlaWdodC1tZWQpIHtcclxuXHJcbiAgbGFiZWwge1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgd2lkdGg6ICRoZWlnaHQgKiAyO1xyXG4gIH1cclxuXHJcbiAgbGFiZWw6YWZ0ZXIge1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0IC0gLjVyZW07XHJcbiAgICB3aWR0aDogJGhlaWdodCAtIC41cmVtO1xyXG4gIH1cclxuXHJcbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcclxuICAgIGxlZnQ6ICRoZWlnaHQgKyAuMjVyZW07XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYWRkIGNvbG9yIGFuZCBvdGhlciBmYW5jaW5lc3MgdG8gdGhlIHN3aXRjaGVzLlxyXG4vL1xyXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cclxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgcG9zaXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtcG9zaXRpdmUtY29sb3IuXHJcbi8vICRuZWdhdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgbmVnYXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtbmVnYXRpdmUtY29sb3IuXHJcbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cclxuQG1peGluIHN3aXRjaC1zdHlsZShcclxuICAkcGFkZGxlLWJnOiRzd2l0Y2gtcGFkZGxlLWJnLFxyXG4gICRhY3RpdmUtY29sb3I6JHN3aXRjaC1hY3RpdmUtY29sb3IsXHJcbiAgJHJhZGl1czpmYWxzZSxcclxuICAkYmFzZS1zdHlsZTp0cnVlKSB7XHJcblxyXG4gIEBpZiAkYmFzZS1zdHlsZSB7XHJcblxyXG4gICAgbGFiZWwge1xyXG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcGFkZGxlLWJnO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTZXR0aW5nIHVwIHRoZSByYWRpdXMgZm9yIHN3aXRjaGVzXHJcbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XHJcbiAgICB9XHJcbiAgICBsYWJlbDphZnRlciB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRyYWRpdXMge1xyXG4gICAgbGFiZWwge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgfVxyXG4gICAgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIHN3aXRjaGVzIHdpdGggYSBzaW5nbGUgbWl4aW5cclxuLy9cclxuLy8gJHRyYW5zaXRpb24tc3BlZWQgLSBUaW1lIGluIG1zIGZvciBzd2l0Y2ggdG8gdG9nZ2xlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkLlxyXG4vLyAkdHJhbnNpdGlvbi1lYXNlIC0gRWFzaW5nIGZ1bmN0aW9uIHRvIHVzZSBmb3IgYW5pbWF0aW9uIChpLmUuIGVhc2Utb3V0KS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLlxyXG4vLyAkaGVpZ2h0IC0gSGVpZ2h0IChpbiBweCkgb2YgdGhlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1oZWlnaHQtbWVkLlxyXG4vLyAkcGFkZGxlLWJnIC0gQmFja2dyb3VuZCBvZiBzd2l0Y2ggcGFkZGxlLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS1iZy5cclxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1hY3RpdmUtY29sb3IuXHJcbi8vICRyYWRpdXMgLSBSYWRpdXMgdG8gYXBwbHkgdG8gc3dpdGNoLiBEZWZhdWx0OiBmYWxzZS5cclxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cclxuQG1peGluIHN3aXRjaChcclxuICAkdHJhbnNpdGlvbi1zcGVlZDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZCxcclxuICAkdHJhbnNpdGlvbi1lYXNlOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UsXHJcbiAgJGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkLFxyXG4gICRwYWRkbGUtYmc6ICRzd2l0Y2gtcGFkZGxlLWJnLFxyXG4gICRhY3RpdmUtY29sb3I6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yLFxyXG4gICRyYWRpdXM6ZmFsc2UsXHJcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLWJhc2UoJHRyYW5zaXRpb24tc3BlZWQsICR0cmFuc2l0aW9uLWVhc2UpO1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUoJGhlaWdodCk7XHJcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc3R5bGUoJHBhZGRsZS1iZywgJGFjdGl2ZS1jb2xvciwgJHJhZGl1cywgJGJhc2Utc3R5bGUpO1xyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwic3dpdGNoXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXMge1xyXG4gICAgICAuc3dpdGNoIHtcclxuICAgICAgICBAaW5jbHVkZSBzd2l0Y2g7XHJcblxyXG4gICAgICAgIC8vIExhcmdlIHJhZGlvIHN3aXRjaGVzXHJcbiAgICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LWxyZyk7IH1cclxuXHJcbiAgICAgICAgLy8gU21hbGwgcmFkaW8gc3dpdGNoZXNcclxuICAgICAgICAmLnNtYWxsIHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtc21sKTsgfVxyXG5cclxuICAgICAgICAvLyBUaW55IHJhZGlvIHN3aXRjaGVzXHJcbiAgICAgICAgJi50aW55IHsgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1oZWlnaHQtdG55KTsgfVxyXG5cclxuICAgICAgICAvLyBBZGQgYSByYWRpdXMgdG8gdGhlIHN3aXRjaFxyXG4gICAgICAgICYucmFkaXVzIHtcclxuICAgICAgICAgIGxhYmVsIHsgQGluY2x1ZGUgcmFkaXVzKDRweCk7IH1cclxuICAgICAgICAgIGxhYmVsOmFmdGVyIHsgQGluY2x1ZGUgcmFkaXVzKDNweCk7IH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE1ha2UgdGhlIHN3aXRjaCBjb21wbGV0ZWx5IHJvdW5kLCBsaWtlIGEgcGlsbFxyXG4gICAgICAgICYucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcclxuICAgICAgICAgIGxhYmVsIHsgQGluY2x1ZGUgcmFkaXVzKDJyZW0pOyB9XHJcbiAgICAgICAgICBsYWJlbDphZnRlciB7IEBpbmNsdWRlIHJhZGl1cygycmVtKTsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gQG5hbWUgX3RhYmxlcy5zY3NzXHJcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXHJcbi8vXHJcblxyXG4vL1xyXG4vLyBAdmFyaWFibGVzXHJcbi8vXHJcblxyXG4kaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWJsZSBhbmQgZXZlbiByb3dzXHJcbiR0YWJsZS1iZzogJHdoaXRlICFkZWZhdWx0O1xyXG4kdGFibGUtZXZlbi1yb3ctYmc6ICRzbm93ICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgY2VsbCBib3JkZXIgc3R5bGVcclxuJHRhYmxlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xyXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcclxuJHRhYmxlLWhlYWQtYmc6ICR3aGl0ZS1zbW9rZSAhZGVmYXVsdDtcclxuJHRhYmxlLWhlYWQtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJHRhYmxlLWhlYWQtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIHRoZSB0YWJsZSBmb290IHN0eWxlc1xyXG4kdGFibGUtZm9vdC1iZzogJHRhYmxlLWhlYWQtYmcgIWRlZmF1bHQ7XHJcbiR0YWJsZS1mb290LWZvbnQtc2l6ZTogJHRhYmxlLWhlYWQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yICFkZWZhdWx0O1xyXG4kdGFibGUtZm9vdC1mb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1mb290LXBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIHRoZSBjYXB0aW9uXHJcbiR0YWJsZS1jYXB0aW9uLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvciAhZGVmYXVsdDtcclxuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiR0YWJsZS1jYXB0aW9uLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgY29udHJvbCB0aGUgcm93IHBhZGRpbmcgYW5kIGZvbnQgc3R5bGVzXHJcbiR0YWJsZS1yb3ctcGFkZGluZzogcmVtLWNhbGMoOSAxMCkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1yb3ctZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1yb3ctZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcclxuJHRhYmxlLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBhcmUgZm9yIGNvbnRyb2xsaW5nIHRoZSBsYXlvdXQsIGRpc3BsYXkgYW5kIG1hcmdpbiBvZiB0YWJsZXNcclxuJHRhYmxlLWxheW91dDogYXV0byAhZGVmYXVsdDtcclxuJHRhYmxlLWRpc3BsYXk6IHRhYmxlLWNlbGwgIWRlZmF1bHQ7XHJcbiR0YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy9cclxuLy8gQG1peGluc1xyXG4vL1xyXG5cclxuQG1peGluIHRhYmxlIHtcclxuICBiYWNrZ3JvdW5kOiAkdGFibGUtYmc7XHJcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXN0eWxlICR0YWJsZS1ib3JkZXItc2l6ZSAkdGFibGUtYm9yZGVyLWNvbG9yO1xyXG4gIG1hcmdpbi1ib3R0b206ICR0YWJsZS1tYXJnaW4tYm90dG9tO1xyXG4gIHRhYmxlLWxheW91dDogJHRhYmxlLWxheW91dDtcclxuXHJcbiAgY2FwdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtY2FwdGlvbi1iZztcclxuICAgIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1mb250LWNvbG9yO1xyXG4gICAgZm9udDoge1xyXG4gICAgICBzaXplOiAkdGFibGUtY2FwdGlvbi1mb250LXNpemU7XHJcbiAgICAgIHdlaWdodDogJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0aGVhZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iZztcclxuXHJcbiAgICB0ciB7XHJcbiAgICAgIHRoLFxyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiAkdGFibGUtaGVhZC1mb250LXNpemU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRmb290IHtcclxuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJnO1xyXG5cclxuICAgIHRyIHtcclxuICAgICAgdGgsXHJcbiAgICAgIHRkIHtcclxuICAgICAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6ICR0YWJsZS1mb290LWZvbnQtc2l6ZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWZvb3QtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWZvb3QtcGFkZGluZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHIge1xyXG4gICAgdGgsXHJcbiAgICB0ZCB7XHJcbiAgICAgIGNvbG9yOiAkdGFibGUtcm93LWZvbnQtY29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLXJvdy1mb250LXNpemU7XHJcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1yb3ctcGFkZGluZztcclxuICAgICAgdGV4dC1hbGlnbjogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5ldmVuLFxyXG4gICAgJi5hbHQsXHJcbiAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHsgYmFja2dyb3VuZDogJHRhYmxlLWV2ZW4tcm93LWJnOyB9XHJcbiAgfVxyXG5cclxuICB0aGVhZCB0ciB0aCxcclxuICB0Zm9vdCB0ciB0aCxcclxuICB0Zm9vdCB0ciB0ZCxcclxuICB0Ym9keSB0ciB0aCxcclxuICB0Ym9keSB0ciB0ZCxcclxuICB0ciB0ZCB7IGRpc3BsYXk6ICR0YWJsZS1kaXNwbGF5OyBsaW5lLWhlaWdodDogJHRhYmxlLWxpbmUtaGVpZ2h0OyB9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwidGFibGVcIikge1xyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXRhYmxlLWNsYXNzZXMge1xyXG4gICAgdGFibGUge1xyXG4gICAgICBAaW5jbHVkZSB0YWJsZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5AaW1wb3J0ICdncmlkJztcclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4kdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTYlKSAhZGVmYXVsdDtcclxuJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xyXG4kdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG5cclxuJHRhYnMtY29udGVudC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XHJcbiR0YWJzLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpICFkZWZhdWx0O1xyXG5cclxuJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tOiAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInRhYlwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzIHtcclxuICAgIC50YWJzIHtcclxuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcblxyXG4gICAgICBkZCxcclxuICAgICAgLnRhYi10aXRsZSB7XHJcbiAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjtcclxuICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJHRhYnMtbmF2aWdhdGlvbi1mb250LWZhbWlseTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU7XHJcbiAgICAgICAgICBwYWRkaW5nOiAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmcgJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nICogMjtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIGEge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I7XHJcbiAgICAgICAgICBjb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYucmFkaXVzIHtcclxuICAgICAgICBkZDpmaXJzdC1jaGlsZCxcclxuICAgICAgICAudGFiOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIGEgeyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGdsb2JhbC1yYWRpdXMpOyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkZDpsYXN0LWNoaWxkLFxyXG4gICAgICAgIC50YWI6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBhIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGdsb2JhbC1yYWRpdXMpOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICBkZCxcclxuICAgICAgICAudGFiLXRpdGxlIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGFicy1jb250ZW50IHtcclxuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJzLWNvbnRlbnQtbWFyZ2luLWJvdHRvbTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICA+IC5jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcclxuICAgICAgICBwYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmcgMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb250YWluZWQge1xyXG4gICAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgID4gLmNvbnRlbnQge1xyXG4gICAgICAgICAgcGFkZGluZzogMCAkdGFicy1jb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAudGFicyB7XHJcbiAgICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b20gIWltcG9ydGFudDtcclxuICAgICAgICAgIG1heC13aWR0aDogMjAlO1xyXG4gICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50YWJzLWNvbnRlbnQge1xyXG4gICAgICAgICYudmVydGljYWwge1xyXG4gICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtMXB4O1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAxcmVtO1xyXG4gICAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubm8tanMge1xyXG4gICAgICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuXHJcbi8vXHJcbi8vIEBuYW1lIF90aHVtYnMuc2Nzc1xyXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWxzLnNjc3NcclxuLy9cclxuXHJcbi8vXHJcbi8vIEB2YXJpYWJsZXNcclxuLy9cclxuXHJcbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xyXG4kdGh1bWItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcclxuJHRodW1iLWJvcmRlci13aWR0aDogNHB4ICFkZWZhdWx0O1xyXG4kdGh1bWItYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0aHVtYi1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssLjIpICFkZWZhdWx0O1xyXG4kdGh1bWItYm94LXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpICFkZWZhdWx0O1xyXG5cclxuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcclxuJHRodW1iLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiR0aHVtYi10cmFuc2l0aW9uLXNwZWVkOiAyMDBtcyAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIEBtaXhpbnNcclxuLy9cclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpbWFnZSB0aHVtYm5haWwgc3R5bGVzLlxyXG4vL1xyXG4vLyAkYm9yZGVyLXdpZHRoIC0gV2lkdGggb2YgYm9yZGVyIGFyb3VuZCB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3JkZXItd2lkdGguXHJcbi8vICRib3gtc2hhZG93IC0gQm94IHNoYWRvdyB0byBhcHBseSB0byB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LlxyXG4vLyAkYm94LXNoYWRvdy1ob3ZlciAtIEJveCBzaGFkb3cgdG8gYXBwbHkgb24gaG92ZXIuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LWhvdmVyLlxyXG5AbWl4aW4gdGh1bWIoXHJcbiAgJGJvcmRlci13aWR0aDokdGh1bWItYm9yZGVyLXdpZHRoLFxyXG4gICRib3gtc2hhZG93OiR0aHVtYi1ib3gtc2hhZG93LFxyXG4gICRib3gtc2hhZG93LWhvdmVyOiR0aHVtYi1ib3gtc2hhZG93LWhvdmVyKSB7XHJcbiAgYm9yZGVyOiAkdGh1bWItYm9yZGVyLXN0eWxlICRib3JkZXItd2lkdGggJHRodW1iLWJvcmRlci1jb2xvcjtcclxuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctaG92ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgZXhwb3J0cyhcInRodW1iXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzIHtcclxuXHJcbiAgICAvKiBJbWFnZSBUaHVtYm5haWxzICovXHJcbiAgICAudGgge1xyXG4gICAgICBAaW5jbHVkZSB0aHVtYjtcclxuICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYWxsLCAkdGh1bWItdHJhbnNpdGlvbi1zcGVlZCwgZWFzZS1vdXQpO1xyXG5cclxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHRodW1iLXJhZGl1cyk7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuLy9cclxuLy8gVG9vbHRpcCBWYXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGlyb24gIWRlZmF1bHQ7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJGhhcy10aXAtZm9udC1jb2xvcjogJG9pbCAhZGVmYXVsdDtcclxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlcjogZG90dGVkIDFweCBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTU1JSkgIWRlZmF1bHQ7XHJcbiRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kaGFzLXRpcC1jdXJzb3ItdHlwZTogaGVscCAhZGVmYXVsdDtcclxuXHJcbiR0b29sdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtYmc6ICRvaWwgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY2xvc2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1mb250LXNpemUtc21sOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLXJvdW5kZWQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtcGlwLXNpemU6IDVweCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcclxuXHJcbkBpbmNsdWRlIGV4cG9ydHMoXCJ0b29sdGlwXCIpIHtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXMge1xyXG5cclxuICAgIC8qIFRvb2x0aXBzICovXHJcbiAgICAuaGFzLXRpcCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XHJcbiAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yO1xyXG4gICAgICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvci10eXBlO1xyXG4gICAgICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XHJcblxyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyO1xyXG4gICAgICAgIGNvbG9yOiAkaGFzLXRpcC1mb250LWNvbG9yLWhvdmVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnRpcC1sZWZ0LFxyXG4gICAgICAmLnRpcC1yaWdodCB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuXHJcbiAgICAudG9vbHRpcCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJnO1xyXG4gICAgICBjb2xvcjogJHRvb2x0aXAtZm9udC1jb2xvcjtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1mb250LXdlaWdodDtcclxuICAgICAgbGluZS1oZWlnaHQ6ICR0b29sdGlwLWxpbmUtaGVpZ2h0O1xyXG4gICAgICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcclxuICAgICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgei1pbmRleDogMTAwNjtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcclxuXHJcbiAgICAgID4gLm51YiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkICR0b29sdGlwLXBpcC1zaXplO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICR0b29sdGlwLXBpcC1zaXplO1xyXG5cclxuICAgICAgICAmLnJ0bCB7XHJcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvb2x0aXAtcGlwLXNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnJhZGl1cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCR0b29sdGlwLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgICAgJi5yb3VuZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCR0b29sdGlwLXJvdW5kZWQpO1xyXG4gICAgICAgID4gLm51YiB7XHJcbiAgICAgICAgICBsZWZ0OiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5vcGVuZWQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXIgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlciAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhcC10by1jbG9zZSB7XHJcbiAgICAgIGNvbG9yOiAkdG9vbHRpcC1jbG9zZS1mb250LWNvbG9yO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1jbG9zZS1mb250LXNpemU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc21hbGx9IHtcclxuICAgICAgLnRvb2x0aXAge1xyXG4gICAgICAgID4gLm51YiB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudGlwLXRvcD4ubnViIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3R0b206IC0oJHRvb2x0aXAtcGlwLXNpemUgKiAyKTtcclxuICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudGlwLWxlZnQsXHJcbiAgICAgICAgJi50aXAtcmlnaHQgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgICAgICYudGlwLWxlZnQ+Lm51YiB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnO1xyXG4gICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1waXAtc2l6ZTtcclxuICAgICAgICAgIHJpZ2h0OiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi50aXAtcmlnaHQ+Lm51YiB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgbGVmdDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLXBpcC1zaXplO1xyXG4gICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcbkBpbXBvcnQgJ2dyaWQnO1xyXG5AaW1wb3J0ICdidXR0b25zJztcclxuQGltcG9ydCAnZm9ybXMnO1xyXG5cclxuLy9cclxuLy8gVG9wIEJhciBWYXJpYWJsZXNcclxuLy9cclxuJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXHJcbiR0b3BiYXItYmctY29sb3I6ICRvaWwgIWRlZmF1bHQ7XHJcbiR0b3BiYXItYmc6ICR0b3BiYXItYmctY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyBIZWlnaHQgYW5kIG1hcmdpblxyXG4kdG9wYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpICFkZWZhdWx0O1xyXG4kdG9wYmFyLW1hcmdpbi1ib3R0b206IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBDb250cm9sbGluZyB0aGUgc3R5bGVzIGZvciB0aGUgdGl0bGUgaW4gdGhlIHRvcCBiYXJcclxuJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiR0b3BiYXItdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNykgIWRlZmF1bHQ7XHJcblxyXG4vLyBTZXQgdGhlIGxpbmsgY29sb3JzIGFuZCBzdHlsZXMgZm9yIHRvcC1sZXZlbCBuYXZcclxuJHRvcGJhci1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbGluay1jb2xvci1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbGluay1jb2xvci1hY3RpdmUtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstaG92ZXItbGlnaHRuZXNzOiAtMTAlICFkZWZhdWx0OyAvLyBEYXJrZW4gYnkgMTAlXHJcbiR0b3BiYXItbGluay1iZzogJHRvcGJhci1iZyAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWJnLWhvdmVyOiAkamV0ICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI6ICRjaGFyY29hbCAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWJnLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcbiR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kdG9wYmFyLWxpbmstcGFkZGluZzogKCR0b3BiYXItaGVpZ2h0IC8gMykgIWRlZmF1bHQ7XHJcbiR0b3BiYXItYmFjay1saW5rLXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcclxuJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuJHRvcGJhci1idXR0b24tZm9udC1zaXplOiAuNzVyZW0gIWRlZmF1bHQ7XHJcbiR0b3BiYXItYnV0dG9uLXRvcDogN3B4ICFkZWZhdWx0O1xyXG5cclxuLy8gU3R5bGUgdGhlIHRvcCBiYXIgZHJvcGRvd24gZWxlbWVudHNcclxuJHRvcGJhci1kcm9wZG93bi1iZzogJG9pbCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc6ICRvaWwgIWRlZmF1bHQ7XHJcbiR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjogJGpldCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi10b2dnbGUtc2l6ZTogNXB4ICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYTogLjQgIWRlZmF1bHQ7XHJcblxyXG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yOiAkbW9uc29vbiAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZzogJG9pbCAhZGVmYXVsdDtcclxuXHJcbi8vIFRvcCBtZW51IGljb24gc3R5bGVzXHJcbiR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcclxuJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRvcGJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRvcGJhci1tZW51LWxpbmstY29sb3ItdG9nZ2xlZDogJGp1bWJvICFkZWZhdWx0O1xyXG4kdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkOiAkanVtYm8gIWRlZmF1bHQ7XHJcbiR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9uOiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0OyAvLyBDaGFuZ2UgdG8gJGRlZmF1bHQtZmxvYXQgZm9yIGEgbGVmdCBtZW51IGljb25cclxuXHJcbi8vIFRyYW5zaXRpb25zIGFuZCBicmVha3BvaW50IHN0eWxlc1xyXG4kdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zICFkZWZhdWx0O1xyXG4vLyBVc2luZyByZW0tY2FsYyBmb3IgdGhlIGJlbG93IGJyZWFrcG9pbnQgY2F1c2VzIGlzc3VlcyB3aXRoIHRvcCBiYXJcclxuJHRvcGJhci1icmVha3BvaW50OiAje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcclxuJHRvcGJhci1tZWRpYS1xdWVyeTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHRvcGJhci1icmVha3BvaW50KX0pXCI7XHJcblxyXG4vLyBUb3AtYmFyIGlucHV0IHN0eWxlc1xyXG4kdG9wYmFyLWlucHV0LWhlaWdodDogcmVtLWNhbGMoMjgpICFkZWZhdWx0O1xyXG5cclxuLy8gRGl2aWRlciBTdHlsZXNcclxuJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b206IHNvbGlkIDFweCBzY2FsZS1jb2xvcigkdG9wYmFyLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMyUpICFkZWZhdWx0O1xyXG4kdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpICFkZWZhdWx0O1xyXG5cclxuLy8gU3RpY2t5IENsYXNzXHJcbiR0b3BiYXItc3RpY2t5LWNsYXNzOiBcIi5zdGlja3lcIiAhZGVmYXVsdDtcclxuJHRvcGJhci1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cclxuJHRvcGJhci1kcm9wZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgXFwwMGJiID4+IHRleHQgZnJvbSBkcm9wZG93biBzdWJuYXZpZ2F0aW9uIGxpXHJcblxyXG4vLyBBY2Nlc3NpYmlsaXR5IG1peGlucyBmb3IgaGlkaW5nIGFuZCBzaG93aW5nIHRoZSBtZW51IGRyb3Bkb3duIGl0ZW1zXHJcbkBtaXhpbiB0b3BiYXItaGlkZS1kcm9wZG93biB7XHJcbiAgLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4gYnkgZGVmYXVsdCwgYnV0IHZpc2libGUgd2hlbiBmb2N1c2VkLlxyXG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlKCk7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbkBtaXhpbiB0b3BiYXItc2hvdy1kcm9wZG93biB7XHJcbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmKCk7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IC8vIFJlc2V0IHRoZSBwb3NpdGlvbiBmcm9tIHN0YXRpYyB0byBhYnNvbHV0ZVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwidG9wLWJhclwiKSB7XHJcblxyXG4gIEBpZiAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlcyB7XHJcblxyXG4gICAgLy8gVXNlZCB0byBwcm92aWRlIG1lZGlhIHF1ZXJ5IHZhbHVlcyBmb3IgamF2YXNjcmlwdCBjb21wb25lbnRzLlxyXG4gICAgLy8gVGhpcyBjbGFzcyBpcyBnZW5lcmF0ZWQgZGVzcGl0ZSB0aGUgdmFsdWUgb2YgJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXNcclxuICAgIC8vIHRvIGVuc3VyZSB3aWR0aCBjYWxjdWxhdGlvbnMgd29yayBjb3JyZWN0bHkuXHJcbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtdG9wYmFyIHtcclxuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkdG9wYmFyLW1lZGlhLXF1ZXJ5KSArIFwiL1wiO1xyXG4gICAgICB3aWR0aDogJHRvcGJhci1icmVha3BvaW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFdyYXBwZWQgYXJvdW5kIC50b3AtYmFyIHRvIGNvbnRhaW4gdG8gZ3JpZCB3aWR0aCAqL1xyXG4gICAgLmNvbnRhaW4tdG8tZ3JpZCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xyXG5cclxuICAgICAgLnRvcC1iYXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFdyYXBwZWQgYXJvdW5kIC50b3AtYmFyIHRvIG1ha2UgaXQgc3RpY2sgdG8gdGhlIHRvcFxyXG4gICAgLmZpeGVkIHtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB6LWluZGV4OiA5OTtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcblxyXG4gICAgICAmLmV4cGFuZGVkOm5vdCgudG9wLWJhcikge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIC50aXRsZS1hcmVhIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBFbnN1cmUgeW91IGNhbiBzY3JvbGwgdGhlIG1lbnUgb24gc21hbGwgc2NyZWVuc1xyXG4gICAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICB6LWluZGV4OiA5ODtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudG9wLWJhciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItYmc7XHJcbiAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAvLyBUb3BiYXIgR2xvYmFsIGxpc3QgU3R5bGVzXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yb3cge1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZm9ybSxcclxuICAgICAgaW5wdXQsIFxyXG4gICAgICBzZWxlY3Qge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlucHV0LCBcclxuICAgICAgc2VsZWN0IHtcclxuICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuMzVyZW07XHJcbiAgICAgICAgcGFkZGluZy10b3A6IC4zNXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmJ1dHRvbiwgYnV0dG9uIHtcclxuICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuMzVyZW0gKyByZW0tY2FsYygxKTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogLjM1cmVtICsgcmVtLWNhbGMoMSk7XHJcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vIHRvcDogLTFweDtcclxuXHJcbiAgICAgICAgLy8gQ29ycmVjdHMgYSBzbGlnaHQgbWlzYWxpZ25tZW50IHdoZW4gcHV0IG5leHQgdG8gYW4gaW5wdXQgZmllbGRcclxuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gVGl0bGUgQXJlYVxyXG4gICAgICAudGl0bGUtYXJlYSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm5hbWUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHJlbS1iYXNlO1xyXG4gICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgcCwgc3BhbiB7XHJcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItdGl0bGUtZm9udC1zaXplO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItdGl0bGUtd2VpZ2h0O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gTWVudSB0b2dnbGUgYnV0dG9uIG9uIHNtYWxsIGRldmljZXNcclxuICAgICAgLnRvZ2dsZS10b3BiYXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAjeyR0b3BiYXItbWVudS1pY29uLXBvc2l0aW9ufTogMDtcclxuICAgICAgICB0b3A6IDA7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1tZW51LWxpbmstd2VpZ2h0O1xyXG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRvcGJhci1tZW51LWxpbmstdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQWRkaW5nIHRoZSBjbGFzcyBcIm1lbnUtaWNvblwiIHdpbGwgYWRkIHRoZSAzLWxpbmUgaWNvbiBwZW9wbGUgbG92ZSBhbmQgYWRvcmUuXHJcbiAgICAgICAgJi5tZW51LWljb24ge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogLTE2cHg7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuXHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGFtYnVyZ2VyKDE2cHgsIGZhbHNlLCAwLCAxcHgsIDZweCwgJHRvcGJhci1tZW51LWljb24tY29sb3IsIFwiXCIsIGZhbHNlKTtcclxuXHJcbiAgICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTU4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbWVudS1saW5rLWNvbG9yO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nK3JlbS1jYWxjKDI1KSAwICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBDaGFuZ2UgdGhpbmdzIHVwIHdoZW4gdGhlIHRvcC1iYXIgaXMgZXhwYW5kZWRcclxuICAgICAgJi5leHBhbmRlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgICAgICAudGl0bGUtYXJlYSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRvZ2dsZS10b3BiYXIge1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkO1xyXG5cclxuICAgICAgICAgICAgc3Bhbjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIC8vIFNoaCwgZG9uJ3QgdGVsbCwgYnV0IGJveC1zaGFkb3dzIGNyZWF0ZSB0aGUgbWVudSBpY29uIDopXHJcbiAgICAgICAgICAgICAgLy8gQ2hhbmdlIHRoZSBjb2xvciBvZiB0aGUgYmFycyB3aGVuIHRoZSBtZW51IGlzIGV4cGFuZGVkLCB1c2luZyBnaXZlbiB0aGlja25lc3MgZnJvbSBoYW1idXJnZXIoKSBhYm92ZVxyXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDAgN3B4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAxNHB4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEZpeGVzIGFuIGlzc3VlIHdpdGggRGVza3RvcCBhbmQgTW9iaWxlIFNhZmFyaSB3aGVyZSBkZWVwbHktbmVzdGVkIG1lbnVzIGRvbid0IGFwcGVhclxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xyXG4gICAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB7XHJcbiAgICAgICAgICAgIC5oYXMtZHJvcGRvd24ubW92ZWQgPiAuZHJvcGRvd24sXHJcbiAgICAgICAgICAgIC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgY2xpcDogaW5pdGlhbDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gVGhpcyB3YXMgbmVlZGVkIGFzIHBhcmVudCB1bCdzIGhhZCBwYWRkaW5nLCBhbmQgdGhlIGNsaXA6IHdhcyBhbGxvd2luZyBjb250ZW50IHRvIHBlYWsgdGhyb3VnaFxyXG4gICAgICAgICAgICAuaGFzLWRyb3Bkb3duOm5vdCgubW92ZWQpID4gdWwge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSaWdodCBhbmQgTGVmdCBOYXZpZ2F0aW9uIHRoYXQgc3RhY2tlZCBieSBkZWZhdWx0XHJcbiAgICAudG9wLWJhci1zZWN0aW9uIHtcclxuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKCRkZWZhdWx0LWZsb2F0LCAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQpO1xyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHJlbS1iYXNlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmRpdmlkZXIsXHJcbiAgICAgIFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcclxuICAgICAgICBib3JkZXItdG9wOiAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwgbGkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tYmc7XHJcblxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItbGluay13ZWlnaHQ7XHJcbiAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgIHBhZGRpbmc6IDEycHggMCAxMnB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItbGluay10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICYuYnV0dG9uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xyXG4gICAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcik7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5idXR0b24uc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxyXG4gICAgICAgICAgJi5idXR0b24uc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IpOyB9XHJcbiAgICAgICAgICAmLmJ1dHRvbi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yKTsgfVxyXG4gICAgICAgICAgJi5idXR0b24ud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XHJcbiAgICAgICAgICAmLmJ1dHRvbi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvcik7IH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gYnV0dG9uIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1saW5rLWZvbnQtc2l6ZTtcclxuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHByaW1hcnktY29sb3IpO1xyXG5cclxuICAgICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxyXG4gICAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1jb2xvcik7IH1cclxuICAgICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvcik7IH1cclxuICAgICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XHJcbiAgICAgICAgICAmLmluZm8geyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWNvbG9yKTsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xyXG4gICAgICAgICY6aG92ZXI6bm90KC5oYXMtZm9ybSkgPiBhIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XHJcblxyXG4gICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXBwbHkgdGhlIGFjdGl2ZSBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcclxuICAgICAgICAmLmFjdGl2ZSA+IGEge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcclxuICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xyXG5cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlLWhvdmVyO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEFkZCBzb21lIGV4dHJhIHBhZGRpbmcgZm9yIGxpc3QgaXRlbXMgY29udGFpbnMgYnV0dG9uc1xyXG4gICAgICAuaGFzLWZvcm0ge1xyXG4gICAgICAgIHBhZGRpbmc6ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBTdHlsaW5nIGZvciBsaXN0IGl0ZW1zIHRoYXQgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiB0aGVtLlxyXG4gICAgICAuaGFzLWRyb3Bkb3duIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgQGlmICgkdG9wYmFyLWFycm93cykge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplLCByZ2JhKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yLCAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYSksICRkZWZhdWx0LWZsb2F0KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUgLyAyKSAtIDI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm1vdmVkIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcblxyXG4gICAgICAgICAgPiAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICA+IGE6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gU3R5bGluZyBlbGVtZW50cyBpbnNpZGUgb2YgZHJvcGRvd25zXHJcbiAgICAgIC5kcm9wZG93biB7XHJcbiAgICAgICAgQGluY2x1ZGUgdG9wYmFyLWhpZGUtZHJvcGRvd24oKTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmLnBhcmVudC1saW5rIHtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1saW5rLXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYudGl0bGUgaDUsXHJcbiAgICAgICAgICAmLnBhcmVudC1saW5rIHtcclxuICAgICAgICAgICAgLy8gQmFjayBCdXR0b25cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWJhY2stbGluay1zaXplO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xyXG4gICAgICAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAoJHRvcGJhci1oZWlnaHQgLyAyKTtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDpub25lOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLmhhcy1mb3JtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5idXR0b24sXHJcbiAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1jb2xvcjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXNpemU7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICBwYWRkaW5nOiA4cHggJHRvcGJhci1saW5rLXBhZGRpbmcgMnB4O1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmpzLWdlbmVyYXRlZCB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcblxyXG5cclxuICAgIC8vIFRvcCBCYXIgc3R5bGVzIGludGVuZGVkIGZvciBzY3JlZW4gc2l6ZXMgYWJvdmUgdGhlIGJyZWFrcG9pbnQuXHJcbiAgICBAbWVkaWEgI3skdG9wYmFyLW1lZGlhLXF1ZXJ5fSB7XHJcbiAgICAgIC50b3AtYmFyIHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuICAgICAgICAudG9nZ2xlLXRvcGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbiAgICAgICAgLnRpdGxlLWFyZWEgeyBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7IH1cclxuICAgICAgICAubmFtZSBoMSBhLFxyXG4gICAgICAgIC5uYW1lIGgyIGEsXHJcbiAgICAgICAgLm5hbWUgaDMgYSxcclxuICAgICAgICAubmFtZSBoNCBhLFxyXG4gICAgICAgIC5uYW1lIGg1IGEsXHJcbiAgICAgICAgLm5hbWUgaDYgYSB7IHdpZHRoOiBhdXRvOyB9XHJcblxyXG4gICAgICAgIGlucHV0LFxyXG4gICAgICAgIHNlbGVjdCxcclxuICAgICAgICAuYnV0dG9uLFxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0b3A6ICgoJHRvcGJhci1oZWlnaHQgLSAkdG9wYmFyLWlucHV0LWhlaWdodCkgLyAyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZXhwYW5kZWQge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jb250YWluLXRvLWdyaWQgLnRvcC1iYXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKG5vbmUsMCwwKTtcclxuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xyXG4gICAgICAgICAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgJi5ob3ZlciB7XHJcbiAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpub3QoLmhhcy1mb3JtKSB7XHJcbiAgICAgICAgICAgIGE6bm90KC5idXR0b24pIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmc7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWxpbmstYmctY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5hY3RpdmU6bm90KC5oYXMtZm9ybSkge1xyXG4gICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcclxuICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oYXMtZHJvcGRvd24ge1xyXG4gICAgICAgICAgQGlmICR0b3BiYXItYXJyb3dzIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nICsgJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmcgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1zaXplLCByZ2JhKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yLCAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYSksIHRvcCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUgLyAyKTtcclxuICAgICAgICAgICAgICAgIHRvcDogKCR0b3BiYXItaGVpZ2h0IC8gMik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5tb3ZlZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1oaWRlLWRyb3Bkb3duKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLmhvdmVyLCAmLm5vdC1jbGljazpob3ZlciB7XHJcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgPiBhOmZvY3VzICsgLmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuZHJvcGRvd24gbGkuaGFzLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItZHJvcGRvd24tYXJyb3dzKSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMDBiYlwiO1xyXG4gICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDMpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRyb3Bkb3duIHtcclxuICAgICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICB0b3A6IGF1dG87XHJcblxyXG4gICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAkdG9wYmFyLWxpbmstcGFkZGluZztcclxuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOm5vdCguaGFzLWZvcm0pOm5vdCguYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgPiBhOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1kcm9wZG93bi1saW5rLWNvbG9yO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgJjpob3ZlciA+IGE6bm90KC5idXR0b24pIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZztcclxuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBTZWNvbmQgTGV2ZWwgRHJvcGRvd25zXHJcbiAgICAgICAgICAgIC5kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7XHJcbiAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHVsID4gLmRpdmlkZXIsXHJcbiAgICAgICAgPiB1bCA+IFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcclxuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLWJvdHRvbTtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgICAgY2xlYXI6IG5vbmU7XHJcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGFzLWZvcm0ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnO1xyXG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBQb3NpdGlvbiBvdmVycmlkZXMgZm9yIHVsLnJpZ2h0IGFuZCB1bC5sZWZ0XHJcbiAgICAgICAgLiN7JG9wcG9zaXRlLWRpcmVjdGlvbn0ge1xyXG4gICAgICAgICAgbGkgLmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XHJcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XHJcblxyXG4gICAgICAgICAgICBsaSAuZHJvcGRvd24geyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMDAlOyB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC4jeyRkZWZhdWx0LWZsb2F0fSB7XHJcbiAgICAgICAgICBsaSAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBhdXRvO1xyXG4gICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcclxuXHJcbiAgICAgICAgICAgIGxpIC5kcm9wZG93biB7ICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlOyB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBEZWdyYWRlIGdyYWNlZnVsbHkgd2hlbiBKYXZhc2NyaXB0IGlzIGRpc2FibGVkLiBEaXNwbGF5cyBkcm9wZG93biBhbmQgY2hhbmdlc1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kICYgdGV4dCBjb2xvciBvbiBob3Zlci5cclxuICAgICAgLm5vLWpzIC50b3AtYmFyLXNlY3Rpb24ge1xyXG4gICAgICAgIHVsIGxpIHtcclxuICAgICAgICAgIC8vIEFwcGx5IHRoZSBob3ZlciBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcclxuICAgICAgICAgICY6aG92ZXIgPiBhIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIEFwcGx5IHRoZSBhY3RpdmUgbGluayBjb2xvciB3aGVuIGl0IGhhcyB0aGF0IGNsYXNzXHJcbiAgICAgICAgICAmOmFjdGl2ZSA+IGEge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctYWN0aXZlO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oYXMtZHJvcGRvd24ge1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgPiBhOmZvY3VzICsgLmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLXNob3ctZHJvcGRvd24oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdnbG9iYWwnO1xyXG5cclxuJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHN0eWxlc1xyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcclxuJGhlYWRlci1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xyXG4kaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzaXplc1xyXG4kaDEtZm9udC1zaXplOiByZW0tY2FsYyg0NCkgIWRlZmF1bHQ7XHJcbiRoMi1mb250LXNpemU6IHJlbS1jYWxjKDM3KSAhZGVmYXVsdDtcclxuJGgzLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpICFkZWZhdWx0O1xyXG4kaDQtZm9udC1zaXplOiByZW0tY2FsYygyMykgIWRlZmF1bHQ7XHJcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcclxuJGg2LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBzaXplIHJlZHVjdGlvbiBvbiBzbWFsbCBzY3JlZW5zXHJcbiRoMS1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xyXG4kaDItZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuJGgzLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcclxuJGg0LWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcclxuJGg1LWZvbnQtcmVkdWN0aW9uOiAwICFkZWZhdWx0O1xyXG4kaDYtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBjb250cm9sIGhvdyBzdWJoZWFkZXJzIGFyZSBzdHlsZWQuXHJcbiRzdWJoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuJHN1YmhlYWRlci1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSkgIWRlZmF1bHQ7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XHJcbiRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXHJcbiRzbWFsbC1mb250LXNpemU6IDYwJSAhZGVmYXVsdDtcclxuJHNtYWxsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBwYXJhZ3JhcGhzXHJcbiRwYXJhZ3JhcGgtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XHJcbiRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRwYXJhZ3JhcGgtZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWxpbmUtaGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWFzaWRlLWxpbmUtaGVpZ2h0OiAxLjM1ICFkZWZhdWx0O1xyXG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXHJcbiRjb2RlLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRjb2RlLWJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDcwJSkgIWRlZmF1bHQ7XHJcbiRjb2RlLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XHJcbiRjb2RlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XHJcbiRjb2RlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNvZGUtYmFja2dyb3VuZC1jb2xvciwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIpIHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEpICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGFuY2hvcnNcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xyXG4kYW5jaG9yLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG4kYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIDxocj4gZWxlbWVudFxyXG4kaHItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRoci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kaHItYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGlzdHNcclxuJGxpc3QtZm9udC1mYW1pbHk6ICRwYXJhZ3JhcGgtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XHJcbiRsaXN0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRsaXN0LWxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4xcmVtICFkZWZhdWx0O1xyXG4kbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luOiAxLjRyZW0gIWRlZmF1bHQ7XHJcbiRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDogMCAhZGVmYXVsdDtcclxuJGxpc3QtbmVzdGVkLW1hcmdpbjogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xyXG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tOiAuM3JlbSAhZGVmYXVsdDtcclxuJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYmxvY2txdW90ZXNcclxuJGJsb2NrcXVvdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMjMlKSAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLyBBY3JvbnltIHN0eWxlc1xyXG4kYWNyb255bS11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGdhaW5zYm9ybyAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHBhZGRpbmcgYW5kIG1hcmdpblxyXG4kbWljcm9mb3JtYXQtcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpICFkZWZhdWx0O1xyXG4kbWljcm9mb3JtYXQtbWFyZ2luOiByZW0tY2FsYygwIDAgMjAgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xyXG4kbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRtaWNyb2Zvcm1hdC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xyXG4kbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZnVsbCBuYW1lIGZvbnQgc3R5bGVzXHJcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN1bW1hcnkgZm9udCBzdHlsZXNcclxuJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIHBhZGRpbmdcclxuJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZzogcmVtLWNhbGMoMCAxKSAhZGVmYXVsdDtcclxuXHJcbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBmb250IHN0eWxlc1xyXG4kbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcbiRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vIFRleHQgYWxpZ25tZW50IGNsYXNzIG5hbWVzXHJcbiRhbGlnbi1jbGFzcy1uYW1lczpcclxuICBzbWFsbC1vbmx5LFxyXG4gIHNtYWxsLFxyXG4gIG1lZGl1bS1vbmx5LFxyXG4gIG1lZGl1bSxcclxuICBsYXJnZS1vbmx5LFxyXG4gIGxhcmdlLFxyXG4gIHhsYXJnZS1vbmx5LFxyXG4gIHhsYXJnZSxcclxuICB4eGxhcmdlLW9ubHksXHJcbiAgeHhsYXJnZTtcclxuXHJcbi8vIFRleHQgYWxpZ25tZW50IGJyZWFrcG9pbnRzXHJcbiRhbGlnbi1jbGFzcy1icmVha3BvaW50czpcclxuICAkc21hbGwtb25seSxcclxuICAkc21hbGwtdXAsXHJcbiAgJG1lZGl1bS1vbmx5LFxyXG4gICRtZWRpdW0tdXAsXHJcbiAgJGxhcmdlLW9ubHksXHJcbiAgJGxhcmdlLXVwLFxyXG4gICR4bGFyZ2Utb25seSxcclxuICAkeGxhcmdlLXVwLFxyXG4gICR4eGxhcmdlLW9ubHksXHJcbiAgJHh4bGFyZ2UtdXA7XHJcblxyXG4vLyBHZW5lcmF0ZXMgdGV4dCBhbGlnbiBhbmQganVzdGlmeSBjbGFzc2VzXHJcbkBtaXhpbiBhbGlnbi1jbGFzc2Vze1xyXG4gIC50ZXh0LWxlZnQgICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cclxuICAudGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxyXG4gIC50ZXh0LWNlbnRlciAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxyXG4gIC50ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGFsaWduLWNsYXNzLW5hbWVzKSB7XHJcbiAgICBAbWVkaWEgI3sobnRoKCRhbGlnbi1jbGFzcy1icmVha3BvaW50cywgJGkpKX0ge1xyXG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XHJcbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LXJpZ2h0ICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XHJcbiAgICAgIC4jeyhudGgoJGFsaWduLWNsYXNzLW5hbWVzLCAkaSkpfS10ZXh0LWNlbnRlciAgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxyXG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBUeXBvZ3JhcGh5IFBsYWNlaG9sZGVyc1xyXG4vL1xyXG5cclxuLy8gVGhlc2Ugd2lsbCB0aHJvdyBhIGRlcHJlY2F0aW9uIHdhcm5pbmcgaWYgdXNlZCB3aXRoaW4gYSBtZWRpYSBxdWVyeS5cclxuQG1peGluIGxlYWQge1xyXG4gIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyByZW0tY2FsYygzLjUpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbn1cclxuXHJcbkBtaXhpbiBzdWJoZWFkZXIge1xyXG4gIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmUtaGVpZ2h0O1xyXG4gIGNvbG9yOiAkc3ViaGVhZGVyLWZvbnQtY29sb3I7XHJcbiAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci10b3AtbWFyZ2luO1xyXG4gIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjtcclxufVxyXG5AaW5jbHVkZSBleHBvcnRzKFwidHlwZVwiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzIHtcclxuICAgIC8vIFJlc3BvbnNpdmUgVGV4dCBhbGlnbm1lbnRcclxuICAgIEBpbmNsdWRlIGFsaWduLWNsYXNzZXM7XHJcblxyXG4gICAgLyogVHlwb2dyYXBoeSByZXNldHMgKi9cclxuICAgIGRpdixcclxuICAgIGRsLFxyXG4gICAgZHQsXHJcbiAgICBkZCxcclxuICAgIHVsLFxyXG4gICAgb2wsXHJcbiAgICBsaSxcclxuICAgIGgxLFxyXG4gICAgaDIsXHJcbiAgICBoMyxcclxuICAgIGg0LFxyXG4gICAgaDUsXHJcbiAgICBoNixcclxuICAgIHByZSxcclxuICAgIGZvcm0sXHJcbiAgICBwLFxyXG4gICAgYmxvY2txdW90ZSxcclxuICAgIHRoLFxyXG4gICAgdGQge1xyXG4gICAgICBtYXJnaW46MDtcclxuICAgICAgcGFkZGluZzowO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIERlZmF1bHQgTGluayBTdHlsZXMgKi9cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGFuY2hvci1mb250LWNvbG9yO1xyXG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcclxuXHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI7XHJcbiAgICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcclxuICAgICAgICBcdHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWcgeyBib3JkZXI6bm9uZTsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIERlZmF1bHQgcGFyYWdyYXBoIHN0eWxlcyAqL1xyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xyXG4gICAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplO1xyXG4gICAgICBmb250LXdlaWdodDogJHBhcmFncmFwaC1mb250LXdlaWdodDtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuICAgICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XHJcblxyXG4gICAgICAmLmxlYWQgeyBAaW5jbHVkZSBsZWFkOyB9XHJcblxyXG4gICAgICAmIGFzaWRlIHtcclxuICAgICAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zaXplO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIERlZmF1bHQgaGVhZGVyIHN0eWxlcyAqL1xyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgICAgIGNvbG9yOiAkaGVhZGVyLWZvbnQtY29sb3I7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5lLWhlaWdodDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1ib3R0b20tbWFyZ2luO1xyXG4gICAgICBtYXJnaW4tdG9wOiAkaGVhZGVyLXRvcC1tYXJnaW47XHJcbiAgICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xyXG5cclxuICAgICAgc21hbGwge1xyXG4gICAgICAgIGNvbG9yOiAkc21hbGwtZm9udC1jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZSAtICRoMS1mb250LXJlZHVjdGlvbjsgfVxyXG4gICAgaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemUgLSAkaDItZm9udC1yZWR1Y3Rpb247IH1cclxuICAgIGgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplIC0gJGgzLWZvbnQtcmVkdWN0aW9uOyB9XHJcbiAgICBoNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZSAtICRoNC1mb250LXJlZHVjdGlvbjsgfVxyXG4gICAgaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemUgLSAkaDUtZm9udC1yZWR1Y3Rpb247IH1cclxuICAgIGg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplIC0gJGg2LWZvbnQtcmVkdWN0aW9uOyB9XHJcblxyXG4gICAgLnN1YmhlYWRlciB7IEBpbmNsdWRlIHN1YmhlYWRlcjsgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgYm9yZGVyOiAkaHItYm9yZGVyLXN0eWxlICRoci1ib3JkZXItY29sb3I7XHJcbiAgICAgIGJvcmRlci13aWR0aDogJGhyLWJvcmRlci13aWR0aCAwIDA7XHJcbiAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbjogJGhyLW1hcmdpbiAwICgkaHItbWFyZ2luIC0gcmVtLWNhbGMoJGhyLWJvcmRlci13aWR0aCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEhlbHBmdWwgVHlwb2dyYXBoeSBEZWZhdWx0cyAqL1xyXG4gICAgZW0sXHJcbiAgICBpIHtcclxuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICBzdHJvbmcsXHJcbiAgICBiIHtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICBzbWFsbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29kZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvZGUtYm9yZGVyLWNvbG9yO1xyXG4gICAgICBib3JkZXItc3R5bGU6ICRjb2RlLWJvcmRlci1zdHlsZTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAkY29kZS1ib3JkZXItc2l6ZTtcclxuICAgICAgY29sb3I6ICRjb2RlLWNvbG9yO1xyXG4gICAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcclxuICAgICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcclxuICAgIH1cclxuXHJcbiAgICAvKiBMaXN0cyAqL1xyXG4gICAgdWwsXHJcbiAgICBvbCxcclxuICAgIGRsIHtcclxuICAgICAgZm9udC1mYW1pbHk6ICRsaXN0LWZvbnQtZmFtaWx5O1xyXG4gICAgICBmb250LXNpemU6ICRsaXN0LWZvbnQtc2l6ZTtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47XHJcbiAgICAgICYubm8tYnVsbGV0IHtcclxuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICB1bCxcclxuICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIFVub3JkZXJlZCBMaXN0cyAqL1xyXG4gICAgdWwge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgdWwsXHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5zcXVhcmUsXHJcbiAgICAgICYuY2lyY2xlLFxyXG4gICAgICAmLmRpc2Mge1xyXG4gICAgICAgIGxpIHVsIHsgbGlzdC1zdHlsZTogaW5oZXJpdDsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnNxdWFyZSB7IGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlOyBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LXNpZGUtbWFyZ2luO31cclxuICAgICAgJi5jaXJjbGUgeyBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XHJcbiAgICAgICYuZGlzYyB7IGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XHJcbiAgICAgICYubm8tYnVsbGV0IHsgbGlzdC1zdHlsZTogbm9uZTsgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIE9yZGVyZWQgTGlzdHMgKi9cclxuICAgIG9sIHtcclxuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgdWwsXHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBEZWZpbml0aW9uIExpc3RzICovXHJcbiAgICBkbCB7XHJcbiAgICAgIGR0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgZGQgeyBtYXJnaW4tYm90dG9tOiAkZGVmaW5pdGlvbi1saXN0LW1hcmdpbi1ib3R0b207IH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBBYmJyZXZpYXRpb25zICovXHJcbiAgICBhYmJyLFxyXG4gICAgYWNyb255bSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgY3Vyc29yOiAkY3Vyc29yLWhlbHAtdmFsdWU7XHJcbiAgICB9XHJcbiAgICBhYmJyIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICZbdGl0bGVdIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkYWNyb255bS11bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBCbG9ja3F1b3RlcyAqL1xyXG4gICAgYmxvY2txdW90ZSB7XHJcbiAgICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuICAgICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcclxuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XHJcblxyXG4gICAgICBjaXRlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1zaXplO1xyXG4gICAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhLFxyXG4gICAgICAgIGE6dmlzaXRlZCB7XHJcbiAgICAgICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYmxvY2txdW90ZSxcclxuICAgIGJsb2NrcXVvdGUgcCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xyXG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtZm9udC1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAvKiBNaWNyb2Zvcm1hdHMgKi9cclxuICAgIC52Y2FyZCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luOiAkbWljcm9mb3JtYXQtbWFyZ2luO1xyXG4gICAgICBib3JkZXI6ICRtaWNyb2Zvcm1hdC1ib3JkZXItd2lkdGggJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZSAkbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtcGFkZGluZztcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgLmZuIHtcclxuICAgICAgICBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtc2l6ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC52ZXZlbnQge1xyXG4gICAgICAuc3VtbWFyeSB7IGZvbnQtd2VpZ2h0OiAkbWljcm9mb3JtYXQtc3VtbWFyeS1mb250LXdlaWdodDsgfVxyXG5cclxuICAgICAgYWJiciB7XHJcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb247XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtYWJici1wYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7IGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0OyB9XHJcbiAgICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XHJcbiAgICAgIGgyIHsgZm9udC1zaXplOiAkaDItZm9udC1zaXplOyB9XHJcbiAgICAgIGgzIHsgZm9udC1zaXplOiAkaDMtZm9udC1zaXplOyB9XHJcbiAgICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XHJcbiAgICAgIGg1IHsgZm9udC1zaXplOiAkaDUtZm9udC1zaXplOyB9XHJcbiAgICAgIGg2IHsgZm9udC1zaXplOiAkaDYtZm9udC1zaXplOyB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnZ2xvYmFsJztcclxuQGltcG9ydCAndHlwZSc7XHJcblxyXG4vLyBPZmYgQ2FudmFzIFRhYiBCYXIgVmFyaWFibGVzXHJcbiRpbmNsdWRlLWh0bWwtb2ZmLWNhbnZhcy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XHJcblxyXG4kdGFiYmFyLWJnOiAkb2lsICFkZWZhdWx0O1xyXG4kdGFiYmFyLWhlaWdodDogcmVtLWNhbGMoNDUpICFkZWZhdWx0O1xyXG4kdGFiYmFyLWljb24td2lkdGg6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xyXG4kdGFiYmFyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodCAhZGVmYXVsdDtcclxuJHRhYmJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kdGFiYmFyLW1pZGRsZS1wYWRkaW5nOiAwIHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcclxuXHJcbi8vIE9mZiBDYW52YXMgRGl2aWRlciBTdHlsZXNcclxuJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTUwJSkgIWRlZmF1bHQ7XHJcbiR0YWJiYXItcmlnaHQtc2VjdGlvbi1ib3JkZXI6ICR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjtcclxuXHJcblxyXG4vLyBPZmYgQ2FudmFzIFRhYiBCYXIgSGVhZGVyc1xyXG4kdGFiYmFyLWhlYWRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG4kdGFiYmFyLWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kdGFiYmFyLWhlYWRlci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XHJcbiR0YWJiYXItaGVhZGVyLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuXHJcbi8vIE9mZiBDYW52YXMgTWVudSBWYXJpYWJsZXNcclxuJG9mZi1jYW52YXMtd2lkdGg6IHJlbS1jYWxjKDI1MCkgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWJnOiAkb2lsICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWJnLWFjdGl2ZTogc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBPZmYgQ2FudmFzIE1lbnUgTGlzdCBWYXJpYWJsZXNcclxuJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZzogLjNyZW0gcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1sYWJlbC1iZzogJHR1YXRhcmEgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3A6IDFweCBzb2xpZCBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1sYWJlbC1iZywgJGxpZ2h0bmVzczogMTQlKSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTogbm9uZSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGFiZWwtbWFyZ2luOjAgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxpbmstcGFkZGluZzogcmVtLWNhbGMoMTAsIDE1KSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGluay1jb2xvcjogcmdiYSgkd2hpdGUsIC43KSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGluay1ib3JkZXItYm90dG9tOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmcsICRsaWdodG5lc3M6IC0yNSUpICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iYWNrLWJnOiAjNDQ0ICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci10b3A6ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3AgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWJhY2stYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1iZzogc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmFjay1iZywgJGxpZ2h0bmVzczogLTMwJSkgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWxhYmVsLWJnLCAkbGlnaHRuZXNzOiAxNCUpICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci1ib3R0b206IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLyBPZmYgQ2FudmFzIE1lbnUgSWNvbiBWYXJpYWJsZXNcclxuJHRhYmJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHRhYmJhci1tZW51LWljb24taG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcclxuXHJcbiR0YWJiYXItbWVudS1pY29uLXRleHQtaW5kZW50OiByZW0tY2FsYygzNSkgIWRlZmF1bHQ7XHJcbiR0YWJiYXItbWVudS1pY29uLXdpZHRoOiAkdGFiYmFyLWljb24td2lkdGggIWRlZmF1bHQ7XHJcbiR0YWJiYXItbWVudS1pY29uLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XHJcbiR0YWJiYXItbWVudS1pY29uLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcblxyXG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XHJcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdDogZmFsc2UgIWRlZmF1bHQ7XHJcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tdG9wOiBmYWxzZSAhZGVmYXVsdDtcclxuJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3M6IDFweCAhZGVmYXVsdDtcclxuJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXA6IDZweCAhZGVmYXVsdDtcclxuXHJcbi8vIE9mZiBDYW52YXMgQmFjay1MaW5rIE92ZXJsYXlcclxuJG9mZi1jYW52YXMtb3ZlcmxheS10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2UgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLW92ZXJsYXktY3Vyc29yOiBwb2ludGVyICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgkYmxhY2ssIC41KSwgNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIC4yKSAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcclxuXHJcbi8vIFRyYW5zaXRpb24gVmFyaWFibGVzXHJcbiRtZW51LXNsaWRlOiBcInRyYW5zZm9ybSA1MDBtcyBlYXNlXCIgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gTUlYSU5TXHJcbi8vIFJlbW92ZSB0cmFuc2l0aW9uIGZsaWNrZXIgb24gcGhvbmVzXHJcbkBtaXhpbiBraWxsLWZsaWNrZXIge1xyXG4gIC8vIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDB4KTtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gQmFzaWMgcHJvcGVydGllcyBmb3IgdGhlIGNvbnRlbnQgd3JhcHNcclxuQG1peGluIHdyYXAtYmFzZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eikge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcclxuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkdHgsICR0eSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eilcclxufVxyXG5cclxuLy8gYmFzaWMgc3R5bGVzIGZvciBvZmYtY2FudmFzIG1lbnUgY29udGFpbmVyXHJcbkBtaXhpbiBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uKSB7XHJcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xyXG4gICogeyBAaW5jbHVkZSBraWxsLWZsaWNrZXI7IH1cclxuICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZztcclxuICBib3R0b206IDA7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UgMHM7XHJcbiAgd2lkdGg6ICRvZmYtY2FudmFzLXdpZHRoO1xyXG4gIHotaW5kZXg6IDEwMDE7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7XHJcbiAgICByaWdodDogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE9GRiBDQU5WQVMgV1JBUFxyXG4vLyBXcmFwIHZpc2libGUgY29udGVudCBhbmQgcHJldmVudCBzY3JvbGwgYmFyc1xyXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwIHtcclxuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XHJcbiAgQGluY2x1ZGUgd3JhcC1iYXNlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgJi5tb3ZlLXJpZ2h0LFxyXG4gICYubW92ZS1sZWZ0IHsgbWluLWhlaWdodDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XHJcbn1cclxuXHJcbi8vIElOTkVSIFdSQVBcclxuLy8gTWFpbiBjb250ZW50IGFyZWEgdGhhdCBtb3ZlcyB0byByZXZlYWwgdGhlIG9mZi1jYW52YXMgbmF2XHJcbkBtaXhpbiBpbm5lci13cmFwIHtcclxuICAvLyBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XHJcbiAgLy8gcmVtb3ZlZCBmb3Igbm93IHRpbGwgY2hyb21lIGZpeGVzIGJhY2tmYWNlIGlzc3VlXHJcbiAgQGluY2x1ZGUgd3JhcC1iYXNlO1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC0jeyRtZW51LXNsaWRlfTtcclxuICAtbW96LXRyYW5zaXRpb246IC1tb3otI3skbWVudS1zbGlkZX07XHJcbiAgLW1zLXRyYW5zaXRpb246IC1tcy0jeyRtZW51LXNsaWRlfTtcclxuICAtby10cmFuc2l0aW9uOiAtby0jeyRtZW51LXNsaWRlfTtcclxuICB0cmFuc2l0aW9uOiAjeyRtZW51LXNsaWRlfTtcclxufVxyXG5cclxuLy8gVEFCIEJBUlxyXG4vLyBUaGlzIGlzIHRoZSB0YWIgYmFyIGJhc2VcclxuQG1peGluIHRhYi1iYXItYmFzZSB7XHJcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xyXG5cclxuICAvLyBiYXNlIHN0eWxlc1xyXG4gIGJhY2tncm91bmQ6ICR0YWJiYXItYmc7XHJcbiAgY29sb3I6ICR0YWJiYXItY29sb3I7XHJcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcclxuICBsaW5lLWhlaWdodDogJHRhYmJhci1saW5lLWhlaWdodDtcclxuXHJcbiAgLy8gbWFrZSBzdXJlIGl0J3MgYmVsb3cgdGhlIC5leGl0LW9mZi1jYW52YXMgbGlua1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAvLyB6LWluZGV4OiA5OTk7XHJcblxyXG4gIC8vIFR5cG9ncmFwaHlcclxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICAgIGNvbG9yOiAkdGFiYmFyLWhlYWRlci1jb2xvcjtcclxuICAgIGZvbnQtd2VpZ2h0OiAkdGFiYmFyLWhlYWRlci13ZWlnaHQ7XHJcbiAgICBsaW5lLWhlaWdodDogJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ7XHJcbiAgICBtYXJnaW46ICR0YWJiYXItaGVhZGVyLW1hcmdpbjtcclxuICB9XHJcbiAgaDEsIGgyLCBoMywgaDQgeyBmb250LXNpemU6ICRoNS1mb250LXNpemU7IH1cclxufVxyXG5cclxuLy8gU01BTEwgU0VDVElPTlNcclxuLy8gVGhlc2UgYXJlIHNtYWxsIHNlY3Rpb25zIG9uIHRoZSBsZWZ0IGFuZCByaWdodCB0aGF0IGNvbnRhaW4gdGhlIG9mZi1jYW52YXMgdG9nZ2xlIGJ1dHRvbnM7XHJcbkBtaXhpbiB0YWJiYXItc21hbGwtc2VjdGlvbigkcG9zaXRpb24pIHtcclxuICBoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6ICR0YWJiYXItaWNvbi13aWR0aDtcclxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XHJcbiAgICAvLyBib3gtc2hhZG93OiAxcHggMCAwIHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IDEzJSk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gIH1cclxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcclxuICAgIGJvcmRlci1sZWZ0OiAkdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyO1xyXG4gICAgLy8gYm94LXNoYWRvdzogLTFweCAwIDAgc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTUwJSk7XHJcbiAgICByaWdodDowO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHRhYi1iYXItc2VjdGlvbiB7XHJcbiAgaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcclxuICBwYWRkaW5nOiAkdGFiYmFyLW1pZGRsZS1wYWRkaW5nO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdG9wOiAwO1xyXG4gICAgJi5sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG4gICAgJi5yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcblxyXG5cclxuICAvLyBzdGlsbCBuZWVkIHRvIG1ha2UgdGhlc2Ugbm9uLXByZXNlbnRhdGlvbmFsXHJcbiAgJi5sZWZ0IHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogJHRhYmJhci1pY29uLXdpZHRoO1xyXG4gIH1cclxuICAmLnJpZ2h0IHtcclxuICAgIGxlZnQ6ICR0YWJiYXItaWNvbi13aWR0aDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gIH1cclxuICAmLm1pZGRsZSB7XHJcbiAgICBsZWZ0OiAkdGFiYmFyLWljb24td2lkdGg7XHJcbiAgICByaWdodDogJHRhYmJhci1pY29uLXdpZHRoO1xyXG4gIH1cclxufVxyXG5cclxuLy8gT0ZGIENBTlZBUyBMSVNUXHJcbi8vIFRoaXMgaXMgdGhlIGxpc3Qgb2YgbGlua3MgaW4gdGhlIG9mZi1jYW52YXMgbWVudVxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1saXN0IHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgbWFyZ2luOjA7XHJcbiAgcGFkZGluZzowO1xyXG5cclxuICBsaSB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWxhYmVsLWJnO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tO1xyXG4gICAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wO1xyXG4gICAgICBjb2xvcjogJG9mZi1jYW52YXMtbGFiZWwtY29sb3I7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXNpemU6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtc2l6ZTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRvZmYtY2FudmFzLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBtYXJnaW46ICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjtcclxuICAgICAgcGFkZGluZzogJG9mZi1jYW52YXMtbGFiZWwtcGFkZGluZztcclxuICAgICAgdGV4dC10cmFuc2Zvcm06ICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTtcclxuICAgICAgY29sb3I6ICRvZmYtY2FudmFzLWxpbmstY29sb3I7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1saW5rLXBhZGRpbmc7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmctaG92ZXI7XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnLWFjdGl2ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIEJBQ0sgTElOS1xyXG4vLyBUaGlzIGlzIGFuIG92ZXJsYXkgdGhhdCwgd2hlbiBjbGlja2VkLCB3aWxsIHRvZ2dsZSBvZmYgdGhlIG9mZiBjYW52YXMgbWVudVxyXG5AbWl4aW4gYmFjay1saW5rIHtcclxuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XHJcblxyXG4gIGJveC1zaGFkb3c6ICRvZmYtY2FudmFzLW92ZXJsYXktYm94LXNoYWRvdztcclxuICBjdXJzb3I6ICRvZmYtY2FudmFzLW92ZXJsYXktY3Vyc29yO1xyXG4gIHRyYW5zaXRpb246ICRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjtcclxuXHJcbiAgLy8gZmlsbCB0aGUgc2NyZWVuXHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xyXG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDtcclxuICBib3R0b206IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbGVmdDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHotaW5kZXg6IDEwMDI7XHJcblxyXG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL1xyXG4vLyBPZmYtQ2FudmFzIFN1Ym1lbnUgQ2xhc3Nlc1xyXG4vL1xyXG5AbWl4aW4gb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbikge1xyXG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcclxuICAqIHsgQGluY2x1ZGUga2lsbC1mbGlja2VyOyB9XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnO1xyXG4gIGJvdHRvbTogMDtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICBtYXJnaW46IDA7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogJG9mZi1jYW52YXMtd2lkdGg7XHJcbiAgei1pbmRleDogMTAwMjtcclxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwwLDApO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgfVxyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC0jeyRtZW51LXNsaWRlfTtcclxuICAtbW96LXRyYW5zaXRpb246IC1tb3otI3skbWVudS1zbGlkZX07XHJcbiAgLW1zLXRyYW5zaXRpb246IC1tcy0jeyRtZW51LXNsaWRlfTtcclxuICAtby10cmFuc2l0aW9uOiAtby0jeyRtZW51LXNsaWRlfTtcclxuICB0cmFuc2l0aW9uOiAjeyRtZW51LXNsaWRlfTtcclxuXHJcbiAgLy9iYWNrIGJ1dHRvbiBzdHlsZSBsaWtlIGxhYmVsXHJcbiAgLmJhY2sgPiBhIHtcclxuICAgIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJhY2stYmc7XHJcbiAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b207XHJcbiAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci10b3A7XHJcbiAgICBjb2xvcjogJG9mZi1jYW52YXMtbGFiZWwtY29sb3I7XHJcbiAgICBmb250LXdlaWdodDogJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRvZmYtY2FudmFzLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJnO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci1ib3R0b207XHJcbiAgICAgIGJvcmRlci10b3A6ICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLXRvcDtcclxuICAgIH1cclxuXHJcbiAgICBtYXJnaW46ICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjtcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xyXG4gICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XHJcbiAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vL0xlZnQgZG91YmxlIGFuZ2xlIHF1b3RlIG9yIFJpZ2h0IGRvdWJsZSBhbmdsZSBxdW90ZSBjaGFyc1xyXG5AbWl4aW4gaWNvbi1kb3VibGUtYXJyb3dzICgkcG9zaXRpb24pIHtcclxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xyXG4gICAgY29udGVudDogXCJcXEFCXCI7XHJcbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcclxuICAgIGNvbnRlbnQ6IFwiXFxCQlwiO1xyXG4gICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcblxyXG4vL1xyXG4vLyBERUZBVUxUIENMQVNTRVNcclxuLy9cclxuQGluY2x1ZGUgZXhwb3J0cyhcIm9mZmNhbnZhc1wiKSB7XHJcbiAgQGlmICRpbmNsdWRlLWh0bWwtb2ZmLWNhbnZhcy1jbGFzc2VzIHtcclxuXHJcbiAgICAub2ZmLWNhbnZhcy13cmFwIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwOyB9XHJcbiAgICAuaW5uZXItd3JhcCB7IEBpbmNsdWRlIGlubmVyLXdyYXA7IH1cclxuXHJcbiAgICAudGFiLWJhciB7IEBpbmNsdWRlIHRhYi1iYXItYmFzZTsgfVxyXG5cclxuICAgIC5sZWZ0LXNtYWxsIHsgQGluY2x1ZGUgdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uOiBsZWZ0KTsgfVxyXG4gICAgLnJpZ2h0LXNtYWxsIHsgQGluY2x1ZGUgdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uOiByaWdodCk7IH1cclxuXHJcbiAgICAudGFiLWJhci1zZWN0aW9uIHsgQGluY2x1ZGUgdGFiLWJhci1zZWN0aW9uOyB9XHJcblxyXG4gICAgLy8gTUVOVSBCVVRUT05cclxuICAgIC8vIFRoaXMgaXMgYSBsaXR0bGUgYm9udXMuIFlvdSBkb24ndCBuZWVkIGl0IGZvciBvZmYgY2FudmFzIHRvIHdvcmsuIE1peGlucyB0byBiZSB3cml0dGVuIGluIHRoZSBmdXR1cmUuXHJcbiAgICAudGFiLWJhciAubWVudS1pY29uIHtcclxuICAgICAgY29sb3I6ICR0YWJiYXItbWVudS1pY29uLWNvbG9yO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAkdGFiYmFyLW1lbnUtaWNvbi1oZWlnaHQ7XHJcbiAgICAgIHBhZGRpbmc6ICR0YWJiYXItbWVudS1pY29uLXBhZGRpbmc7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdGV4dC1pbmRlbnQ6ICR0YWJiYXItbWVudS1pY29uLXRleHQtaW5kZW50O1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgd2lkdGg6ICR0YWJiYXItbWVudS1pY29uLXdpZHRoO1xyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgZm9yIHRoZSBoYW1idXJnZXIgbWVudS1pY29uXHJcbiAgICAgIC8vXHJcbiAgICAgIC8vIEFyZ3VtZW50cyBhcyBmb2xsb3dzOiAoJHdpZHRoLCAkbGVmdCwgJHRvcCwgJHRoaWNrbmVzcywgJGdhcCwgJGNvbG9yLCAkaG92ZXItY29sb3IpXHJcbiAgICAgIC8vICR3aWR0aCAtIFdpZHRoIG9mIGhhbWJ1cmdlciBpY29uIGluIHJlbSBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoLlxyXG4gICAgICAvLyAkbGVmdCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbSBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ9IEZhbHNlXHJcbiAgICAgIC8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtIERlZmF1bHQ6ID0gRmFsc2VcclxuICAgICAgLy8gJHRoaWNrbmVzcyAtIHRoaWNrbmVzcyBvZiBsaW5lcyBpbiBoYW1idXJnZXIgaWNvbiwgc2V0IHZhbHVlIGluIHB4IERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzID0gMXB4XHJcbiAgICAgIC8vICRnYXAgLSBzcGFjaW5nIGJldHdlZW4gdGhlIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHggRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXAgPSA2cHhcclxuICAgICAgLy8gJGNvbG9yIC0gaWNvbiBjb2xvciBEZWZhdWx0OiAkdGFiYmFyLW1lbnUtaWNvbi1jb2xvclxyXG4gICAgICAvLyAkaG92ZXItY29sb3IgLSBpY29uIGNvbG9yIHdoZW4gaG92ZXJlZCBEZWZhdWx0OiAkdGFiYmFyLW1lbnUtaWNvbi1ob3ZlclxyXG4gICAgICAvLyAkb2ZmY2FudmFzIC0gU2V0IHRvIHRydWVcclxuICAgICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGgsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdCwgJHRhYmJhci1oYW1idXJnZXItaWNvbi10b3AsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdGhpY2tuZXNzLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWdhcCwgJHRhYmJhci1tZW51LWljb24tY29sb3IsICR0YWJiYXItbWVudS1pY29uLWhvdmVyLCB0cnVlKVxyXG4gICAgfVxyXG5cclxuICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb246IGxlZnQpOyB9XHJcbiAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tZW51KCRwb3NpdGlvbjogcmlnaHQpOyB9XHJcblxyXG4gICAgdWwub2ZmLWNhbnZhcy1saXN0IHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1saXN0OyB9XHJcblxyXG5cclxuICAgIC8vIEFOSU1BVElPTiBDTEFTU0VTXHJcbiAgICAvLyBUaGVzZSBjbGFzc2VzIGFyZSBhZGRlZCB3aXRoIEpTIGFuZCB0cmlnZ2VyIHRoZSBhY3R1YWwgYW5pbWF0aW9uLlxyXG4gICAgLm1vdmUtcmlnaHQge1xyXG4gICAgICA+IC5pbm5lci13cmFwIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgkb2ZmLWNhbnZhcy13aWR0aCwwLDApO1xyXG4gICAgICB9XHJcbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7fVxyXG4gICAgfVxyXG5cclxuICAgIC5tb3ZlLWxlZnQge1xyXG4gICAgICA+IC5pbm5lci13cmFwIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtKCRvZmYtY2FudmFzLXdpZHRoKSwwLDApO1xyXG5cclxuICAgICAgfVxyXG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XHJcbiAgICB9XHJcbiAgICAub2ZmY2FudmFzLW92ZXJsYXAge1xyXG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUsIC5yaWdodC1vZmYtY2FudmFzLW1lbnUge1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB6LWluZGV4OiAxMDAzO1xyXG4gICAgICB9XHJcbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cclxuICAgIH1cclxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC1sZWZ0IHtcclxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDM7XHJcbiAgICAgIH1cclxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxyXG4gICAgfVxyXG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0IHtcclxuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgei1pbmRleDogMTAwMztcclxuICAgICAgfVxyXG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT2xkZXIgYnJvd3NlcnNcclxuICAgIC5uby1jc3N0cmFuc2Zvcm1zIHtcclxuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHsgbGVmdDogLSgkb2ZmLWNhbnZhcy13aWR0aCk7IH1cclxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB7IHJpZ2h0OiAtKCRvZmYtY2FudmFzLXdpZHRoKTsgfVxyXG5cclxuICAgICAgLm1vdmUtbGVmdCA+IC5pbm5lci13cmFwIHsgcmlnaHQ6ICRvZmYtY2FudmFzLXdpZHRoOyB9XHJcbiAgICAgIC5tb3ZlLXJpZ2h0ID4gLmlubmVyLXdyYXAgeyBsZWZ0OiAkb2ZmLWNhbnZhcy13aWR0aDsgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sZWZ0LXN1Ym1lbnUge1xyXG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiBsZWZ0KTtcclxuICAgICAgJi5tb3ZlLXJpZ2h0LCAmLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0LCAmLm9mZmNhbnZhcy1vdmVybGFwIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwJSwwLDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJpZ2h0LXN1Ym1lbnUge1xyXG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiByaWdodCk7XHJcbiAgICAgICYubW92ZS1sZWZ0LCAmLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQsICYub2ZmY2FudmFzLW92ZXJsYXAge1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAlLDAsMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XHJcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XHJcbiAgICAgIH1cclxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmFmdGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xyXG4gICAgICB9XHJcbiAgICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgdWwub2ZmLWNhbnZhcy1saXN0IGxpLmhhcy1zdWJtZW51ID4gYTpiZWZvcmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBpbXBvcnQgJ2dsb2JhbCc7XHJcblxyXG4vL1xyXG4vLyBGb3VuZGF0aW9uIFZpc2liaWxpdHkgQ2xhc3Nlc1xyXG4vL1xyXG4kaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xyXG4kaW5jbHVkZS1hY2Nlc3NpYmlsaXR5LWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XHJcbiRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcclxuJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vXHJcbi8vIE1lZGlhIENsYXNzIE5hbWVzXHJcbi8vXHJcbi8vIFZpc2liaWxpdHkgQnJlYWtwb2ludHNcclxuJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplczpcclxuICBzbWFsbCxcclxuICBtZWRpdW0sXHJcbiAgbGFyZ2UsXHJcbiAgeGxhcmdlLFxyXG4gIHh4bGFyZ2U7XHJcblxyXG4kdmlzaWJpbGl0eS1icmVha3BvaW50LXF1ZXJpZXM6XHJcbiAgdW5xdW90ZSgkc21hbGwtdXApLFxyXG4gIHVucXVvdGUoJG1lZGl1bS11cCksXHJcbiAgdW5xdW90ZSgkbGFyZ2UtdXApLFxyXG4gIHVucXVvdGUoJHhsYXJnZS11cCksXHJcbiAgdW5xdW90ZSgkeHhsYXJnZS11cCk7XHJcblxyXG5AbWl4aW4gdmlzaWJpbGl0eS1sb29wIHtcclxuICBAZWFjaCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XHJcbiAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiAoKTtcclxuXHJcbiAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6ICgpO1xyXG5cclxuICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6ICgpO1xyXG4gICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiAoKTtcclxuXHJcbiAgICBAZWFjaCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XHJcbiAgICAgIEBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpIDwgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XHJcbiAgICAgICAgLy8gU21hbGxlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxyXG5cclxuICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuXHJcbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XHJcbiAgICAgICAgLy8gSW5jbHVkZSAuc2hvdy9oaWRlLWZvci1bc2l6ZV0gYW5kIC5zaG93L2hpZGUtZm9yLVtzaXplXS1kb3duIGNsYXNzZXNcclxuICAgICAgICAvLyBmb3Igc21hbGwsIG1lZGl1bSwgYW5kIGxhcmdlIGJyZWFrcG9pbnRzIG9ubHlcclxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1pbmhlcml0LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1ub25lLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS12aXNpYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWNlbGwtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93biwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSBAZWxzZSBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpID4gaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XHJcbiAgICAgICAgLy8gTGFyZ2VyIHRoYW4gY3VycmVudCBicmVha3BvaW50XHJcblxyXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGFibGUuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0aGVhZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3Rib2R5LmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndHIuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG5cclxuICAgICAgICAvLyBGb3VuZGF0aW9uIDQgY29tcGF0aWJpbGl0eTpcclxuICAgICAgICAvLyBJbmNsdWRlIC5zaG93L2hpZGUtZm9yLVtzaXplXSBhbmQgLnNob3cvaGlkZS1mb3ItW3NpemVdLWRvd24gY2xhc3Nlc1xyXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxyXG4gICAgICAgIEBpZiAkaW5jbHVkZS1sZWdhY3ktdmlzaWJpbGl0eS1jbGFzc2VzIGFuZCBpbmRleCgoc21hbGwsIG1lZGl1bSwgbGFyZ2UpLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpICE9IGZhbHNlIHtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBDdXJyZW50IGJyZWFrcG9pbnRcclxuXHJcbiAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXHJcbiAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xyXG4gICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAsIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcclxuICAgICAgICApLCBjb21tYSk7XHJcblxyXG4gICAgICAgIC8vIEZvdW5kYXRpb24gNCBjb21wYXRpYmlsaXR5OlxyXG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXHJcbiAgICAgICAgLy8gZm9yIHNtYWxsLCBtZWRpdW0sIGFuZCBsYXJnZSBicmVha3BvaW50cyBvbmx5XHJcbiAgICAgICAgQGlmICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXMgYW5kIGluZGV4KChzbWFsbCwgbWVkaXVtLCBsYXJnZSksICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgIT0gZmFsc2Uge1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGFibGUuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxyXG4gICAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0aGVhZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcclxuICAgICAgICAgICksIGNvbW1hKTtcclxuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRib2R5LnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcclxuICAgICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdHIuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXHJcbiAgICAgICAgICApLCBjb21tYSk7XHJcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXHJcbiAgICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24sIHRkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xyXG4gICAgICAgICAgKSwgY29tbWEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qICN7JGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50fSBkaXNwbGF5cyAqL1xyXG4gICAgQG1lZGlhICN7bnRoKCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtcXVlcmllcywgaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSl9IHtcclxuICAgICAgI3skdmlzaWJpbGl0eS1pbmhlcml0LWxpc3R9IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgI3skdmlzaWJpbGl0eS1ub25lLWxpc3R9IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgQGlmICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XHJcbiAgICAgICAgI3skdmlzaWJpbGl0eS12aXNpYmxlLWxpc3R9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3skdmlzaWJpbGl0eS1oaWRkZW4tbGlzdH0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAkaW5jbHVkZS10YWJsZS12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xyXG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtbGlzdH0ge1xyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdH0ge1xyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3R9IHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0fSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0fSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBleHBvcnRzKFwidmlzaWJpbGl0eVwiKXtcclxuICBAaWYgJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xyXG5cclxuICBAaW5jbHVkZSB2aXNpYmlsaXR5LWxvb3A7XHJcblxyXG4gIC8qIE9yaWVudGF0aW9uIHRhcmdldGluZyAqL1xyXG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XHJcbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcclxuICAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXHJcbiAgdGFibGUge1xyXG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxyXG4gIH1cclxuICB0aGVhZCB7XHJcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcclxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gIH1cclxuICB0Ym9keSB7XHJcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcclxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gIH1cclxuICB0ciB7XHJcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcclxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxyXG4gIH1cclxuICB0ZCxcclxuICB0aCB7XHJcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcclxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcclxuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cclxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cclxuICAgIHRhYmxlIHtcclxuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgICB0aGVhZCB7XHJcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxyXG4gICAgICAmLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICAgIHRib2R5IHtcclxuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gICAgdHIge1xyXG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcclxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgICB0ZCxcclxuICAgIHRoIHtcclxuICAgICAgJi5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAjeyRwb3J0cmFpdH0ge1xyXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0LFxyXG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxyXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0LFxyXG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xyXG4gICAgdGFibGUge1xyXG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxyXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICAgIHRoZWFkIHtcclxuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcclxuICAgICAgJi5oaWRlLWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gICAgdGJvZHkge1xyXG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxyXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgICB9XHJcbiAgICB0ciB7XHJcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXHJcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICAgIHRkLFxyXG4gICAgdGgge1xyXG4gICAgICAmLnNob3ctZm9yLXBvcnRyYWl0LFxyXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXHJcbiAgLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XHJcbiAgLnRvdWNoIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxyXG4gIC50b3VjaCAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXHJcbiAgdGFibGUuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgLnRvdWNoIHRhYmxlLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxyXG4gIHRoZWFkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAudG91Y2ggdGhlYWQuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gIHRib2R5LmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cclxuICAudG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gIHRyLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cclxuICAudG91Y2ggdHIuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxyXG4gIHRkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgLnRvdWNoIHRkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcbiAgdGguaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAudG91Y2ggdGguc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgLyogU2NyZWVuIHJlYWRlci1zcGVjaWZpYyBjbGFzc2VzICovXHJcbiAgLnNob3ctZm9yLXNyIHtcclxuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xyXG4gIH1cclxuICAuc2hvdy1vbi1mb2N1cyB7XHJcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcclxuXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBPbmx5IGluY2x1ZGUgdGhlc2Ugc3R5bGVzIGlmIHlvdSB3YW50IHRoZW0uXHJcbiAgICBAaWYgJGluY2x1ZGUtcHJpbnQtc3R5bGVzIHtcclxuICAgICAgLypcclxuICAgICAgICogUHJpbnQgc3R5bGVzLlxyXG4gICAgICAgKlxyXG4gICAgICAgKiBJbmxpbmVkIHRvIGF2b2lkIHJlcXVpcmVkIEhUVFAgY29ubmVjdGlvbjogd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cclxuICAgICAgICogQ3JlZGl0IHRvIFBhdWwgSXJpc2ggYW5kIEhUTUw1IEJvaWxlcnBsYXRlIChodG1sNWJvaWxlcnBsYXRlLmNvbSlcclxuICAgICAgKi9cclxuICAgICAgLnByaW50LW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuICAgICAgQG1lZGlhIHByaW50IHtcclxuICAgICAgICAqIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3MgKi9cclxuICAgICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuICAgICAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxyXG4gICAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgICAgIGEsXHJcbiAgICAgICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxyXG4gICAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxyXG5cclxuICAgICAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxyXG5cclxuICAgICAgICAvLyBEb24ndCBzaG93IGxpbmtzIGZvciBpbWFnZXMsIG9yIGphdmFzY3JpcHQvaW50ZXJuYWwgbGlua3NcclxuICAgICAgICAuaXIgYTphZnRlcixcclxuICAgICAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXHJcbiAgICAgICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB9XHJcblxyXG4gICAgICAgIHByZSxcclxuICAgICAgICBibG9ja3F1b3RlIHtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhbHVtaW51bTtcclxuICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvKiBoNWJwLmNvbS90ICovIH1cclxuXHJcbiAgICAgICAgdHIsXHJcbiAgICAgICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XHJcblxyXG4gICAgICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgICAgIEBwYWdlIHsgbWFyZ2luOiAuNWNtOyB9XHJcblxyXG4gICAgICAgIHAsXHJcbiAgICAgICAgaDIsXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgb3JwaGFuczogMztcclxuICAgICAgICAgIHdpZG93czogMztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyLFxyXG4gICAgICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cclxuXHJcbiAgICAgICAgLmhpZGUtb24tcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICAucHJpbnQtb25seSB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuICAgICAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAvKiBQcmludCB2aXNpYmlsaXR5ICovXHJcbiAgICBAbWVkaWEgcHJpbnQge1xyXG4gICAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4gICAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cclxuICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxyXG4gICAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cclxuICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgbm90IHByaW50e1xyXG4gICAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLypcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiBEZWZhdWx0IFdvcmRQcmVzcy1jZW50cmljIFN0eWxlc1xyXG5cclxuIFRoaXMgaXMgaW5jbHVkZWQgYXV0b21hdGljYWxseSBieSBhcHAuc2NzcyBhbmQgZWRpdG9yLmNzcyBhbmQgaXMgdXNlZCB0byBhZGQgc3VwcG9ydCBmb3IgYmFzaWMgV29yZFByZXNzIGNvbXBvbmVudHMuXHJcbiBHZW5lcmFsbHksIHlvdSBzaG91bGRuJ3QgbmVlZCB0byBtb2RpZnkgdGhpcyBmaWxlLlxyXG5cclxuIEluc3RlYWQsIGNyZWF0ZSB5b3VyIG93biBzdHlsZXMgaW4gX2N1c3RvbS5zY3NzIGFuZCwgaWYgbmVlZGVkLCByZW1vdmUgdGhlIFwid29yZHByZXNzXCIgaW1wb3J0IGZyb20gYXBwLnNjc3MgdG8gcHJldmVudFxyXG4gdGhpcyBmaWxlIGZyb20gYmVpbmcgbG9hZGVkLlxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiBET0NVTUVOVCBSSUdIVCBNQVJHSU4gRklYXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcbiNmcmFtZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gSU1BR0VTIENPUlJFQ1RJT05cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuLndwLWNhcHRpb24ge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKlxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gQUxJR05NRU5UXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcbi5hbGlnbmNlbnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuLmFsaWdubGVmdCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogMWVtO1xyXG59XHJcbi5hbGlnbnJpZ2h0IHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxZW07XHJcbn1cclxuXHJcbi8qXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiBGT1VOREFUSU9OIENPTVBBVElCSUxJVFlcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKi9cclxuLyogVGhpcyBoZWxwcyBlbnN1cmUgdGhhdCBGb3VuZGF0aW9uJ3Mgc3BlY2lhbCBcIi5zdGlja3lcIiBjbGFzcyB3aWxsIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgV1AgYWRtaW4gYmFyLiAqL1xyXG4uYWRtaW4tYmFyIC5zbmFwLXRvLXRvcC5maXhlZCB7XHJcbiAgICB0b3A6IDI4cHg7XHJcbn0iLCIvLyBCYXNpYyBkaXN0YW5jZSBvZiBzcGFjaW5nIHVzaW5nIHRoZSBuYW1pbmcgY29udmVudGlvbiBvZiBCb290c3RyYXAuXHJcblxyXG4kcG9zaXRpb25zOiAgICAgdG9wIGxlZnQgcmlnaHQgYm90dG9tO1xyXG4kbm8tc3BhY2U6ICAgICAgMHB4O1xyXG4keHMtc3BhY2U6ICAgICAgMTBweDtcclxuJHNtLXNwYWNlOiAgICAgIDIwcHg7XHJcbiRtZC1zcGFjZTogICAgICAzMHB4O1xyXG4kbGctc3BhY2U6ICAgICAgNDBweDtcclxuJHhsLXNwYWNlOiAgICAgIDUwcHg7XHJcblxyXG4vLyBHZW5lcmF0ZXMgYSBidW5jaCBvZiBzcGFjaW5ncyB1c2luZyBtYXJnaW5zXHJcbi8vIEV4YW1wbGUgb2Ygc3RhdGljIGNsYXNzZXM6IFwibm8tbWFyZ2luLXRvcFwiIFwibGctbWFyZ2luLWxlZnRcIiBcInNtLW1hcmdpbi10b3BcIlxyXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XHJcbiAgLm5vLW1hcmdpbi0jeyRwb3NpdGlvbn0geyBtYXJnaW4tI3skcG9zaXRpb259OiAkbm8tc3BhY2U7IH1cclxuICAueHMtbWFyZ2luLSN7JHBvc2l0aW9ufSB7IG1hcmdpbi0jeyRwb3NpdGlvbn06ICR4cy1zcGFjZTsgfVxyXG4gIC5zbS1tYXJnaW4tI3skcG9zaXRpb259IHsgbWFyZ2luLSN7JHBvc2l0aW9ufTogJHNtLXNwYWNlOyB9XHJcbiAgLm1kLW1hcmdpbi0jeyRwb3NpdGlvbn0geyBtYXJnaW4tI3skcG9zaXRpb259OiAkbWQtc3BhY2U7IH1cclxuICAubGctbWFyZ2luLSN7JHBvc2l0aW9ufSB7IG1hcmdpbi0jeyRwb3NpdGlvbn06ICRsZy1zcGFjZTsgfVxyXG4gIC54bC1tYXJnaW4tI3skcG9zaXRpb259IHsgbWFyZ2luLSN7JHBvc2l0aW9ufTogJHhsLXNwYWNlOyB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlcyBhIGJ1bmNoIG9mIHNwYWNpbmcgdXNpbmcgcGFkZGluZ3NcclxuLy8gRXhhbXBsZSBvZiBzdGF0aWMgY2xhc3NlczogXCJuby1wYWRkaW5nLXRvcFwiIFwibGctcGFkZGluZy1sZWZ0XCIgXCJzbS1wYWRkaW5nLXRvcFwiXHJcbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcclxuICAubm8tcGFkZGluZy0jeyRwb3NpdGlvbn0geyBwYWRkaW5nLSN7JHBvc2l0aW9ufTogJG5vLXNwYWNlOyB9XHJcbiAgLnhzLXBhZGRpbmctI3skcG9zaXRpb259IHsgcGFkZGluZy0jeyRwb3NpdGlvbn06ICR4cy1zcGFjZTsgfVxyXG4gIC5zbS1wYWRkaW5nLSN7JHBvc2l0aW9ufSB7IHBhZGRpbmctI3skcG9zaXRpb259OiAkc20tc3BhY2U7IH1cclxuICAubWQtcGFkZGluZy0jeyRwb3NpdGlvbn0geyBwYWRkaW5nLSN7JHBvc2l0aW9ufTogJG1kLXNwYWNlOyB9XHJcbiAgLmxnLXBhZGRpbmctI3skcG9zaXRpb259IHsgcGFkZGluZy0jeyRwb3NpdGlvbn06ICRsZy1zcGFjZTsgfVxyXG4gIC54bC1wYWRkaW5nLSN7JHBvc2l0aW9ufSB7IHBhZGRpbmctI3skcG9zaXRpb259OiAkeGwtc3BhY2U7IH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vKiFcclxuICogYW5pbWF0ZS5jc3MgLWh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGVcclxuICogVmVyc2lvbiAtIDMuNS4wXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcclxuICpcclxuICogQ29weXJpZ2h0IChjKSAyMDE2IERhbmllbCBFZGVuXHJcbiAqL1xyXG5cclxuLmFuaW1hdGVkIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuLmFuaW1hdGVkLmluZmluaXRlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG59XHJcblxyXG4uYW5pbWF0ZWQuaGluZ2Uge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xyXG59XHJcblxyXG4uYW5pbWF0ZWQuZmxpcE91dFgsXHJcbi5hbmltYXRlZC5mbGlwT3V0WSxcclxuLmFuaW1hdGVkLmJvdW5jZUluLFxyXG4uYW5pbWF0ZWQuYm91bmNlT3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcclxuICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xyXG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgfVxyXG5cclxuICA0MCUsIDQzJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNzAlIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2Uge1xyXG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgfVxyXG5cclxuICA0MCUsIDQzJSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNzAlIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XHJcbiAgZnJvbSwgNTAlLCB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgMjUlLCA3NSUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxhc2gge1xyXG4gIGZyb20sIDUwJSwgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDI1JSwgNzUlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uZmxhc2gge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcclxufVxyXG5cclxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbi5wdWxzZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcclxuICB9XHJcblxyXG4gIDY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG5cclxuICAzMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XHJcbiAgfVxyXG5cclxuICA2NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnJ1YmJlckJhbmQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XHJcbiAgZnJvbSwgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzaGFrZSB7XHJcbiAgZnJvbSwgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNoYWtlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcclxuICBhbmltYXRpb24tbmFtZTogc2hha2U7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gIH1cclxuXHJcbiAgNi41JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcclxuICB9XHJcblxyXG4gIDE4LjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XHJcbiAgfVxyXG5cclxuICAzMS41JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcclxuICB9XHJcblxyXG4gIDQzLjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgfVxyXG5cclxuICA2LjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTguNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcclxuICB9XHJcblxyXG4gIDMxLjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDMuNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICB9XHJcbn1cclxuXHJcbi5oZWFkU2hha2Uge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbi5zd2luZyB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcblxyXG4gIDEwJSwgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgfVxyXG5cclxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XHJcbiAgfVxyXG5cclxuICA0MCUsIDYwJSwgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgdGFkYSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcblxyXG4gIDEwJSwgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgfVxyXG5cclxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XHJcbiAgfVxyXG5cclxuICA0MCUsIDYwJSwgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbi50YWRhIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xyXG59XHJcblxyXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG5cclxuICAxNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgMzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcblxyXG4gIDE1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XHJcbiAgfVxyXG5cclxuICAzMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XHJcbiAgfVxyXG5cclxuICA0NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi53b2JibGUge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcclxuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xyXG4gIGZyb20sIDExLjElLCB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcblxyXG4gIDIyLjIlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgMzMuMyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDQ0LjQlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDU1LjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDY2LjYlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNzcuNyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XHJcbiAgfVxyXG5cclxuICA4OC44JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBqZWxsbyB7XHJcbiAgZnJvbSwgMTEuMSUsIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxuXHJcbiAgMjIuMiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XHJcbiAgfVxyXG5cclxuICAzMy4zJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNDQuNCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNTUuNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xyXG4gIH1cclxuXHJcbiAgNjYuNiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XHJcbiAgfVxyXG5cclxuICA3Ny43JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcclxuICB9XHJcblxyXG4gIDg4LjglIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4uamVsbG8ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XHJcbiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gIH1cclxuXHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gIH1cclxuXHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xyXG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgdG8ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICB9XHJcblxyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICB9XHJcblxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlSW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XHJcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICB9XHJcblxyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xyXG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgfVxyXG5cclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VJbkRvd24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcclxuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gIH1cclxuXHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XHJcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICB9XHJcblxyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZUluTGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcclxuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gIH1cclxuXHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgOTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XHJcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICB9XHJcblxyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlSW5SaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xyXG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgfVxyXG5cclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xyXG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgfVxyXG5cclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlSW5VcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xyXG4gIH1cclxuXHJcbiAgNTAlLCA1NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcclxuICB9XHJcblxyXG4gIDUwJSwgNTUlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VPdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA0MCUsIDQ1JSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIDQwJSwgNDUlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlT3V0RG93biB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xyXG4gIDIwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcclxuICAyMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3VuY2VPdXRMZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xyXG4gIDIwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XHJcbiAgMjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYm91bmNlT3V0UmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgNDAlLCA0NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XHJcbiAgfVxyXG5cclxuICA0MCUsIDQ1JSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmJvdW5jZU91dFVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcclxuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluRG93biB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluRG93bkJpZyB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJbkxlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJbkxlZnRCaWcge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluUmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVJblJpZ2h0QmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwJSwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5mYWRlSW5VcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZUluVXBCaWcge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXREb3duIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXREb3duQmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dExlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRMZWZ0QmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcclxuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRSaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmFkZU91dFJpZ2h0QmlnIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRVcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmZhZGVPdXRVcEJpZyB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGVkLmZsaXAge1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwSW5YIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gIH1cclxufVxyXG5cclxuLmZsaXBJblgge1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxpcEluWSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICB9XHJcbn1cclxuXHJcbi5mbGlwSW5ZIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcclxuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICB9XHJcblxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxpcE91dFgge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gIH1cclxuXHJcbiAgMzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmZsaXBPdXRYIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcclxuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gIH1cclxuXHJcbiAgMzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgfVxyXG5cclxuICAzMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uZmxpcE91dFkge1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcclxuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4ubGlnaHRTcGVlZEluIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5saWdodFNwZWVkT3V0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlSW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVJbkRvd25MZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZUluRG93blJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZUluVXBMZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlSW5VcFJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZU91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlT3V0RG93bkxlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnJvdGF0ZU91dERvd25SaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucm90YXRlT3V0VXBMZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGVPdXRVcFJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICB9XHJcblxyXG4gIDIwJSwgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICB9XHJcblxyXG4gIDQwJSwgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBoaW5nZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuXHJcbiAgMjAlLCA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuXHJcbiAgNDAlLCA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uaGluZ2Uge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcclxufVxyXG5cclxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLnJvbGxJbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XHJcbn1cclxuXHJcbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm9sbE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuLnJvbGxPdXQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi56b29tSW4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcclxuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbUluRG93biB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcclxuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnpvb21JbkxlZnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnpvb21JblJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB6b29tSW5VcCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnpvb21JblVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcclxuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgNTAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbU91dCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcclxuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcclxuICA0MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xyXG4gIDQwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLnpvb21PdXREb3duIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcclxuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XHJcbiAgNDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcclxuICA0MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi56b29tT3V0TGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcclxuICA0MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xyXG4gIDQwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbU91dFJpZ2h0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7XHJcbiAgNDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XHJcbiAgNDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uem9vbU91dFVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZUluRG93biB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlSW5MZWZ0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlSW5SaWdodCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlSW5VcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZU91dERvd24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlT3V0TGVmdCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlT3V0UmlnaHQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGlkZU91dFVwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xyXG59XHJcbiIsIkBtaXhpbiBib3JkZXItYnV0dG9uIHtcclxuICBAaW5jbHVkZSBmb250LXN0eWxlKGJ1dHRvbik7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGNvbG9yOiAkZ29sZGVuO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRnb2xkZW47XHJcbiAgcGFkZGluZzogN3B4IDQwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG5cclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzKTtcclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmOmFmdGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQ6ICRnb2xkZW47XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzKTtcclxuICB9XHJcblxyXG5cclxuICAmOmZvY3VzLFxyXG4gICY6aG92ZXIsXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcjphZnRlcixcclxuICAmLmFjdGl2ZTphZnRlciB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxufVxyXG4iLCIudGV4dCB7XHJcbiAgZm9udC1mYW1pbHk6ICRicm93bi1saWdodDtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgY29sb3I6ICM3Nzc7XHJcbn1cclxuXHJcbi5ib3JkZXItYnV0dG9uIHtcclxuICBAaW5jbHVkZSBib3JkZXItYnV0dG9uO1xyXG4gICYuYmxvY2stYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICAmLmxhcmdlci1idXR0b24ge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICB9XHJcbn1cclxuXHJcbi5idG4tbGlzdCAuYm9yZGVyLWJ1dHRvbiB7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICB9XHJcbiAgJjpmb2N1cyxcclxuICAmLmFjdGl2ZSB7XHJcbiAgICBjb2xvcjogJGdvbGRlbjtcclxuICB9XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcclxufVxyXG4iLCIvL1xyXG4vLyBGcm9udHBhZ2UgZ3JpZFxyXG4vL1xyXG4uZnJvbnRwYWdlLWJhc2lzLWdyaWQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgLnNxdWFyZS1saW5rIHtcclxuICAgIHRvcDogaW5pdGlhbDtcclxuICAgIGJvdHRvbTogLTMwcHg7XHJcbiAgfVxyXG5cclxuICAvLyBJRTEwKyBwb3NpdGlvbiBmaXhlZFxyXG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XHJcbiAgICAuc3F1YXJlLWxpbmsge1xyXG4gICAgICB0b3A6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgYm90dG9tOiAtMzBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmdyaWQtY29sLWl0ZW0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGRlZmF1bHRcclxuICAuZ3JpZC1pdGVtIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiAxMDB2dztcclxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgaGVpZ2h0OiAyNXZ3O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gZmlyc3QgY29sdW1uXHJcbiAgLmdyaWQtY29sLWl0ZW06Zmlyc3QtY2hpbGQge1xyXG4gICAgLy8gZmlyc3QgMiBpdGVtcyBzbWFsbFxyXG4gICAgLmdyaWQtaXRlbTpudGgtY2hpbGQoMSksXHJcbiAgICAuZ3JpZC1pdGVtOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ3JpZC1pdGVtOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gc2Vjb25kIGNvbHVtblxyXG4gIC5ncmlkLWNvbC1pdGVtOm50aC1jaGlsZCgyKSB7XHJcbiAgICAuZ3JpZC1pdGVtOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAgICAgaGVpZ2h0OiA1MHZ3O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy9cclxuLy8gRnJvbnRwYWdlIGdyaWQgLSBQcm9tb3RlZFxyXG4vL1xyXG5cclxuLmZyb250cGFnZS1iYXNpcy1ncmlkLXByb21vdGVkIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cclxuICAuZ3JpZC1pdGVtIHtcclxuICAgIGhlaWdodDogMTAwdnc7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XHJcbiAgICAuZ3JpZC1pdGVtIHtcclxuICAgICAgaGVpZ2h0OiAyNXZ3O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgLmdyaWQtY29sLWl0ZW06bnRoLWNoaWxkKDEpLFxyXG4gICAgLmdyaWQtY29sLWl0ZW06bnRoLWNoaWxkKDIpIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZ3JpZC1jb2wtaXRlbTpudGgtY2hpbGQoMSkge31cclxuICAuZ3JpZC1jb2wtaXRlbTpudGgtY2hpbGQoMikge1xyXG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG4gICAgICAuZ3JpZC1pdGVtIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmZyb250cGFnZS1iYXNpcy1ncmlkLXByb21vdGVkIHtcclxuICAuZ3JpZC1pdGVtLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gIH1cclxuXHQuZ3JpZC1pdGVtLW92ZXJsYXkge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDU7XHJcblx0XHRsZWZ0OiAwcHg7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNXMgZWFzZS1pbi1vdXQpO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNXMgZWFzZS1pbi1vdXQpO1xyXG5cdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4vLyBoZXJvIGdyaWRcclxuLmhlcm8tZ3JpZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGZvbnQtc2l6ZTogY2FsYygxNnB4ICsgNiAqICgoMTAwdncgLSAzMjBweCkgLyA2ODApKTtcclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgJl9fY29sdW1uIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJl9fcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgJiArICYge1xyXG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faXRlbSB7XHJcbiAgICBmbGV4OjE7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICYgKyAmIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGluayB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICB6LWluZGV4OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBsaW5lYXI7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5oZXJvLWdyaWRfX2l0ZW1fX2ltYWdlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX190ZXh0LXdyYXBwZXIge1xyXG4gICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRpbmd7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBhYWxib3JncmVndWxhcjtcclxuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICAmX19zdWJoZWFkaW5ne1xyXG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgICAgZm9udC1zaXplOiAwLjdlbTtcclxuICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pdGVtLSB7XHJcbiAgICAgICYxIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNTglO1xyXG4gICAgICB9XHJcbiAgICAgICYyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNTglO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuICAgICAgICAudmlkZW8td3JhcHBlciB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICB2aWRlbyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjMge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1OCU7XHJcbiAgICAgIH1cclxuICAgICAgJjQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1MCU7XHJcbiAgICAgIH1cclxuICAgICAgJjUge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA2NiU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5waG90by1zdGFjay13cmFwcGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHotaW5kZXg6IC0xO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHBvbGFyb2lkLW1vdmUtdG8tdGhlLWJhY2sge1xyXG4gIDAlIHtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAxNSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMzAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMCUpIHRyYW5zbGF0ZVkoLTEwJSk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgcm90YXRlKDRkZWcpO1xyXG4gIH1cclxuICA1MSUsIDEwMCUge1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbi5waG90by1zdGFjay1pdGVtIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nLXRvcDogMTIwJTtcclxuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmN2VmO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICAvLyBib3JkZXI6IDFweCBzb2xpZCBncmV5O1xyXG4gIHotaW5kZXg6IDA7XHJcblxyXG4gICYubW92ZS10by10aGUtYmFjayB7XHJcbiAgICBhbmltYXRpb246IHBvbGFyb2lkLW1vdmUtdG8tdGhlLWJhY2sgMXMgZm9yd2FyZHM7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1NCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbi5waG90by1zdGFjay1pdGVtLTEge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcclxufVxyXG4ucGhvdG8tc3RhY2staXRlbS0yIHtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcclxufVxyXG4ucGhvdG8tc3RhY2staXRlbS0zIHtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcclxufVxyXG4ucGhvdG8tc3RhY2staXRlbS00IHtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMmRlZyk7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLnBhaXJpbmdzIHtcclxuICBwYWRkaW5nLWJvdHRvbTogODBweDtcclxuICBcclxuICAubW9iaWxlLWhpZGUge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAubW9iaWxlLW9ubHkge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faGVhZGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEzMHB4IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBmb250LXNpemU6IGNhbGMoMTZweCArIDYgKiAoKDEwMHZ3IC0gMzIwcHgpIC8gNjgwKSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgICAgcGFkZGluZzogODBweCAwO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRsaW5lIHtcclxuICAgICAgZm9udC1mYW1pbHk6IGFhbGJvcmdyZWd1bGFyO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xyXG4gICAgICB0ZXh0LXNoYWRvdzogIzAwMCAxcHggMCAzMHB4O1xyXG5cclxuICAgICAgLmhpZ2hsaWdodCB7XHJcbiAgICAgICAgY29sb3I6ICNjZmMwODk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjE1ZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYWlyaW5nLXdyYXBwZXIge1xyXG4gIHBhZGRpbmc6IDgwcHggMCAxMDBweDtcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgfVxyXG4gIFxyXG4gICY6bnRoLW9mLXR5cGUoZXZlbikge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC5wYWlyaW5nLWlubmVyLXJvdzpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wYWlyaW5nLWlubmVyLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLnBhaXJpbmctY29sdW1uIHtcclxuICAgICAgaGVpZ2h0OiAyODBweDtcclxuICAgICAgZmxleDogMTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJl9faGVhZGxpbmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBhYWxib3JncmVndWxhcjtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01NSUpO1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAjZjlmN2VmIDFweCAwIDMwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuZGlzaCB7XHJcbiAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICB9XHJcbiAgICAgICYucGFpcmluZy1wcm9kdWN0IHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjdlZjtcclxuICAgICAgICAucGFpcmluZy1jb2x1bW5fX2hlYWRsaW5lIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgICAgICAgY29sb3I6ICNjZmMwODk7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1JSk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cyBsaW5lYXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYWlyaW5nLXByb2R1Y3QtaW1hZ2Uge1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMjAlO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xNXMgbGluZWFyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnJlY2lwZS1idXR0b24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDg1JSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xNXMgbGluZWFyLCBvcGFjaXR5IC4xNXMgbGluZWFyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMjAlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgLmJ1dHRvbi1pY29uIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idXR0b24taWNvbiB7XHJcbiAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xNXMgbGluZWFyO1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICByaWdodDogY2FsYyg1MCUgLSAyMHB4KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idXR0b24tdGV4dCB7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDhweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJlY2lwZS1yb3cge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjI1cyBsaW5lYXI7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yZWNpcGUtd3JhcHBlciB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcImJyb3dubGlnaHRcIjtcclxuICAgICAgXHJcbiAgICAgIC5yZWNpcGUtaW50cm8tbGluZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggNTBweDtcclxuICAgICAgfVxyXG4gICAgICAucmVjaXBlLWJvZHkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJlY2lwZS1ib2R5X19jb2x1bW4ge1xyXG4gICAgICAgICAgcGFkZGluZzogMjBweCA1MHB4O1xyXG5cclxuICAgICAgICAgIC5oZWFkbGluZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImJyb3duYm9sZFwiO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHVsLCBvbCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgICAgICAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgbGk6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgY29udGVudDogY291bnRlcihpdGVtKTtcclxuICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJicm93bmJvbGRcIjtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sZWZ0LWNvbHVtbiB7XHJcbiAgICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJpZ2h0LWNvbHVtbiB7XHJcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOm5vdCguYWN0aXZlKSB7XHJcbiAgICAucGFpcmluZy1pbm5lci1yb3cge1xyXG4gICAgICAmLnJlY2lwZS1yb3cge1xyXG4gICAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICAucmVjaXBlLWJ1dHRvbiB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDE1MCUpO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgLnBhaXJpbmctaW5uZXItcm93IHtcclxuICAgICAgLnBhaXJpbmctY29sdW1uLnBhaXJpbmctcHJvZHVjdC5tb2JpbGUtaGlkZSB7XHJcbiAgICAgICAgLnBhaXJpbmctcHJvZHVjdC1pbWFnZSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUlKSBzY2FsZSgwLjk4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhaXJpbmctY29sdW1uX19oZWFkbGluZSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE2MCUpIHNjYWxlKDAuOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX192aWRlbyB7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDEwJTtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgICAgIHBhZGRpbmc6IDYwcHggMCAxMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19wYW5lbCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgbWluLWhlaWdodDogMjgwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDcwcHggNjAlIDIwcHggMjBweDtcclxuICAgICAgZm9udC1mYW1pbHk6IGFhbGJvcmdyZWd1bGFyO1xyXG4gICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogNTBweCDigIsyMHB4IDIwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAjY2ZjMDg5O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY3ZWY7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIwcHgsIC0yMHB4KTtcclxuXHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRvcDogdW5zZXQ7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIwcHgsIDUwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuYmFzaXMtZ3JpZC1wYWNrIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcblxyXG4gIC5iYXNpcy1ncmlkLXBhY2std3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICB9XHJcblxyXG4gIC5zcXVhcmUtbGluayB7XHJcbiAgICB0b3A6IGluaGVyaXQ7XHJcbiAgICBib3R0b206IC0zMHB4O1xyXG4gIH1cclxuXHJcbiAgLy8gQ29tbW9uIGdyaWQgaXRlbVxyXG4gIC5ncmlkLWl0ZW0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwdnc7XHJcbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgaGVpZ2h0OiAyNXZ3O1xyXG4gICAgICB3aWR0aDogMjUlO1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vXHJcbi8vIENhdGVnb3J5OiBTdHlsZSBvbmVcclxuLy9cclxuXHJcbi5iYXNpcy1ncmlkLXBhY2suYmFzaXMtZ3JpZC1wYWNrLXN0eWxlLW9uZSB7XHJcblxyXG4gIC8vIGNvbW1vbiBjb2x1bW4gc3R5bGluZ1xyXG4gIC5ncmlkLWNvbC1pdGVtOm50aC1jaGlsZCgxKSxcclxuICAuZ3JpZC1jb2wtaXRlbTpudGgtY2hpbGQoMikge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBmaXJzdCBjb2x1bW5cclxuICAuZ3JpZC1jb2wtaXRlbTpudGgtY2hpbGQoMSkge1xyXG4gICAgLmdyaWQtaXRlbTpudGgtY2hpbGQoMSksXHJcbiAgICAuZ3JpZC1pdGVtOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5ncmlkLWl0ZW06bnRoLWNoaWxkKDMpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBzZWNvbmQgY29sdW1uXHJcbiAgLmdyaWQtY29sLWl0ZW06bnRoLWNoaWxkKDIpIHtcclxuICAgIC5ncmlkLWl0ZW06bnRoLWNoaWxkKDEpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgIGhlaWdodDogNTB2dztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9cclxuLy8gQ2F0ZWdvcnk6IFN0eWxlIHR3b1xyXG4vL1xyXG4uYmFzaXMtZ3JpZC1wYWNrLmJhc2lzLWdyaWQtcGFjay1zdHlsZS10d28ge1xyXG5cclxuICAvLyBjb21tb24gY29sdW1uIHN0eWxpbmdcclxuICAuZ3JpZC1jb2wtaXRlbTpudGgtY2hpbGQoMSksXHJcbiAgLmdyaWQtY29sLWl0ZW06bnRoLWNoaWxkKDIpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gZmlyc3QgY29sdW1uXHJcbiAgLmdyaWQtY29sLWl0ZW06bnRoLWNoaWxkKDEpIHtcclxuICAgIC5ncmlkLWl0ZW06bnRoLWNoaWxkKDEpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgIGhlaWdodDogNTB2dztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gc2Vjb25kIGNvbHVtblxyXG4gIC5ncmlkLWNvbC1pdGVtOm50aC1jaGlsZCgyKSB7XHJcbiAgICAuZ3JpZC1pdGVtOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmdyaWQtaXRlbTpudGgtY2hpbGQoMiksXHJcbiAgICAuZ3JpZC1pdGVtOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4vL1xyXG4vLyBHcmlkIHBhY2sgSW50cm9cclxuLy9cclxuXHJcbi5iYXNpcy1ncmlkLXBhY2staW50cm8ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgbWFyZ2luOiA0MHB4IDAgNTBweCAwO1xyXG4gIC5iYXNpcy1ncmlkLXBhY2staW50cm8tdGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiYWFsYm9yZ3JlZ3VsYXJcIiwgXCJIZWx2ZXRpY2FcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDJlbTtcclxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG4gICAgICBmb250LXNpemU6IDU2cHg7XHJcbiAgICB9XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6ICRpcm9uO1xyXG4gIH1cclxuICAuYmFzaXMtZ3JpZC1wYWNrLWludHJvLWRlc2Mge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiYnJvd25saWdodFwiO1xyXG4gIH1cclxufVxyXG5cclxuLy9cclxuLy8gQ2F0ZWdvcnk6IFJlc3Qgb2YgcmVjaXBlc1xyXG4vL1xyXG5cclxudWwucmVjaXBlLWxpc3Qtb3RoZXJzIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcclxuICBsaSBhIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4xcyBlYXNlLWluLW91dCk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG5cclxuICAgIC5yZWNpcGUtbGlzdC1vdGhlcnMtdGl0bGUge1xyXG4gICAgICBmb250LWZhbWlseTogJGFhbGJvcmc7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuICAgIC5yZWNpcGUtbGlzdC1vdGhlcnMtdGV4dCB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcImJyb3dubGlnaHRcIjtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMXMgZWFzZS1pbi1vdXQpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ29sZGVuO1xyXG4gICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5oZXJvLWZ1bGwtd2lkdGgge1xyXG4gICZfX3dyYXBwZXIge1xyXG4gICAgbWluLWhlaWdodDogY2FsYyg5MHZoIC0gMTAwcHgpO1xyXG4gICAgZm9udC1zaXplOiBjYWxjKDE2cHggKyA2ICogKCgxMDB2dyAtIDMyMHB4KSAvIDY4MCkpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogNDBweCA1MHB4O1xyXG4gICAgbWFyZ2luOiAyMHB4IDIwcHggMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRvcDogMDtcclxuXHJcbiAgICAgICZfX3NsaWRlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2aWRlbyB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5jaGFuZ2Utc2xpZGUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGVhc2UtaW4tb3V0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190aXRsZSB7XHJcbiAgICBmb250LWZhbWlseTogYWFsYm9yZ3JlZ3VsYXI7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAyZW07XHJcbiAgICB0ZXh0LXNoYWRvdzogIzAwMCAxcHggMCAzMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgJl9fbG9nbyB7XHJcbiAgICBoZWlnaHQ6IDdlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxuICB9XHJcblxyXG4gICZfX2xpbmstb3ZlcmxheSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4ubG9kZ2UtcGFnZSB7XHJcbiAgZm9udC1zaXplOiBjYWxjKDE2cHggKyA2ICogKCgxMDB2dyAtIDMyMHB4KSAvIDY4MCkpO1xyXG4gIGZvbnQtZmFtaWx5OiBicm93bmxpZ2h0O1xyXG5cclxuICAmX19oZWFkZXIge1xyXG4gICAgaGVpZ2h0OiA2MHZoO1xyXG4gICAgbWFyZ2luOiAyMHB4IDIwcHggMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICBcclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgICAmLWlubmVyIHtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogIzAwMCAxcHggMCAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgIHRleHQtc2hhZG93OiAjMDAwIDFweCAwIDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYmcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgaGVpZ2h0OiA0ZW07XHJcbiAgICAgIG1hcmdpbjogMWVtIGF1dG87XHJcbiAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdmlkZW8td3JhcHBlciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB2aWRlbyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICBcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgJl9fbXlvIHtcclxuICAgICZfX3dyYXBwZXIge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygxNnB4ICsgNiAqICgoMTAwdncgLSAzMjBweCkgLyA2ODApKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZTdlMDtcclxuICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgIHBhZGRpbmc6IDI2cHggNDBweCA0MHB4IDI0MHB4O1xyXG4gICAgICBcclxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBtYXJnaW46IDIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogLTUwcHg7XHJcbiAgICAgIHRvcDogMHB4O1xyXG4gICAgICB3aWR0aDogMjYwcHg7XHJcbiAgICAgIFxyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgIG9wYWNpdHk6IC4xO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICBmb250LWZhbWlseTogYWFsYm9yZ3JlZ3VsYXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlzdCB7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIGNvdW50ZXItcmVzZXQ6IG15by1pdGVtO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBicm93bmxpZ2h0O1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBteW8taXRlbTtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC8vICY6YmVmb3JlIHtcclxuICAgICAgICAvLyAgIGZvbnQtZmFtaWx5OiBhYWxib3JncmVndWxhcjtcclxuICAgICAgICAvLyAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAvLyAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC8vICAgY29udGVudDogY291bnRlcihteW8taXRlbSk7XHJcbiAgICAgICAgLy8gICB3aWR0aDogNjBweDtcclxuICAgICAgICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAvLyAgIGxlZnQ6IDA7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gICZfX2VwaXNvZGVzIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG5cclxuICAgICAgJi1pbm5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBhYWxib3JncmVndWxhcjtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgJl9faGVhZGxpbmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBhYWxib3JncmVndWxhcjtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgJl9fc3ViaGVhZGxpbmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19vcGVuLXZpZGVvIHtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZjMDg5O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAyMHB4IDhweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgd2lkdGg6IDA7IFxyXG4gICAgICAgICAgaGVpZ2h0OiAwOyBcclxuICAgICAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDsgXHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGJvcmRlci1sZWZ0OjZweCBzb2xpZCB3aGl0ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtaGFsZiB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLmxvZGdlLXZpZGVvLW1vZGFsIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDIwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNik7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fcGFuZWwge1xyXG4gICAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgICAgd2lkdGg6IDk0MHB4O1xyXG4gICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgcGFkZGluZy10b3A6IDQwJTtcclxuXHJcbiAgICAgICZfX2lubmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcblxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgICAmLWNsb3NlIHtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlN2UwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX191bmRlcmxheWVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5sb2RnZS1wYWdlX19nYWxsZXJ5X190aXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6IGFhbGJvcmdyZWd1bGFyO1xyXG4gIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG4jZW52aXJhLWdhbGxlcnktd3JhcC0xMTg0LCAjZW52aXJhLWdhbGxlcnktd3JhcC0xMjA4IHtcclxuICBwYWRkaW5nOjAgMTBweDtcclxufVxyXG4uZW52aXJhYm94LXRpdGxlLW92ZXIge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1vYmlsZS1kaXN0aWxsZXJ5IHtcclxuICAmX19oZWFkZXIge1xyXG4gICAgbWluLWhlaWdodDogNDB2aDtcclxuICAgIG1hcmdpbjogMjBweCAyMHB4IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICYtaW5uZXIge1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgcGFkZGluZzowIDIwcHggNDBweDtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogYnJvd25ib2xkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6IGFhbGJvcmdyZWd1bGFyO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19ncmFwaGljIHtcclxuICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgIGhlaWdodDogODAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xyXG4gICAgICAgIGJvdHRvbTogLTIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY29udGVudCB7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDA7XHJcblxyXG4gICAgJi1zZWN0aW9uIHtcclxuICAgICAgZm9udC1mYW1pbHk6IGJyb3dubGlnaHQ7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtdHJ1Y2stbG9jYXRpb25zIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgICAgcGFkZGluZzogMjBweCA0MHB4IDQwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGFhbGJvcmdyZWd1bGFyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19pbm5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX2xlZ2VuZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTYwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MCU7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1pdGVtIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAgIC5tb2JpbGUtZGlzdGlsbGVyeV9fY29udGVudF9fbWFwLS1waW4ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5ldmVudCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjY2QxODMzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX21hcCB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLTExMHB4O1xyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmX193cmFwcGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtLXBpbiB7XHJcbiAgICAgICAgd2lkdGg6IDIzcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyM3B4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgbGluZWFyO1xyXG5cclxuICAgICAgICAmLmV2ZW50IHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZDE4MzM7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgJHNoYWRvd0NvbG9yOiAjZDJjMTg4O1xyXG4gICAgICAgIEBrZXlmcmFtZXMgcmlwcGxlIHtcclxuICAgICAgICAgIDAlIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKCRzaGFkb3dDb2xvciwgMCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAwIDIwcHggcmdiYSgkc2hhZG93Q29sb3IsIDAuMTgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgMTAwJSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDIwcHggcmdiYSgkc2hhZG93Q29sb3IsIDAuMTgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAwIDAgMCAzMHB4IHJnYmEoJHNoYWRvd0NvbG9yLCAwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAgIEBrZXlmcmFtZXMgcmlwcGxlLWJ1cnN0LWFuaW1hdGlvbiB7XHJcbiAgICAgICAgICAwJSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgkc2hhZG93Q29sb3IsIDApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgMjUlIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKCRzaGFkb3dDb2xvciwgMCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAwIDIwcHggcmdiYSgkc2hhZG93Q29sb3IsIDAuMTgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgNTAlIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMjBweCByZ2JhKCRzaGFkb3dDb2xvciwgMC4xOCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAwIDMwcHggcmdiYSgkc2hhZG93Q29sb3IsIDApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgMTAwJSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDMwcHggcmdiYSgkc2hhZG93Q29sb3IsIDApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJjMTg4O1xyXG4gICAgICAgICAgYW5pbWF0aW9uOiByaXBwbGUgMXMgbGluZWFyIGluZmluaXRlLCByaXBwbGUtaW5pdGlhbC1idXJzdC1hbmltYXRpb24gMXMgbGluZWFyO1xyXG4gICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYjbW9iaWxlLWRpc3RpbGxlcnktcGluIHtcclxuICAgICAgICAgICYtMSB7XHJcbiAgICAgICAgICAgIHRvcDogMyU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYtMiB7XHJcbiAgICAgICAgICAgIHRvcDogMjMlO1xyXG4gICAgICAgICAgICBsZWZ0OiAxMiU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLTMge1xyXG4gICAgICAgICAgICB0b3A6IDQ2JTtcclxuICAgICAgICAgICAgbGVmdDogNDclO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi00IHtcclxuICAgICAgICAgICAgdG9wOiA1MiU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDgyJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYtNSB7XHJcbiAgICAgICAgICAgIHRvcDogNTElO1xyXG4gICAgICAgICAgICBsZWZ0OiA4NCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLTYge1xyXG4gICAgICAgICAgICB0b3A6IDUyJTtcclxuICAgICAgICAgICAgbGVmdDogODclO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi03IHtcclxuICAgICAgICAgICAgdG9wOiA2MSU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDkyJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYtOCB7XHJcbiAgICAgICAgICAgIHRvcDogNjklO1xyXG4gICAgICAgICAgICBsZWZ0OiA1NiU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLTkge1xyXG4gICAgICAgICAgICB0b3A6IDgyJTtcclxuICAgICAgICAgICAgbGVmdDogNDclO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi0xMCB7XHJcbiAgICAgICAgICAgIHRvcDogNjIlO1xyXG4gICAgICAgICAgICBsZWZ0OiA0MCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLTExIHtcclxuICAgICAgICAgICAgdG9wOiAyNiU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDEwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYtMTIge1xyXG4gICAgICAgICAgICB0b3A6IDIxJTtcclxuICAgICAgICAgICAgbGVmdDogMTQlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi0xMyB7XHJcbiAgICAgICAgICAgIHRvcDogNTklO1xyXG4gICAgICAgICAgICBsZWZ0OiA5MSU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLTE0IHtcclxuICAgICAgICAgICAgdG9wOiA5MyU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDgwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19sb2NhdGlvbnMge1xyXG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgJi0tdGFibGUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIHRhYmxlLWxheW91dDogYXV0bztcclxuICAgICAgICBcclxuICAgICAgICB0ci5ldmVuLCB0ci5hbHQsIHRyOm50aC1vZi10eXBlKGV2ZW4pIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi0taXRlbSB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAwO1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6IGJyb3duYm9sZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTBweDtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiBicm93bmxpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi8vXHJcbi8vIEZpbGU6IFJlY2lwZVxyXG4vLyBEREIgQ29wZW5oYWdlbiAyMDE2XHJcbi8vXHJcbi8vIEZ1bGwgcGFnZSBvZiBhIHJlY2lwZVxyXG4vLyBjb250YWlucyBlbGVtZW50cyBvZiB0aGUgaGVhZGVyIGFuZCBzdWIgc2VjdGlvbnMgb2YgYSByZWNpcGVcclxuLy9cclxuXHJcbi5yZWNpcGUtZGlzcGxheSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAvLyBIZWFkZXJcclxuICAucmVjaXBlLWltYWdlIHtcclxuICBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBcdGhlaWdodDogNTB2aDtcclxuICBcdG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gIFx0bWFyZ2luLWJvdHRvbTogNjBweDtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MXB4KSB7XHJcblx0XHRcdG1pbi1oZWlnaHQ6IDgwMHB4O1xyXG5cdFx0fVxyXG5cclxuICAgIC5oZWFkZXItdGV4dCB7XHJcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDAgNjBweCAwKTtcclxuICAgIFx0Y29sb3I6ICR3aGl0ZTtcclxuICAgIFx0ei1pbmRleDogMTA7XHJcbiAgICBcdHBhZGRpbmc6IDAgMjBweDtcclxuICAgIFx0Zm9udC1mYW1pbHk6IGJyb3dubGlnaHQ7XHJcbiAgICBcdGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAvLyBTaGFyZSBidXR0b25cclxuICAuc2hhcmUtc3F1YXJlIHtcclxuXHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDAgLTMwcHggMCk7XHJcblx0XHRAaW5jbHVkZSBzaXplKDYwcHgsIDYwcHgpO1xyXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzAwbXMpO1xyXG4gIFx0Zm9udC1mYW1pbHk6IGJyb3dubGlnaHQ7XHJcbiAgXHRmb250LXNpemU6IDE0cHg7XHJcbiAgXHRiYWNrZ3JvdW5kOiAkZ29sZGVuO1xyXG4gIFx0Y29sb3I6ICR3aGl0ZTtcclxuICBcdGRpc3BsYXk6IGJsb2NrO1xyXG4gIFx0ei1pbmRleDogMTE7XHJcbiAgXHRtYXJnaW46IDAgYXV0bztcclxuICAgID4gc3BhbiB7XHJcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCA1cHggbnVsbCBudWxsIG51bGwpO1xyXG4gICAgXHRkaXNwbGF5OiBibG9jaztcclxuICAgIFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgXHRjb2xvcjogJHdoaXRlO1xyXG4gICAgXHRwYWRkaW5nOiAwcHg7XHJcbiAgICB9XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMwMG1zKTtcclxuXHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCRnb2xkZW4sIDEwJSk7XHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBJbnRybyBvbiBvdmVybGF5c1xyXG4ucmVjaXBlLWludHJvIHtcclxuXHRoMSB7XHJcblx0XHRmb250LWZhbWlseTogJGFhbGJvcmc7XHJcblx0XHRmb250LXNpemU6IDEuNWVtO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMi44ZW07XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDFweCkge1xyXG5cdFx0XHRmb250LXNpemU6IDRlbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5yZWNpcGUtb3ZlcmxheSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdEBpbmNsdWRlIHNpemUoMTAwJSwgMTAwJSk7XHJcblx0ei1pbmRleDogNTtcclxufVxyXG5cclxuLnJlY2lwZS1pY29ucyB7XHJcblx0bWF4LXdpZHRoOiAxNTBweDtcclxufVxyXG5cclxuLy8gTW9kZW5penJcclxuLmNzc2dyYWRpZW50cyAucmVjaXBlLWRpc3BsYXkgLnJlY2lwZS1pbWFnZSAucmVjaXBlLW92ZXJsYXkge1xyXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwKSAwJSwgcmdiYSgwLDAsMCwwLjgpIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwKSAwJSwgcmdiYSgwLDAsMCwwLjgpIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwwLDAsMCkgMCUsIHJnYmEoMCwwLDAsMC44KSAxMDAlKTtcclxufVxyXG5cclxuLy8gU2VjdGlvbnNcclxuLnNlY3Rpb24tbGlzdCB7XHJcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcclxuXHJcblx0LnJlY2lwZS10ZXh0ID4gcCB7XHJcblx0XHRmb250LWZhbWlseTogJGJyb3duLWxpZ2h0O1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0Y29sb3I6ICRtb25zb29uO1xyXG5cdH1cclxuXHQucmVjaXBlLWljb25zIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0fVxyXG5cdGgyIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkYWFsYm9yZztcclxuXHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW46IDMwcHggMCA2cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdFx0QG1lZGlhICN7JGxhcmdlLXVwfSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjFweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBSZWxhdGVkIGl0ZW1zIGluIGZvb3RlclxyXG4ucmVsYXRlZC1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdC5ncmlkLWl0ZW0ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGhlaWdodDogMjV2dztcclxuXHR9XHJcblxyXG5cdC5ncmlkLWl0ZW06bnRoLWNoaWxkKDEpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWluLWhlaWdodDogMzAwcHg7XHJcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuXHRcdFx0bWluLWhlaWdodDogaW5oZXJpdDtcclxuXHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmdyaWQtaXRlbTpudGgtY2hpbGQoMiksXHJcblx0LmdyaWQtaXRlbTpudGgtY2hpbGQoMykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtaW4taGVpZ2h0OiAzMDBweDtcclxuXHRcdEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG5cdFx0XHRtaW4taGVpZ2h0OiBpbmhlcml0O1xyXG5cdFx0XHR3aWR0aDogMjUlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvLyBtb29kIGljb25cclxuLnBhZ2UtdGVtcGxhdGUtcmVjaXBlLWFyY2hpdmUgLnJlY2lwZS1tb29kLWljb24ge1xyXG5cdG1heC13aWR0aDogMTUwcHg7XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiBsaXN0IG9uIG1vYmlsZVxyXG5AbWVkaWEgI3skc21hbGwtb25seX0ge1xyXG4gIC5idG4tbGlzdCAuc21hbGwtNCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG59XHJcbiIsIi5ob21lIC5wcm9kdWN0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG5cbiAgLnNxdWFyZS1saW5rIHtcbiAgICB0b3A6IGluaXRpYWw7XG4gICAgYm90dG9tOiAtMzBweDtcbiAgfVxuICAvKiBJRTEwKyBwb3NpdGlvbiBmaXhlZCovXG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksXG4gICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLnNxdWFyZS1saW5rIHtcbiAgICAgIHRvcDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYm90dG9tOiAtMzBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4uYmx1ci1vdmVybGF5LFxuLmRhdGEtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAuaG9tZSAucHJvZHVjdC1pdGVtLmFjdGl2ZS1zdGF0ZSB7XG4gICAgLmJsdXItb3ZlcmxheSxcbiAgICAuZGF0YS1vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5ob21lIC5wcm9kdWN0cyAuaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAuYmx1ci1vdmVybGF5LFxuICAgIC5kYXRhLW92ZXJsYXkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5ibHVyLW92ZXJsYXkge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDBweCAwIDAgMCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMDBtcyBlYXNlLWluLW91dCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cblxuICAgIC5kYXRhLW92ZXJsYXkge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAzMHB4IDApO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjAwbXMgbGluZWFyKTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgcGFkZGluZzogMzBweCAxMHB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNlbnRlci12aCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihmaWx0ZXIgMTAwbXMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig1cHgpO1xuICAgICAgICAtbW96LWZpbHRlcjogYmx1cig1cHgpO1xuICAgICAgICAtby1maWx0ZXI6IGJsdXIoNXB4KTtcbiAgICAgICAgLW1zLWZpbHRlcjogYmx1cig1cHgpO1xuICAgICAgICBmaWx0ZXI6Ymx1cig1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuJGNpcmNsZS1zaXplOiA4NXB4O1xuXG4ucHJvZHVjdHMgLml0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLnByb2R1Y3QtaXRlbS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdhYWxib3JncmVndWxhcicsICdIZWx2ZXRpY2EnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLnByb2R1Y3QtaXRlbS10ZXh0IHtcbiAgICBmb250LWZhbWlseTogJGJyb3duLWxpZ2h0O1xuICB9XG5cbiAgLnByb2R1Y3QtaXRlbS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1idXR0b247XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gIC5wcm9kdWN0LWl0ZW0tZ3JhcGgge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnByb2R1Y3QtaXRlbS1ncmFwaC1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMjVweCAwIDAgMCk7XG4gICAgICBmb250LWZhbWlseTogJ2FhbGJvcmdyZWd1bGFyJywgJ0hlbHZldGljYScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgIH1cbiAgfVxufVxuLyoqL1xuLyogUHJvZHVjdHMgZnJvbnRwYWdlKi9cbi8qKi9cbi8qIE9jY2Fzc2lvbnMgYW5kIFByb2R1Y3RzICovXG4ub2NjYXNzaW9ucyxcbi5wcm9kdWN0cyB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ucHJvZHVjdC1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jcHJvZHVjdC1pdGVtLTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xufVxuXG4jcHJvZHVjdC1pdGVtLTAsXG4jcHJvZHVjdC1pdGVtLTcge1xuICBoZWlnaHQ6IDUwdnc7XG59XG5cbiNwcm9kdWN0LWl0ZW0tMixcbiNwcm9kdWN0LWl0ZW0tNixcbiNwcm9kdWN0LWl0ZW0tNCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG59XG5cbi8vIEJhY2tncm91bmQgY29sb3JzIG9uIG1vYmlsZSBvbmx5XG5AbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAjcHJvZHVjdC1pdGVtLTEsXG4gICNwcm9kdWN0LWl0ZW0tNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgfVxuICAjcHJvZHVjdC1pdGVtLTMsXG4gICNwcm9kdWN0LWl0ZW0tNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgfVxufVxuXG4jcHJvZHVjdC1pdGVtLTEsXG4jcHJvZHVjdC1pdGVtLTIsXG4jcHJvZHVjdC1pdGVtLTMsXG4jcHJvZHVjdC1pdGVtLTQsXG4jcHJvZHVjdC1pdGVtLTUsXG4jcHJvZHVjdC1pdGVtLTYge1xuICBoZWlnaHQ6IDUwdnc7XG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICBoZWlnaHQ6IDI1dnc7XG4gIH1cbn1cblxuI3Byb2R1Y3QtaXRlbS0xLFxuI3Byb2R1Y3QtaXRlbS0yLFxuI3Byb2R1Y3QtaXRlbS0zLFxuI3Byb2R1Y3QtaXRlbS00LFxuI3Byb2R1Y3QtaXRlbS01LFxuI3Byb2R1Y3QtaXRlbS02LFxuI3Byb2R1Y3QtaXRlbS03IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jcHJvZHVjdC1pdGVtLTUsXG4jcHJvZHVjdC1pdGVtLTYge1xuICAvKndpZHRoOiA1MCU7Ki9cbiAgd2lkdGg6IDEwMCU7XG59XG5cbiNwcm9kdWN0LWl0ZW0tMCBpbWcsXG4jcHJvZHVjdC1pdGVtLTEgaW1nLFxuI3Byb2R1Y3QtaXRlbS0yIGltZyxcbiNwcm9kdWN0LWl0ZW0tMyBpbWcsXG4jcHJvZHVjdC1pdGVtLTQgaW1nLFxuI3Byb2R1Y3QtaXRlbS01IGltZyxcbiNwcm9kdWN0LWl0ZW0tNiBpbWcsXG4jcHJvZHVjdC1pdGVtLTcgaW1nIHtcbiAgd2lkdGg6IDM5JTtcbiAgbWFyZ2luLXRvcDogM3Z3O1xuICBtYXJnaW4tbGVmdDogMTB2dztcblxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgbWFyZ2luLWxlZnQ6IDN2dztcbiAgfVxufVxuXG4jcHJvZHVjdC1pdGVtLTcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHZ3O1xuICBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAjcHJvZHVjdC1pdGVtLTAgaW1nIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbi10b3A6IDV2dztcbiAgICBtYXJnaW4tbGVmdDogNXZ3O1xuICB9XG4gICNwcm9kdWN0LWl0ZW0tNyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTtcbiAgfVxufVxuXG4uaXRlbS1jb2x1bW46bnRoLW9mLXR5cGUoMSksXG4uaXRlbS1jb2x1bW46bnRoLW9mLXR5cGUoMikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxIDEgMjUlO1xuICAtbXMtZmxleDogMSAxIDI1JTtcbiAgZmxleDogMSAxIDI1JTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5pdGVtLWNvbHVtbjpudGgtb2YtdHlwZSgyKSB7XG4gIGhlaWdodDogMTAwdnc7XG59XG5cbkBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgLml0ZW0tY29sdW1uOm50aC1vZi10eXBlKDIpIHtcbiAgICBoZWlnaHQ6IGluaXRpYWw7XG4gIH1cbn1cblxuXG4uaXRlbS1jb2x1bW46bnRoLW9mLXR5cGUoMykge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIC13ZWJraXQtZmxleDogMSAxIDUwJTtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgIC1tcy1mbGV4OiAxIDEgNTAlO1xuICAgIGZsZXg6IDEgMSA1MCU7XG4gIH1cbn1cblxuLml0ZW0tY29sdW1uOm50aC1vZi10eXBlKDMpID4gYSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDEgMSA1MCU7XG4gIC1tcy1mbGV4OiAxIDEgNTAlO1xuICBmbGV4OiAxIDEgNTAlO1xufVxuXG4ub2NjYXNzaW9ucyAuaXRlbSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9kdWN0cyAuaXRlbSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnByb2R1Y3RzLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBhYWxib3JncmVndWxhcjtcbiAgZm9udC1zaXplOiA0NXB4O1xuICBjb2xvcjogI2QyYzE4ODtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uaXRlbSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZSAwcztcbn1cblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgb3BhY2l0eTogMC40NTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZSAwcztcbiAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UgMHM7XG59XG5cbi5pdGVtOmhvdmVyIC5oZWFkZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtODBweCwwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC04MHB4LDApO1xufVxuXG4ub2NjYXNzaW9ucyAuaGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA3NSU7XG4gIHBhZGRpbmctbGVmdDogMjUlO1xuICB0b3A6IDgwJTtcbiAgei1pbmRleDogMTA7XG4gIGZvbnQtZmFtaWx5OiBhYWxib3JncmVndWxhcjtcbiAgZm9udC1zaXplOiAwLjl2dztcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtcbiAgdHJhbnNpdGlvbjogMC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO1xufVxuXG4ub2NjYXNzaW9ucyAudGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogODAlO1xuICBwYWRkaW5nLWxlZnQ6IDIwJTtcbiAgdG9wOiA4MCU7XG4gIHotaW5kZXg6IDEwO1xuICBmb250LWZhbWlseTogYnJvd25saWdodDtcbiAgZm9udC1zaXplOiAwLjcydnc7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlIDBzO1xuICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZSAwcztcbn1cblxuLmNvcm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2UgMHM7XG4gIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlIDBzO1xufVxuXG4udG9wLWxlZnQge1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogNDBweCA0MHB4IDAgMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtNTAlLDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsLTUwJSwwKTtcbn1cblxuLmJvdHRvbS1sZWZ0IHtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItd2lkdGg6IDQwcHggMCAwIDQwcHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsNTAlLDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsNTAlLDApO1xufVxuXG4udG9wLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDQwcHggNDBweCAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsLTUwJSwwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsLTUwJSwwKTtcbn1cblxuLmJvdHRvbS1yaWdodCB7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwIDQwcHggNDBweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmZmZmIHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTAlLDUwJSwwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsNTAlLDApO1xufVxuXG4uaXRlbTpob3ZlciAudGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaXRlbTpob3ZlciAub3ZlcmxheSB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLml0ZW06aG92ZXIgLmNvcm5lciB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xufVxuIiwiJG1haW4tY29sb3I6ICMwZTIzM2E7XG5cbiRzbS1icmVha3BvaW50OiA0NjBweDtcbiRsYXJnZS1icmVha3BvaW50OiA3NjdweDtcbiR4bC1icmVha3BvaW50OiAxMjAwcHg7XG5cbkBtaXhpbiBzbSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JHNtLWJyZWFrcG9pbnQpe1xuICAgICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBsZyB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGxhcmdlLWJyZWFrcG9pbnQpe1xuICAgICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiB4bCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JHhsLWJyZWFrcG9pbnQpe1xuICAgICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHNldFBsYWNlaG9sZGVyVmFsdWVzIHtcbiAgJjo6LW1vei1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnQ7fVxuICAmOi1tb3otaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50O31cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBAY29udGVudDt9XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50O31cbiAgJjo6cGxhY2Vob2xkZXIge0Bjb250ZW50O31cbn1cblxuXG5AbWl4aW4gZmlyZWZveCB7XG4gIEBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpIHtcbiAgICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBlZGdlIHtcbiAgQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOmF1dG8pIHtcbiAgICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpZSB7XG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gc2FmYXJpIHtcbiAgQG1lZGlhIG5vdCBhbGwgYW5kIChtaW4tcmVzb2x1dGlvbjouMDAxZHBjbSl7XG4gICAgICBAc3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTpub25lKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gIH1cbn1cblxuLy8gQGtleWZyYW1lcyBhY2Nlc3MtZ3JhbnRlZCB7IDAlIHtiYWNrZ3JvdW5kLWNvbG9yOiAjMGUyMzNhO2NvbG9yOiAjZmZmO30gMTAwJSB7YmFja2dyb3VuZC1jb2xvcjogIzBiM2U3NzsgY29sb3I6d2hpdGV9IH1cbkBrZXlmcmFtZXMgYWNjZXNzLWRlbmllZCB7XG4gIDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7fVxuICAyNSUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtIDVweCk7fVxuICA1MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO31cbiAgNzUlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSA1cHgpO31cbiAgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO31cbn07XG5ALXdlYmtpdC1rZXlmcmFtZXMgYWN0aW9uIHsgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOyB9IDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIyLjVweCk7IH0gfTtcbkBrZXlmcmFtZXMgYWN0aW9uIHsgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOyB9IDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIyLjVweCk7IH0gfTtcblxuYm9keS5hZ2UtcmVzdHJpY3RlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmRpdi5hZ2UtcmVzdHJpY3RlZCB7XG4gIGhlaWdodDoxMDAlO1xuICB3aWR0aDoxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmc6MnJlbTtcbiAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC41cyBlYXNlLWluO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuICBvcGFjaXR5OjE7XG4gIHotaW5kZXg6IDIwO1xuICB0b3A6IDA7XG5cbiAgLy8gJi5hY2Nlc3MgLmlucHV0LWNvbnRhaW5lciB7IGFuaW1hdGlvbjogYWNjZXNzLWdyYW50ZWQgMC40czsgfVxuICAmLmFuaW1hdGVPdXQge3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt9XG5cbiAgZGl2LmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNjU1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OjA7XG4gICAgICB0b3A6NTAlO1xuICAgICAgaGVpZ2h0OjgwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgfVxuXG4gIGRpdi50ZXh0LWJveCB7XG5cbiAgICAgIGZvcm0ge1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgZm9udC1mYW1pbHk6ICRicm93bi1ib2xkO1xuXG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICBjb2xvcjojMDAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxNTVweCk7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIG91dGxpbmU6bm9uZTtcbiAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgLy8gdGV4dC1zaGFkb3c6IDAgMCAwICM1MTYzNmM7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGhlaWdodDogMjE1cHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA0MHB4O1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA4NHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE0MHB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMjVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDkwcHg7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDQwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXYuaW5wdXQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogIzA5MTUyNDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuNXMgZWFzZSwgb3BhY2l0eSAwLjVzIGVhc2UsIGxlZnQgMC41cyBlYXNlO1xuXG4gICAgICAgICAgICAgIEBrZXlmcmFtZXMgYWdlY2hlY2tlci1mb2N1cy1ibGluayB7XG4gICAgICAgICAgICAgICAgMjAlLCA4MCUge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgNDAlLCA1NSUge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5mb2N1c2VkOm5vdCguZGVuaWVkKSB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICMxOTJkNDc7XG5cbiAgICAgICAgICAgICAgICAgIHNwYW4ubGluZS5pbi1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogIzI0NWY5ZDtcbiAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogYWdlY2hlY2tlci1mb2N1cy1ibGluayAxLjFzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBzcGFuLmxpbmUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6MjE1cHg7XG4gICAgICAgICAgICAgICAgICB3aWR0aDoxNTVweDtcbiAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0M3B4O1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMjVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgLnRleHQtYm94IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM1MTYzNmM7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogODZweDtcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUxNjM2YztcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAmLmluLWZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAmLmRlbmllZCB7XG4gICAgICAgICAgICAgICAgLmlucHV0LWlubmVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBhbmltYXRpb246IGFjY2Vzcy1kZW5pZWQgMC4zcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3Bhbi5saW5lIHtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgJiNpbnB1dC15ZWFyIHtcbiAgICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMzBweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC8vIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICBsZXR0ZXItc3BhY2luZzogMnZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogNXZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgIHdpZHRoOjIwdnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgLy8gdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNiUpO1xuXG5cbiAgICAgICAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBzZXRQbGFjZWhvbGRlclZhbHVlcyB7IGxldHRlci1zcGFjaW5nOiAxLjh2dyB9XG5cbiAgICAgICAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSB4bCB7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzLjh2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgZm9udC1zaXplOiA3dnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHdpZHRoOjMydnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIC8vIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDclKTtcblxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBzZXRQbGFjZWhvbGRlclZhbHVlcyB7IGxldHRlci1zcGFjaW5nOiAzLjR2dyB9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgbGcge1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBsZXR0ZXItc3BhY2luZzogNi44dnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGZvbnQtc2l6ZTogMTB2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgd2lkdGg6NTB2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgLy8gdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNyUpO1xuXG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIHNldFBsYWNlaG9sZGVyVmFsdWVzIHsgbGV0dGVyLXNwYWNpbmc6IDYuMXZ3IH1cbiAgICAgICAgICAgICAgICAgIC8vICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBzbSB7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGxldHRlci1zcGFjaW5nOiA4LjZ2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgZm9udC1zaXplOiAxNXZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB3aWR0aDo3MHZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCg3JSk7XG5cbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgc2V0UGxhY2Vob2xkZXJWYWx1ZXMgeyBsZXR0ZXItc3BhY2luZzogNy44dncgfVxuICAgICAgICAgICAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAgICAgICAvLyBzcGFuLmxpbmUge1xuICAgICAgICAgICAgICAgICAgLy8gICAgICY6Zmlyc3Qtb2YtdHlwZSB7IGxlZnQ6MjYlOyB9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgJjpudGgtb2YtdHlwZSgyKSB7IGxlZnQ6NTAlOyB9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgJjpudGgtb2YtdHlwZSgzKSB7IGxlZnQ6NzUlOyB9XG4gICAgICAgICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJiNpbnB1dC1tb250aCB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgICAgICAgICAgIC8vIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICBsZXR0ZXItc3BhY2luZzogNC40dnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgZm9udC1zaXplOiA1dnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgd2lkdGg6MTV2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNiUpO1xuXG4gICAgICAgICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgc2V0UGxhY2Vob2xkZXJWYWx1ZXMgeyBsZXR0ZXItc3BhY2luZzogMS40dnc7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIlKTt9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNCUpO1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4ydnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgZmlyZWZveCB7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjh2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIHhsIHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDd2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgZm9udC1zaXplOiA3dnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHdpZHRoOjI1dnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwJSk7XG5cbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgc2V0UGxhY2Vob2xkZXJWYWx1ZXMgeyBsZXR0ZXItc3BhY2luZzogMi44dnc7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIlKTt9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDE4LjUlKTtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBmaXJlZm94IHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgbGcge1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBsZXR0ZXItc3BhY2luZzogMTB2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgZm9udC1zaXplOiAxMHZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB3aWR0aDozNXZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMCUpO1xuXG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIHNldFBsYWNlaG9sZGVyVmFsdWVzIHsgbGV0dGVyLXNwYWNpbmc6IDN2dzt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMS41JSk7fVxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgxOC41JSk7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBmaXJlZm94IHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBzbSB7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxM3Z3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBmb250LXNpemU6IDE1dnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHdpZHRoOjUwdnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwJSk7XG5cbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgc2V0UGxhY2Vob2xkZXJWYWx1ZXMgeyBsZXR0ZXItc3BhY2luZzogM3Z3O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xLjUlKTt9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDE4LjUlKTtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBmaXJlZm94IHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgICAgICAgIHNwYW4ubGluZSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gJjpmaXJzdC1vZi10eXBlIHsgbGVmdDo1MCU7IH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgJi5pbml0IHtcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJiNpbnB1dC1kYXkge1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICAgICAgICAgICAgICAvLyBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgbGV0dGVyLXNwYWNpbmc6IDQuNHZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogNXZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgIHdpZHRoOjE1dnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTYlKTtcblxuICAgICAgICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIHNldFBsYWNlaG9sZGVyVmFsdWVzIHsgbGV0dGVyLXNwYWNpbmc6IDN2dzt9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNyUpO1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBsZXR0ZXItc3BhY2luZzogMi44dnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgeGwge1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBsZXR0ZXItc3BhY2luZzogN3Z3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBmb250LXNpemU6IDd2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgd2lkdGg6MjV2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAlKTtcblxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBzZXRQbGFjZWhvbGRlclZhbHVlcyB7IGxldHRlci1zcGFjaW5nOiA1LjJ2dzt9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwJSk7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC8vICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBsZyB7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxMHZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBmb250LXNpemU6IDEwdnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHdpZHRoOjM1dnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwJSk7XG5cbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgc2V0UGxhY2Vob2xkZXJWYWx1ZXMgeyBsZXR0ZXItc3BhY2luZzogN3Z3O31cbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTklKTtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIHNtIHtcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEzdnc7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgIGZvbnQtc2l6ZTogMTV2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgd2lkdGg6NTB2dztcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAlKTtcblxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBzZXRQbGFjZWhvbGRlclZhbHVlcyB7IGxldHRlci1zcGFjaW5nOiA3dnc7fVxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMCUpO1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDguNXZ3O1xuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAgICAgICBzcGFuLmxpbmUge1xuICAgICAgICAgICAgICAgICAgICAgIC8vICY6Zmlyc3Qtb2YtdHlwZSB7IGxlZnQ6NTAlOyB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICYuaW5pdCB7XG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTowO1xuICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICB9XG5cbiAgICAgaDMge1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIHRyYW5zaXRpb246MC4ycyBlYXNlO1xuICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgbWFyZ2luLXRvcDoxcmVtO1xuICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICYjZWlnaHRlZW4ge1xuICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICB9XG5cbiAgICAgICAgICYuZGVuaWVkICB7XG4gICAgICAgICAgJiNlaWdodGVlbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgY29sb3I6ICNmZjIxMjEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYWNjZXNzLWRlbmllZC15ZWFyIDAuM3M7XG4gICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICB9XG4gIH1cblxuICAubG9nby13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAubG9nbyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYwcHgpe1xuICBkaXYuYWdlLXJlc3RyaWN0ZWQge1xuICAgICAgZGl2LmNvbnRhaW5lciB7XG4gICAgICAgICAgZGl2LnRleHQtYm94IHtcbiAgICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGl2LmlucHV0LWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0OjQ1MHB4KXtcblxuICBkaXYuYWdlLXJlc3RyaWN0ZWQge1xuICAgICAgZGl2LmNvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGl2LnRleHQtYm94IHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgICBkaXYuaW5wdXQtY29udGFpbmVyICB7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MzUwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjM1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDRyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgJiNpbnB1dC15ZWFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDUxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtsZXR0ZXItc3BhY2luZzogNDdweDt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7bGV0dGVyLXNwYWNpbmc6IDQ3cHg7fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBsZXR0ZXItc3BhY2luZzogNDdweDt0cmFuc2Zvcm06dHJhbnNsYXRlKDglLCAtMi41JSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaXJlZm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA0NHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAmI2lucHV0LW1vbnRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MjAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA1N3B4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDM1cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMzVweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtsZXR0ZXItc3BhY2luZzogMjVweDt9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7bGV0dGVyLXNwYWNpbmc6IDM1cHg7Zm9udC1zaXplOiA4MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLCAwKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgbGV0dGVyLXNwYWNpbmc6IDEuNXJlbTt0cmFuc2Zvcm06dHJhbnNsYXRlKDglLCAtMi41JSl9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAmI2lucHV0LWRheSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjIwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNTJweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgzNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDM1cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge2xldHRlci1zcGFjaW5nOiA0MHB4OyBmb250LXNpemU6IDEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLCAwKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgbGV0dGVyLXNwYWNpbmc6IDQwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxMCUsIC0yLjUlKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG59IiwiI2xvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgei1pbmRleDogNTtcbn1cblxuI3BhZ2UtbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICNtZW51LWl0ZW0tMTQ1LFxuICAjbWVudS1pdGVtLTE0NiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHVsLFxuICB1bCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgfVxuXG4gIHVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIHVsIGxpIGEge1xuICAgIGZvbnQtZmFtaWx5OiAkYnJvd24tYm9sZDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjMzMzO1xuICB9XG5cblxufVxuXG5AbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgLnNvY2lhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMjVweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDZweCA2cHggIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLmFjLW92ZXJsYXkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogOTk5OTg7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogd2FpdDtcbn1cblxuLmFjLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMzYwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZzogMjBweCAyMHB4IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBvcGFjaXR5OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5hYy1jb250YWluZXIgaDIge1xuICBmb250LWZhbWlseTogYWFsYm9yZ3JlZ3VsYXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICRnb2xkZW47XG4gIG1hcmdpbjogMjBweCAwIDAgMDtcbn1cblxuLmFjLWNvbnRhaW5lciBoMyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiAjNjQ5RDA5O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cblxuLmFjLWNvbnRhaW5lciBwIHtcbiAgZm9udC1mYW1pbHk6ICRicm93bi1saWdodDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmFjLWNvbnRhaW5lciBpbnB1dCB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBmb250LWZhbWlseTogYWFsYm9yZ3JlZ3VsYXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICM3ZjdmN2Y7XG59XG5cbi5hYy1jb250YWluZXIgLmFjLWl0ZW0gaW5wdXQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uYWMtY29udGFpbmVyIC5hYy1pdGVtIGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6ICRicm93bi1ib2xkO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGNvbG9yOiAjN2Y3ZjdmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5hYy1jb250YWluZXIgLmFjLWl0ZW0uYWMtc21hbGwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAyNSU7XG4gIG1hcmdpbi1yaWdodDogNSU7XG59XG5cbi5hYy1jb250YWluZXIgLmFjLWl0ZW0uYWMtbGFyZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA0MCU7XG59XG5cbi5hYy1jb250YWluZXIgYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy9cbi8vIEVycm9yc1xuLy9cblxuLmFjLWNvbnRhaW5lciAuZXJyb3JzIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgZm9udC1mYW1pbHk6ICRicm93bi1saWdodDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBjb2xvcjogI0ZGMUYxRjtcbn1cblxuLmFjLWNvbnRhaW5lciAuZXJyb3JzIHVsLFxuLmFjLWNvbnRhaW5lciAuZXJyb3JzIGxpIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCAwIDNweDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYWMtY29udGFpbmVyIC5lcnJvcnMgbGkgc3BhbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICNGRjFGMUY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBsaW5lLWhlaWdodDogMTNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDAgI2ZmZjtcbiAgZm9udC1mYW1pbHk6IGFyaWFsO1xufVxuXG4uYWMtY29udGFpbmVyIC5maWVsZHMge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG4iLCIudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIC50ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LWJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiAkYnJvd24tbGlnaHQ7XHJcbiAgZm9udC1zaXplOiAxMDAlO1xyXG59XHJcbiIsIi5ncmlkLWl0ZW0ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kIDFzIGxpbmVhcik7XHJcblxyXG5cdC5ncmlkLWl0ZW0tb3ZlcmxheSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ei1pbmRleDogNTtcclxuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC41cyBlYXNlLWluLW91dCk7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC41cyBlYXNlLWluLW91dCk7XHJcblx0XHRcdG9wYWNpdHk6IDAuNTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5ncmlkLWl0ZW0tY29udGVudCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Ji5pY29uLXZpZXcgLmdyaWQtaXRlbS10ZXh0LFxyXG5cdFx0Ji5pY29uLXZpZXcgLmdyaWQtaXRlbS10aXRsZSB7XHJcblx0XHRcdGNvbG9yOiAjMzMzO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuZ3JpZC1pdGVtLWlubmVyIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogNTBweDtcclxuXHRcdGxlZnQ6IDEwJTtcclxuXHRcdHJpZ2h0OiAxMCU7XHJcblx0XHR6LWluZGV4OiAyMDtcclxuXHRcdHBhZGRpbmc6IDAgMTBweDtcclxuXHR9XHJcblx0LmdyaWQtaXRlbS1pY29uIHtcclxuXHRcdG1heC13aWR0aDogMTQwcHg7XHJcblx0fVxyXG5cclxuXHQuZ3JpZC1pdGVtLXRpdGxlIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQtc3R5bGUoZ3JpZC1pdGVtLXRpdGxlKTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0fVxyXG5cdC5ncmlkLWl0ZW0tdGV4dCB7XHJcblx0XHRmb250LWZhbWlseTogJGJyb3duLWxpZ2h0O1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblx0LmdyaWQtaXRlbS1idXR0b24ge1xyXG5cdFx0QGluY2x1ZGUgYm9yZGVyLWJ1dHRvbjtcclxuXHRcdG1hcmdpbi10b3A6IDE4cHg7XHJcblx0fVxyXG59XHJcblxyXG4vLyBmcm9udHBhZ2Ugb2NjYXNpb25zIChkbyBub3QgaG92ZXIpXHJcbi5mcm9udHBhZ2UtYmFzaXMtZ3JpZC1wcm9tb3RlZCB7XHJcblx0LmdyaWQtaXRlbS1vdmVybGF5IHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIE1vZGVuaXpyXHJcbi5jc3NncmFkaWVudHMgLmdyaWQtaXRlbSB7XHJcblx0LmdyaWQtaXRlbS1vdmVybGF5IHtcclxuXHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwKSAwJSwgcmdiYSgwLDAsMCwwLjgpIDEwMCUpO1xyXG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDAlLCByZ2JhKDAsMCwwLDAuOCkgMTAwJSk7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDApIDAlLCByZ2JhKDAsMCwwLDAuOCkgMTAwJSk7XHJcblx0fVxyXG59XHJcblxyXG4vLyBJbnZlcnRlZFxyXG4uZ3JpZC1pdGVtLmdyaWQtaXRlbS1pbnZlcnRlZCB7XHJcblx0LmdyaWQtaXRlbS10ZXh0LFxyXG5cdC5ncmlkLWl0ZW0tdGl0bGUge1xyXG5cdFx0Y29sb3I6IGJsYWNrO1xyXG5cdH1cclxufVxyXG5cclxuLmNzc2dyYWRpZW50cyAuZ3JpZC1pdGVtLmdyaWQtaXRlbS1pbnZlcnRlZCB7XHJcblx0LmdyaWQtaXRlbS1vdmVybGF5IHtcclxuXHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTAsMjUwLDI1MCwwKSAwJSwgcmdiYSgyNTAsMjUwLDI1MCwwLjgpIDEwMCUpO1xyXG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1MCwyNTAsMjUwLDApIDAlLCByZ2JhKDI1MCwyNTAsMjUwLDAuOCkgMTAwJSk7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1MCwyNTAsMjUwLDApIDAlLCByZ2JhKDI1MCwyNTAsMjUwLDAuOCkgMTAwJSk7XHJcblx0fVxyXG59XHJcbiIsIiRib3gtZ3JpZC1zbWFsbC1oZWlnaHQ6XHRcdDI1dnc7XHJcbiRib3gtZ3JpZC1sYXJnZS1oZWlnaHQ6XHRcdDUwdnc7XHJcbiRib3gtZ3JpZC1tb2JpbGUtaGVpZ2h0Olx0MzB2dztcclxuJGFycm93LWNvbG9yOiAjZjJmMmYyO1xyXG4kbWVkaXVtLWRvd246IFwiI3skc2NyZWVufSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSlcIjtcclxuXHJcbi5ib3gtZ3JpZC1jb250YWluZXIge31cclxuXHJcbi5ib3gtZ3JpZC1yb3cge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5ib3gtZ3JpZC1pbWFnZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm9uZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIG1pbi1oZWlnaHQ6ICRib3gtZ3JpZC1tb2JpbGUtaGVpZ2h0O1xyXG59XHJcblxyXG4ucGFnZS10ZW1wbGF0ZS10aW1lbGluZSAueHNtYWxsLFxyXG4ucGFnZS10ZW1wbGF0ZS10aW1lbGluZSAuc21hbGwsXHJcbi5wYWdlLXRlbXBsYXRlLXRpbWVsaW5lIC5tZWRpdW0sXHJcbi5wYWdlLXRlbXBsYXRlLXRpbWVsaW5lIC5sYXJnZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcclxuXHQucGFnZS10ZW1wbGF0ZS10aW1lbGluZSAueHNtYWxsIHsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcclxuXHQucGFnZS10ZW1wbGF0ZS10aW1lbGluZSAuc21hbGwgeyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcclxuXHQucGFnZS10ZW1wbGF0ZS10aW1lbGluZSAubWVkaXVtIHsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkge1xyXG5cdC5wYWdlLXRlbXBsYXRlLXRpbWVsaW5lIC5sYXJnZSB7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cclxufVxyXG5cclxuLy8gbW9iaWxlIGdyaWRcclxuQG1lZGlhICN7JG1lZGl1bS1kb3dufSB7XHJcbiAgLm0tYm94LWdyaWQtMS0yIHsgd2lkdGg6IDEwMCU7IH1cclxuICAubS1ib3gtZ3JpZC0yLTIgeyB3aWR0aDogMTAwJTsgfVxyXG4gIC5tLWJveC1zbWFsbCB7IG1pbi1oZWlnaHQ6IDUwdnc7IH1cclxuICAubS1ib3gtdGFsbCB7IG1pbi1oZWlnaHQ6IDEwMHZ3OyB9XHJcbn1cclxuXHJcbi8vIGRlc2t0b3AgZ3JpZFxyXG5AbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuICAuYm94LWdyaWQtMS0xLFxyXG4gIC5ib3gtZ3JpZC0xLTIsXHJcbiAgLmJveC1ncmlkLTItMixcclxuICAuYm94LWdyaWQtMS0zLFxyXG4gIC5ib3gtZ3JpZC0yLTMsXHJcbiAgLmJveC1ncmlkLTMtMyxcclxuICAuYm94LWdyaWQtMS00LFxyXG4gIC5ib3gtZ3JpZC0yLTQsXHJcbiAgLmJveC1ncmlkLTMtNCxcclxuICAuYm94LWdyaWQtNC00IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgLmJveC1ncmlkLTEtMSB7IHdpZHRoOiAxMDAlOyB9XHJcbiAgLmJveC1ncmlkLTEtMiB7IHdpZHRoOiA1MCU7IH1cclxuICAuYm94LWdyaWQtMi0yIHsgd2lkdGg6IDEwMCU7IH1cclxuICAuYm94LWdyaWQtMS0zIHsgd2lkdGg6IDMzLjMzMzMlOyB9XHJcbiAgLmJveC1ncmlkLTItMyB7IHdpZHRoOiA2Ni42NjY2JTsgfVxyXG4gIC5ib3gtZ3JpZC0zLTMgeyB3aWR0aDogMTAwJTsgfVxyXG4gIC5ib3gtZ3JpZC0xLTQgeyB3aWR0aDogMjUlOyB9XHJcbiAgLmJveC1ncmlkLTItNCB7IHdpZHRoOiA1MCU7IH1cclxuICAuYm94LWdyaWQtMy00IHsgd2lkdGg6IDc1JTsgfVxyXG4gIC5ib3gtZ3JpZC00LTQgeyB3aWR0aDogMTAwJTsgfVxyXG5cclxuICAuYm94LWdyaWQtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cclxuICAuYm94LWdyaWQtc21hbGwgeyBtaW4taGVpZ2h0OiAkYm94LWdyaWQtc21hbGwtaGVpZ2h0OyB9XHJcbiAgLmJveC1ncmlkLXRhbGwgeyBtaW4taGVpZ2h0OiAkYm94LWdyaWQtbGFyZ2UtaGVpZ2h0OyB9XHJcbn1cclxuXHJcbi8vIG5vbi1ncmlkIHN0eWxpbmdcclxuLmJveC1ncmlkLWNvbnRlbnQge1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG5cdGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cclxuXHQtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG5cdC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHQtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IC8qIFNhZmFyaSA2LjErICovXHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gIHBhZGRpbmc6IDQwcHggMzBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICYuYm94LWdyaWQtbGlnaHQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgfVxyXG5cclxuICAmLmJveC1ncmlkLWRhcmsge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcclxuICB9XHJcblxyXG4gIGgyIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcImFhbGJvcmdyZWd1bGFyXCIsIFwiSGVsdmV0aWNhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiA0MnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDQ3cHg7XHJcbiAgICBjb2xvcjogJGdvbGRlbjtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIGhyIHtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgfVxyXG5cclxuICAuZGVzY3JpcHRpb24ge1xyXG4gICAgY29sb3I6IGdyYXk7XHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwIHtcclxuICAgICAgZm9udC1mYW1pbHk6IFwiYnJvd25saWdodFwiLCBcIkhlbHZldGljYVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gR3JpZCBhcnJvd3NcclxuXHJcbi5ib3gtZ3JpZC1yb3cge1xyXG4gIC5hcnJvdy10b3AsIC5hcnJvdy1yaWdodCwgLmFycm93LWJvdHRvbSwgLmFycm93LWxlZnQge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjI1ZGVnLCB0cmFuc3BhcmVudCA0OSUsICNGRkYgNDklKTtcclxuXHR9XHJcblx0LmFycm93LXRvcCB7XHJcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0Ji5ncmV5MjQyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIyNWRlZywgdHJhbnNwYXJlbnQgNTAlLCAkYXJyb3ctY29sb3IgNTAlKTsgfVxyXG5cdH1cclxuXHQuYXJyb3ctcmlnaHQge1xyXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsLTUwJSkgcm90YXRlKDQ1ZGVnKTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwtNTAlKSByb3RhdGUoNDVkZWcpO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdCYuZ3JleTI0MiB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsIHRyYW5zcGFyZW50IDUwJSwgJGFycm93LWNvbG9yIDUwJSk7IH1cclxuXHRcdCYuYXJyb3cyNSB7IHRvcDogMjUlOyB9XHJcblx0XHQmLmFycm93NzUgeyB0b3A6IDc1JTsgfVxyXG5cdH1cclxuXHQuYXJyb3ctYm90dG9tIHtcclxuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xyXG5cdFx0Ym90dG9tOiAtMjBweDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdFx0Ji5ncmV5MjQyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIyNWRlZywgdHJhbnNwYXJlbnQgNTAlLCAkYXJyb3ctY29sb3IgNTAlKTsgfVxyXG5cdH1cclxuXHQuYXJyb3ctbGVmdCB7XHJcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwtNTAlKSByb3RhdGUoLTEzNWRlZyk7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsLTUwJSkgcm90YXRlKC0xMzVkZWcpO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHRsZWZ0OiAtMjBweDtcclxuXHRcdCYuZ3JleTI0MiB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsIHRyYW5zcGFyZW50IDUwJSwgJGFycm93LWNvbG9yIDUwJSk7IH1cclxuXHRcdCYuYXJyb3cyNSB7IHRvcDogMjUlOyB9XHJcblx0XHQmLmFycm93NzUgeyB0b3A6IDc1JTsgfVxyXG5cdH1cclxufVxyXG4iLCIkc3F1YXJlOiA2MHB4O1xyXG5cclxuLnNxdWFyZS1saW5lIHtcclxuICBoZWlnaHQ6ICRzcXVhcmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5zcXVhcmUtbGluayB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6ICRzcXVhcmU7XHJcbiAgaGVpZ2h0OiAkc3F1YXJlO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogJHNxdWFyZS8yO1xyXG4gIGJhY2tncm91bmQ6ICRnb2xkZW47XHJcbiAgei1pbmRleDogMTAwO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyk7XHJcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGdvbGRlbiwgMTAlKTtcclxuICB9XHJcblxyXG4gIC5zcXVhcmUtbGluay10ZXh0IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkYnJvd24tbGlnaHQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTRweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAkc3F1YXJlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg0NWRlZykpO1xyXG4gIH1cclxufVxyXG4iLCJcclxuLmxzLXBsYXl2aWRlbyB7XHJcblx0d2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcblx0aGVpZ2h0OiAxMDBweCAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChhc3NldHMvaW1hZ2VzL3BsYXkucG5nKSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweCAhaW1wb3J0YW50O1xyXG5cdG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcblx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG59XHJcblxyXG4uc3ZnIC5scy1wbGF5dmlkZW8ge1xyXG4gIHdpZHRoOiAxMjBweCAhaW1wb3J0YW50O1xyXG5cdGhlaWdodDogMTIwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9wbGF5LnN2ZycpICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG4iLCIuc29jaWFsIHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0cGFkZGluZzogNnB4IDIwcHg7XHJcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JmYmZiZjtcclxuXHRtYXJnaW4tcmlnaHQ6IDI3cHg7XHJcbn1cclxuLmZhY2Vib29rIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9mYWNlYm9vay5wbmcnKTtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcbi5zdmcgLmZhY2Vib29rIHtcclxuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9mYWNlYm9vay5zdmcnKTtcclxufVxyXG4uc2hhcmUtc3F1YXJlIC5mYWNlYm9vayB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZmFjZWJvb2tfd2hpdGUucG5nJyk7XHJcblx0YmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMTBweDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRoZWlnaHQ6IDMwcHg7XHJcbn1cclxuLnN2ZyAuc2hhcmUtc3F1YXJlIC5mYWNlYm9vayB7XHJcblx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZmFjZWJvb2tfd2hpdGUuc3ZnJyk7XHJcblx0YmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMTBweDtcclxufVxyXG4iLCIuYm90dGxlIHtcblx0d2lkdGg6IGF1dG87XG5cdGhlaWdodDogY2FsYygxMDB2aCAtIDc1cHgpO1xuXHRvcGFjaXR5OiAuOTU7XG59XG5cbi8qKi9cbi8qIERlZmF1bHQgbGF5b3V0Ki9cbi8qKi9cblxuLnByb2R1Y3QtdG9wLWltYWdlcyA+IGRpdiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnByb2R1Y3QtdG9wLWltYWdlcyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAxNXB4O1xuXHRsZWZ0OiAxMHZ3O1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTtcbn1cblxuLyoqL1xuLyogQ2VudGVyZWQgbGF5b3V0Ki9cbi8qKi9cblxuLnByb2R1Y3QtZGlzcGxheS1jZW50ZXIgLnByb2R1Y3QtdG9wLWltYWdlcyB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcm9kdWN0LWRpc3BsYXktY2VudGVyIC5jYXJldCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi5wcm9kdWN0LW1lbnUge1xuICAucGFydCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUtBQTs7Ozs7O0VBTUU7QUdxV0UsQUFBQSxJQUFJLEFBQUEsbUJBQW1CLENBQUM7RUFDdEIsV0FBVyxFQUFFLFNBQVMsR0FDdkI7O0FBRUQsQUFBQSxJQUFJLEFBQUEsb0JBQW9CLENBQUM7RUFDdkIsV0FBVyxFQUFFLGVBQThCO0VBQzNDLEtBQUssRUFqRU0sQ0FBQyxHQWtFYjs7QUFFRCxBQUFBLElBQUksQUFBQSx5QkFBeUIsQ0FBQztFQUM1QixXQUFXLEVBQUUscUNBQWdDO0VBQzdDLEtBQUssRUF0RU0sQ0FBQyxHQXVFYjs7QUFFRCxBQUFBLElBQUksQUFBQSxxQkFBcUIsQ0FBQztFQUN4QixXQUFXLEVBQUUseUNBQStCO0VBQzVDLEtBQUssRUExRU0sU0FBK0IsR0EyRTNDOztBQUVELEFBQUEsSUFBSSxBQUFBLDBCQUEwQixDQUFDO0VBQzdCLFdBQVcsRUFBRSw4REFBaUM7RUFDOUMsS0FBSyxFQS9FTSxTQUErQixHQWdGM0M7O0FBRUQsQUFBQSxJQUFJLEFBQUEsb0JBQW9CLENBQUM7RUFDdkIsV0FBVyxFQUFFLHlDQUE4QjtFQUMzQyxLQUFLLEVBbkZNLFNBQStCLEdBb0YzQzs7QUFFRCxBQUFBLElBQUksQUFBQSx5QkFBeUIsQ0FBQztFQUM1QixXQUFXLEVBQUUsOERBQWdDO0VBQzdDLEtBQUssRUF4Rk0sU0FBK0IsR0F5RjNDOztBQUVELEFBQUEsSUFBSSxBQUFBLHFCQUFxQixDQUFDO0VBQ3hCLFdBQVcsRUFBRSx5Q0FBK0I7RUFDNUMsS0FBSyxFQTVGTSxTQUErQixHQTZGM0M7O0FBRUQsQUFBQSxJQUFJLEFBQUEsMEJBQTBCLENBQUM7RUFDN0IsV0FBVyxFQUFFLCtEQUFpQztF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 */
